菜鸟问题:WTL,对话框中重载DefWindowPro()方法,不响应

haizhisu 2009-08-18 05:30:29
DefWindowPro()方法,如何重载,头文件声明,.cpp文件中重载,为什么在函数头设断点,直接没反应,不是象,WM_NCCREAT消息都可以截取的,现在就好象程序不知道DefWindowPro()方法存在
...全文
104 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WaistCoatX 2009-08-20
  • 打赏
  • 举报
回复
重载方法:
class CMainDlg : public CDialogImpl<CMainDlg>
{
public:
static INT_PTR CALLBACK myProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
// 重载的过程,你可以在这里做处理
return CDialogImpl<CMainDlg>::DialogProc(hWnd, uMsg, wParam, lParam);
}

virtual DLGPROC GetDialogProc()
{
return myProc;
}
}
haizhisu 2009-08-20
  • 打赏
  • 举报
回复
只响应WM_NCPAINT消息,也不行啊,
static INT_PTR CALLBACK myProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
这是什么,不是重载重载PreTranslateMessage函数吗
WaistCoatX 2009-08-19
  • 打赏
  • 举报
回复
WTL对话框里不是可以实现消息出来的。

画标题栏,处理WM_NCPAINT就可以了吧
haizhisu 2009-08-19
  • 打赏
  • 举报
回复
MFC中可以,WTL中不可以?
haizhisu 2009-08-19
  • 打赏
  • 举报
回复
重载PreTranslateMessage函数吗,具体怎么重载啊,我是想重画标题栏,
bdzwj 2009-08-19
  • 打赏
  • 举报
回复
不能重载defwindowproc, 你看一下源码,defwindowproc函数应该没有加入继承的消息链中。 应该按1楼说的去做
haizhisu 2009-08-19
  • 打赏
  • 举报
回复
有吧,怎么会没有呢,有它的定义啊
WaistCoatX 2009-08-18
  • 打赏
  • 举报
回复
WTL对话框里没有DefWindowPro。

你应该在重载的PreTranslateMessage函数里处理。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧