我的头文件里写的是
public:afx_msg void OnBnClickedPrint();
.cpp文件中写的是:
void CMyWordSampleDlg::OnBnClickedPrint()
{
prdlg = new CDlgPrint(this);
prdlg->DoModal();
if(prdlg != NULL)
{
delete prdlg;
prdlg = NULL;
}
}
ON_COMMAND(IDC_BUTTONPRINT1,OnBnClickedPrint);
编译总是通不过,请问一下,哪位知道这是什么原因?
ON_COMMAND怎么用?
答案:2 悬赏:10 手机版
解决时间 2021-01-03 14:27
- 提问者网友:杀生予夺
- 2021-01-02 21:03
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-01-02 21:49
ON_COMMAND是MFC提供的宏,实现命令消息(如菜单、工具栏的选项消息)的消息响应函数的注册。
使用方法为ON_COMMAND(消息ID, 响应函数名)
注册了响应函数之后,一旦主窗口接收到该命令消息,程序就会调用我们提供的消息响应函数进行处理
使用方法为ON_COMMAND(消息ID, 响应函数名)
注册了响应函数之后,一旦主窗口接收到该命令消息,程序就会调用我们提供的消息响应函数进行处理
全部回答
- 1楼网友:拜訪者
- 2021-01-02 22:37
在m f c应用程序中传输的消息有三种类型:窗口消息、命令消息和控件通知。
窗口消息(window message)一般与窗口的内部运作有关,如创建窗口、绘制窗口和销毁窗
口等。通常,消息是从系统发送到窗口,或从窗口发送到窗口。
若需要窗口消息的完全的列表,请参考m f c文档。
命令消息
命令消息一般与处理用户请求相关,当用户单击一个菜单项或工具栏时,命令消息产生,
并被发送到能处理该请求的类对象(如,装载文件、编辑文本和保存选项等)。
控件通知
通常,控件通知在某些重要事件发生时,由控件窗口发送到父窗口,如打开一个组合框。
控件通知为父窗口进一步控制子窗口提供了机会。例如,打开一个组合框时,父窗口可以用
组合框初建时得不到的消息填充它。
on_command 和on_message都是将消息处理函数加入消息路由表中,但是on_command对应的消息id一直都是wm_command,而on_message的消息id为on_command的第一个参数
参考资料: visual c++mfc编程实例
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |