在VC中,继承一个STATIC类,
class CPanel : public CStatic//用CPanel.Create(WS_CHILD|WS_VISIBLE , rect, this, 100, NULL) ;
显示后,
想能捕获鼠标事件,怎么能做到,
手工的方式加了消息影射:afx_msg void OnLButtonUp(UINT nFlags, CPoint point);也没有用
请高手指点一下谢谢
class CPanel : public CStatic//用CPanel.Create(WS_CHILD|WS_VISIBLE , rect, this, 100, NULL) ;
显示后,
想能捕获鼠标事件,怎么能做到,
手工的方式加了消息影射:afx_msg void OnLButtonUp(UINT nFlags, CPoint point);也没有用
请高手指点一下谢谢
解决方案 »
- 【高难度问题】在桌面显示不存在的图片!困扰2年无解。
- 如何用wininet函数实现http post方式的多文件上传
- VC6.0写的ATL COM组件,在CB5中注册后运行程序,提示:无法定位程序输入点@$xp$32FltTestlib...
- 关于FTP的问题,在线等待...
- 请问如何画积分符号?
- 如何由窗口句柄得到对应的进程ID
- 一个小错误
- 想重载对话框的WM_WINDOWPOSCHANGING,可老找不到,在哪里?
- 要获得打开文件的大小是用ar的那个命令?
- 多谢rocks_lee(石子儿)兄!
- 还是专门鄙视鹦鹉的品味一下,要分的来痛扁鹦鹉
- 请问在MFC中可以使用ADO链接数据库的方式嘛?(请进来看看)
应该就可以了 和END——MESSAGEMAP
//{{AFX_MSG(CCard)
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnPaint();
ON_MESSAGE( WM_CLICK, OnLButtonUp );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()在。CPP中写:
BEGIN_MESSAGE_MAP( CMyWnd, CMyParentWndClass )
//{{AFX_MSG_MAP( CMyWnd
ON_MESSAGE( WM_CLICK, OnLButtonUp );
//}}AFX_MSG_MAP
END_MESSAGE_MAP( )
也不允许,说,AFX_MSG_MAP 已经定义过了!!
其次,建立消息影射
程序部件:一个CDialog,自己创建一个继承类 class CPanel : public CStatic//
在对话框中(CDialog),加了一个按钮,代码:
CRect r;
CPanel MyPanel;
r.SetRect (100,100,300,200);
MyPanel.Create(WS_CHILD|WS_VISIBLE|SS_NOTIFY , r, this, 100,NULL) ;
DWORD dwStyle = MyPanel.GetStyle();
if (!(dwStyle & SS_NOTIFY)) {
::SetWindowLong(m_hWnd, GWL_STYLE, dwStyle | SS_NOTIFY);
}
在CPanel.cpp中定义一个 OnClick()函数;
有消息影射:
BEGIN_MESSAGE_MAP(CCard, CWnd)//CStatic)
//{{AFX_MSG_MAP(CCard)
ON_COMMAND( STN_CLICKED, OnClick)//WM_COMMAND
ON_BN_CLICKED(IDC_BUTTON1, OnClick)
ON_CONTROL_REFLECT(STN_CLICKED, OnClick)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
但是做了后,还是不可以收到消息
哪位高手再指点一下,哪里写的不对,或者没有照顾到,谢谢