打天ClassWizard->Message Maps
在message框中选WM_LBTTONxxx(自定),再点Add function.
在message框中选WM_LBTTONxxx(自定),再点Add function.
解决方案 »
- MFC中重载OnOk()和OnCancle() 不起作用,怎么解决……
- 如何把Word功能嵌入到VC的程序中!
- 请问如何快速枚举局域网内所有存活主机IP
- 如何让Dos下的屏幕输出信息取得并且显示在Dialog的Edit框中?请教用哪个API可以实现?
- 有关于系统时间的函数问题!请大家帮忙亚!谢谢!急死我了!
- 简单问题:答者有分!
- ===今天过后,希望明天我能振作===
- 急!!!关于html文件用缩略图显示的问题。
- vc下怎样编c语言程序
- 关于与硬件设备进行232通讯的高难问题!(必须熟悉硬件底层)真的很难!!!
- in which place i can find the most beautiful reference answer about mfc (in chinese)?
- 我在ASP组件中(ATL)加了个方法OnTop,如下-》 (好急的问题)
你只要在把如下代码:
ON_COMMANDEX(ID_DO1,OnDo)
ON_COMMANDEX(ID_DO2,OnDo)
ON_COMMANDEX(ID_DO2,OnDo)
......
ON_COMMANDEX(ID_DO16,OnDo)
加入
BEGIN_MESSAGE_MAP END_MESSAGE_MAP
之间即可
再在另一个函数里处理这个消息。
2。如果你是菜鸟。最适合你了(呵呵。。)
A。写一个函数。ALLMESSAGE();
B。在所有的消息函数里调用他。
C。没有了
在 OnDo()中怎么知道是哪个按钮的消息?ON_COMMANDEX 在MSDN中找不到?
好了,我把VC下的“照抄”级的代码给你
OnButton0()等等的框架是双击按钮得到的
Bot(int index)是用Wizard加进去的CMmm::OnButton0()
{
Bot(0);
}
CMmm::OnButton1()
{
Bot(1);
}
CMmm::OnButton2()
{
Bot(2);
}
CMmm::Bot(int index)
{
//index是你所要的,下面是调试信息显示(没有其他的用途)
CString str;
str.Format("你的键:%d",index);
::AfxMessageBox(str);
}如果你需要高级的方法,“消息映射”或者其它的,给我发个email.最后提醒你别忘了给分,我很穷的,哈哈哈哈!!!!!
我的处理函数里怎么得到按钮的ID或HWND?
找到“//}}AFX_MSG”
在他的下面添加afx_msg void OnButtonClk(WPARAM wParam);MyDialerDlg.cpp
找到//}}AFX_MSG_MAP
在它的下面添加ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON1, IDC_BUTTON16, OnButtonClk)确保IDC_BUTTON1到IDC_BUTTON16的ResourceID是连续的
譬如IDC_BUTTON1=2001,IDC_BUTTON2=2002...IDC_BUTTON16=2016。
void CMyDialerDlg::OnButtonClk(WPARAM wParam)
{
// wParam中就是被按下的button的ResourceID
int nButtonID = wParam - 2000; // 得到的就是1-16这几个数字了
}