社区
界面
帖子详情
动态创建的CWnd,为什么不能响应消息?
cqwally
2005-06-22 02:07:39
1、我是用class wizard 创建的类,父类选择“generic CWnd”,然后填写CWnd,这样,自动生成了消息处理机制。
2、在这个派生类中,响应鼠标右键up消息,一个MessageBox;
3、在单文档的程序中,在View中动态创建了一个派生类的对象;
4、但是这个对象没有办法响应鼠标消息。也就是在对象里面点击鼠标没有 MsgBox弹出来。
请指点,应该如何做才能响应呢?
...全文
210
7
打赏
收藏
动态创建的CWnd,为什么不能响应消息?
1、我是用class wizard 创建的类,父类选择“generic CWnd”,然后填写CWnd,这样,自动生成了消息处理机制。 2、在这个派生类中,响应鼠标右键up消息,一个MessageBox; 3、在单文档的程序中,在View中动态创建了一个派生类的对象; 4、但是这个对象没有办法响应鼠标消息。也就是在对象里面点击鼠标没有 MsgBox弹出来。 请指点,应该如何做才能响应呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cqwally
2005-06-22
打赏
举报
回复
问题已经解决,不是兄弟说的问题,不过还是谢谢了。
icansaymyabc
2005-06-22
打赏
举报
回复
你没有向系统注册你的window,系统当然不知道给他发消息了。
cqwally
2005-06-22
打赏
举报
回复
protected:
//{{AFX_MSG(CShowRect)
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
//}}AFX_MSG
上面是在派生类的头文件中
BEGIN_MESSAGE_MAP(CShowRect, CWnd)
//{{AFX_MSG_MAP(CShowRect)
ON_WM_RBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
上面是消息影射
void CShowRect::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//((CRectTips *)tips)->Create();
MessageBox("ok");
CWnd::OnRButtonUp(nFlags, point);
}
上面是响应函数。
goodboyws
2005-06-22
打赏
举报
回复
你的响应鼠标消息的代码??
cqwally
2005-06-22
打赏
举报
回复
void CRectTestView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
psRect = new CShowRect;
psRect->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(10, 10, 50, 50), this, 1234);
psRect->EnableToolTips();
CView::OnLButtonDblClk(nFlags, point);
}
或者父窗口设置成为这个View也能创建,但是一样无法响应消息。
cqwally
2005-06-22
打赏
举报
回复
void CRectTestView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
psRect = new CShowRect;
psRect->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(10, 10, 50, 50), AfxGetMainWnd(), 1234);
psRect->EnableToolTips();
CView::OnLButtonDblClk(nFlags, point);
}
这里是在这个View的双击事件中创建这个CWnd。创建完毕,能够看到View中有了一个带BORDER的一个CWnd。
qrlvls
2005-06-22
打赏
举报
回复
从第 3 步起,你是怎么创建的,而且有没有通过 SetWindowPos 或 MoveWindow 调整派生自 CWnd 类的窗口对象的位置?
无窗口的
CWnd
类 可以接收
消息
吗? 解决方法:
动态创建
窗口
不能
,因为无窗口的
CWnd
类其m_hWnd为0x000000。没有句柄,其他类也就无法使用::SendMessage(hwnd, …)向其发送
消息
。 解决方法: 为
CWnd
类
动态创建
一个透明窗口。
动态创建
MFC窗口和控件 前言: 那么如何
动态创建
窗口...
MFC
动态创建
控件及其
消息
响应
函数
动态按钮(多个)的创建: 1、在类中声明并定义按钮控件的ID ...2、在类的OnInitDialog()函数中
动态创建
按钮(建立按钮对象时最好建立对象的指针) 3、手动释放对象指针 下面是动态生成多个按钮的例子: CBut...
在VC中,让
动态创建
的ActiveX控件
响应
Windows
消息
。 (转)
在VC中,让
动态创建
的ActiveX控件
响应
Windows
消息
。 (转)[@more@]当我们通过
CWnd
::CreateControl()
动态创建
ActiveX控件时,windows
消息
并不会被发送给我们的由
CWnd
派生得控件...
MFC中
动态创建
控件以及添加事件
响应
本文实例讲述了MFC中
动态创建
控件以及事件
响应
实现方法,分享给大家供大家参考。具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: ...
如何
动态创建
按钮,并
响应
消息
如何让
动态创建
的按钮
响应
鼠标双击? 利用按钮的BS_PUSHBUTTON风格,具有该风格的按钮被单击时会发出WM_COMMAND
消息
,他的
响应
原理和用类向导定义的函数一样。只不过它的
响应
函数原形,
消息
映射以及函数实现需要你...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章