首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

初学mfc,对消息传递机制不是很懂。看上上面的

2012-08-29 
初学mfc,对消息传递机制不是很懂。。。看下下面的:C/C++ codeBEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)//{{A

初学mfc,对消息传递机制不是很懂。。。看下下面的:

C/C++ code
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)    //{{AFX_MSG_MAP(CMainFrame)    ON_WM_CREATE()    ON_COMMAND(ID_TEST,   OnTest)    ON_COMMAND(ID_TEST001,OnTest001)//这个和下面的那个要是调换顺序的话,执行的结构都不一样    ON_COMMAND(IDM_SHOW,  OnShow)            //}}AFX_MSG_MAPEND_MESSAGE_MAP()

C/C++ code
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)    //{{AFX_MSG_MAP(CMainFrame)    ON_WM_CREATE()    ON_COMMAND(ID_TEST,   OnTest)    ON_COMMAND(IDM_SHOW,  OnShow)//这个和下面的那个要是调换顺序的话,执行的结构都不一样    ON_COMMAND(ID_TEST001,OnTest001)            //}}AFX_MSG_MAPEND_MESSAGE_MAP()


C/C++ code
void CMainFrame::OnTest001() //如果ON_COMMAND(ID_TEST001,OnTest001)在上面,就执行这条函数{    MessageBox("Test001");}void CMainFrame::OnShow() //如果ON_COMMAND(ID_TEST001,OnTest001)在下面,就执行这条函数{    MessageBox("CMainFrame::OnShow()");    // TODO: Add your command handler code here    }


[解决办法]
如果改了顺序不一样,那就怀疑
ID_TEST,ID_TEST001这两个的ID值可能是相同的.

否则,除非你点击了不同的命令,否则跟顺序真无关的.

[解决办法]
ID不要重复 可以手动维护一下
[解决办法]
你应该是手工修改了ID吧,按理说自动生成的ID是不会重复的。

热点排行