标准
c
库函数
不知道行不行,如果在win32环境下,调用win32
API绝对是可以的,用shellexecute
函数
启动
程序
,
命令行参数
在程序
名称
后按
空格
隔开,在调用程序
main函数
中使用string
strLine=::AfxGetApp()->m_lpCmdLine;就可以获取命令行参数了,在开发多进程项目的时候用的比较多,常用于进程间启动
参数传递
。
在头文件中添加
afx_msg void OnNetPortSet(void);
在源文件中添加
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWndEx)
ON_COMMAND(ID_MODIFYPORT, &CMainFrame::OnNetPortSet)
END_MESSAGE_MAP()
ID_MODIFYPORT是菜单项的ID号,OnNetPortSet()菜单项的消息处理函数。你就可以在这里面添加用户选择该菜单项后所做的事情了啊
如果要让d出式菜单的某个菜单项,灰化,使用下面这个函数吧EnableMenuItem(m_hMainMenu, i, MF_BYPOSITION |MF_GRAYED)
具体函数使用说明如下
允许或禁止指定的菜单条目
BOOL EnableMenuItem(HMENU hMenu,UINT uIDEnableItem, UINT uEnable);
返回值 : BOOL 判断是否成功
参数表 :
参数 类型及说明
hMenu ,菜单句柄
wIDEnableItem ,欲允许或禁止的一个菜单条目的标识符。如果在wEnable参数中设置了MF_BYCOMMAND标志,这个参数就代表欲改变菜单条目的命令ID。如设置的是MF_BYPOSITION,则这个参数代表菜单条目在菜单中的位置(第一个条目肯定是零)
wEnable ,参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数。对于这个函数,只能指定下述常数:MF_BYCOMMAND,MF_BYPOSITION,MF_ENABLED,MF_DISABLED以及MF_GRAYED
这些值有下列含义:
· MF_BYCOMMAND 指定参数给出已存在的菜单项的命令ID号。此为缺省值。
· MF_BYPOSITION 指定参数给出已存在菜单项的位置。第一项所在的位置是0。
· MF_DISABLED 使菜单项无效,以便它不能被选择,但不变灰。
· MF_ENABLED 使菜单项有效,以便它能够被选择,并可从变灰的状态中恢复出来。
· MF_GRAYED 使菜单项无效,以便它不能被选择并同时变灰。
afx_msgvoidOnDrawItem(intnIDCtl,LPDRAWITEMSTRUCTlpDrawItemStruct);
Parameters
nIDCtl
存储发送
WM_DRAWITEM
消息的控件ID,如果是菜单发送的,nIDCtl
的值为0。
lpDrawItemStruct
一个指向DRAWITEMSTRUCT
结构体
的指针,该结构体保存有关要被绘制的项目与绘制所需要的类型等星系。
Remarks
当自绘按钮(owner-draw
button),下拉
列表框
(combo
box),列表框(list
box)视觉属性,或者菜单发生变化时,框架为他们的owner调用该函数。
DRAWITEMSTRUCT结构的itemAction
成员定义了要进行的绘制 *** 作行为。该值确定了所需的绘制动作。
在处理完此消息之前,应用程序应当确保由DRAWITEMSTRUCT
结构的成员hDC
标识的
设备上下文
还原到默认状态。
如果上面结构的成员hwndItem
指向CButton,CMenu,CListBox或者
CComboBox
对象,那么就调用相应类的DrawItem
虚函数
。重载相应类的DrawItem
成员函数
来绘制各个项。
OnDrawItem()这个函数是自已去绘画一个控件,根据你想要的形状,图案它是建立一个控件的外表而用到的
可以这样理解,OnDrawItem是画窗口中的子控件的,因为它的入口参数LPDRAWITEMSTRUCT带入不同子控件的相关参数,而且,你得把字控件设置成“自画”类型,才会调用到OnDrawItem,顺便说一下自画,不是所有设置成自画类型的控件都会调用父窗口的OnDrawItem,例如ListBox的自画,你就必须重载CListBox的DrawItem方法和MeasureItem方法才可以,但象菜单,按钮等的自画则会调用OnDrawItem。OnPaint和OnDrawItem不在一个范畴内,他是WM_PAINT的响应函数,凡是基于CWnd的类都有OnPaint事件发生,就是说凡是窗口都有WM_PAINT事件发生。
以上就是关于MFC按钮调用一程序,如何执行程序命令行参数呢全部的内容,包括:MFC按钮调用一程序,如何执行程序命令行参数呢、MFC怎样给菜单设置带参数的函数、谁帮忙介绍一下mfc里OnDrawItem这个函数以及其参数谢谢了。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)