最开始的时候,我从 CButton 派生了我自己的 CMyButton类,可以使一个按钮响应LButtonDown,LButtonUp消息
但是,如果,我里面有多个按钮想要处理 LButtonDown,LButtonUp消息,怎么做,
我不可以是一个按钮添加一个对应的 CMyXButton 类吧,再重写...各位大大,应该有好的方法,多谢指教.用途:上下左右,按下电机运动,抬起电机停止
但是,如果,我里面有多个按钮想要处理 LButtonDown,LButtonUp消息,怎么做,
我不可以是一个按钮添加一个对应的 CMyXButton 类吧,再重写...各位大大,应该有好的方法,多谢指教.用途:上下左右,按下电机运动,抬起电机停止
解决方案 »
- MFC对话框OnInitDialog和OnPaint函数之间还执行了什么函数?
- mfc 对话框打印 PRINTDLG
- Win32 API如何点击ComboBox下拉按钮显示月历控件
- CTreeCtrl带check box,当选中check box时如何使后边对应的Item内容得到焦点?
- 如何通过控件为浏览器添加一个frame
- 请问静态链接库怎么使用资源??
- 100分请问:我从数据库中提取记录放到树型控件中,3层记录,如何解决?
- 在〈VC技术内幕〉里,看到在构造类的对象时用this指针,为什麽?请指教,谢了!
- 谁知道有关turbo c 2.0 参考手册方面的书?
- 如何得到系统时间?
- 很多控件的消息响应函数,最后一句都是*pResult=0.这个有什么意义么?
- 远程截屏的问题~~
我想在CMyButton的构造函数时把这些按钮区分开.用一个参数传进去,但是我现在传不进去,
CMyButton m_btn2;
CMyButton m_btn1;DDX_Control(pDX, IDC_BUTTON2, m_btn2);
DDX_Control(pDX, IDC_BUTTON1, m_btn1);
你是最明白我的意思的人.就是不同的 按钮 实现的UP/DOWN 功能不一样.我不能 在创建 不同的 实例时,带进不同的 标识ID 吗?
BOOL CXXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
HWND hWnd = pMsg->hwnd;
TCHAR szClassName[MAX_PATH] = {0};
GetClassName(hWnd, szClassName, MAX_PATH);
if(0 == _tcscmp(szClassName, _T("Button")))
{
CDialog::PreTranslateMessage(pMsg);
CString str;
UINT nID = ::GetDlgCtrlID(hWnd);
str.Format(_T("ID: %d"), nID);
switch(pMsg->message)
{
case WM_LBUTTONDOWN:
{
str += _T("DOWN");
::SetWindowText(hWnd, str);
}
break;
case WM_LBUTTONUP:
{
str += _T("UP");
::SetWindowText(hWnd, str);
}
break;
default:
break;
}
return TRUE;
}
else
{
return CDialog::PreTranslateMessage(pMsg);
}
}
第一个按钮 DOWN 时,做事情1 ,UP 时做事情2
第二个按钮 DOWN 时,做事情3 ,UP 时做事情4
第三个按钮 DOWN 时,做事情5 ,UP 时做事情6
第四个按钮 DOWN 时,做事情7 ,UP 时做事情8我想在同一个 CMyButton 里面实现.
那就给你的CMyButton 类发消息吧,根据参数不同运行不同的作用 不知道我理解对不对
case IDC_BUTTON1:
break;
.........
我自己的打算是 在关联 按钮和 CMyButton 的时候,传一个参数到构造函数里,再 赋给 m_ID 变量做标识,
然后再用 switch ,
可以这样做吗?但是我不知道怎么 传到 构造函数里, 不知道怎么写.
谢谢这里的兄弟JM,都很热情...
如果非要实显这种多职能的类.建仪.
CMyButton 定义一个public int m_iCase;
跟据m_Case 在Down或up 中控制电机.
然后在创建button后.改变m_iCase;
我几年前控制云台就是这样做的.不过现在不建仪这样做.这样做出的类实在太...
现在我做成控件.不用这样烦恼了.