Formview上放置了多个Button控件,为了响应Button对右键的处理,采用了子类化的方法,生成了自己的一个新类,就是在Button的基础上添加了一个处理右键的消息函数。
我的右键事件为弹出一个菜单。 问题是我如何知道弹出菜单时是那个Button函数的右键消息导致的?? 求教
我的右键事件为弹出一个菜单。 问题是我如何知道弹出菜单时是那个Button函数的右键消息导致的?? 求教
解决方案 »
- directShow采集摄像头的图像
- 大家帮忙分析下vc对access2003的访问错误
- MFC多文档程序,双击文件会弹出windows找不到文件,再次双击才能打开,要怎么解决?
- 关于SelectObject的用法
- CComboBox如何使下拉item项有水平滚动条亚?
- 如何产生10不相同的随机整数(1-10)
- CImage::MaskBlt怎么用的,高手快来
- 怎样获得BSTR*指针所指的内存块大小
- 使用GDI+中的Image双屏抓图 无法成功
- 怎样捕获CHtmlView中web 页面上的事件,该如何做呢?,请哪位高手讲讲,讲得越简单越好,先上90分以表心意!
- 线程冲突问题,比较基础,求达人给指点一下,急............
- 线程同步的基本问题
(HWND) hWndControl, // handle to destination control
(UINT) WM_NOTIFY, // message ID
(WPARAM) wParam, // = (WPARAM) (int) idCtrl;
(LPARAM) lParam // = (LPARAM) (LPNMHDR) pnmh;
); (int) idCtrl这个是自窗口ID
pnmh是结构体
typedef struct tagNMHDR {
HWND hwndFrom;
UINT idFrom;
UINT code;
} NMHDR;
我为了响应右键消息做了个很简单的工作
/////.h文件class CMyButton : public CButton
{
public:
CMyButton();
virtual ~CMyButton();protected: //{{AFX_MSG(CMyButton)
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};也就是添加了一个右键单击响应函数//////.cpp文件CMyButton::CMyButton()
{}CMyButton::~CMyButton()
{}
BEGIN_MESSAGE_MAP(CMyButton, CButton)
//{{AFX_MSG_MAP(CMyButton) ON_WM_RBUTTONDOWN()
//}}AFX_MSG_MAP END_MESSAGE_MAP() void CMyButton::OnRButtonDown(UINT nFlags,CPoint poin)
{
if(nFlags & MK_RBUTTON)
MessageBox("OK");
}在VIEW的.h中声明了一个m_btn数组,CMyButton m_btn[12]
在OnInitialUpdate中添加了下面的代码
for(i=0;i<12;i++)
{
m_btn[i].SubclassDlgItem(IDC_BUTTON_PSN1+i,this);
}现在每个btton的右键都能弹出 “OK”,我想在弹出OK之前知道是触发了哪个按钮的右键事件,