WLT中WM_COMMAND消息如何传递?

mudunke775 2011-05-18 01:40:41
在MFC中我知道是重载

BOOL MyPanel::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// TODO: Add your specialized code here and/or call the base class

//if (CDialog::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
// return TRUE;

CWnd* pParent = GetParent();
if (pParent != NULL)
{
return pParent->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}

return FALSE;

//return MyImage::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}


向父窗口传递WM_COMMAND消息,在WTL中没有这个函数,那么怎么才能传递WM_COMMAND消息?
...全文
536 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mudunke775 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 waistcoat21 的回复:]

引用 8 楼 mudunke775 的回复:

继承或重写哪个函数?
还有顺便问句:
LRESULT MyImageButton::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
这是我自定义类(继承cbutton)的函数,这里面怎么得到像MFC的cpoint啊


这些你可……
[/Quote]

谢谢,坐标知道了,第一个系统消息转发怎么处理呢?或者说在哪个函数中处理?
blo_blo 2011-05-18
  • 打赏
  • 举报
回复
看看,仅仅看看!
Waistcoat21 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mudunke775 的回复:]

继承或重写哪个函数?
还有顺便问句:
LRESULT MyImageButton::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
这是我自定义类(继承cbutton)的函数,这里面怎么得到像MFC的cpoint啊
[/Quote]

这些你可以看atlcrack.h文件

// void OnLButtonDown(UINT nFlags, CPoint point)
#define MSG_WM_LBUTTONDOWN(func) \
if (uMsg == WM_LBUTTONDOWN) \
{ \
SetMsgHandled(TRUE); \
func((UINT)wParam, _WTYPES_NS::CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))); \
lResult = 0; \
if(IsMsgHandled()) \
return TRUE; \
}



ps: 学习资料可以搜索“MFC程序员的WTL指南”
mudunke775 2011-05-18
  • 打赏
  • 举报
回复
继承或重写哪个函数?
还有顺便问句:
LRESULT MyImageButton::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
这是我自定义类(继承cbutton)的函数,这里面怎么得到像MFC的cpoint啊
Waistcoat21 2011-05-18
  • 打赏
  • 举报
回复
可以直接用SendMessage,WTL只是对SDK的简单封装而已,并且你可以看源码,也没多少。
mudunke775 2011-05-18
  • 打赏
  • 举报
回复
我也不会啊,以前都是MFC,突然项目要求用WTL来做,真是一头雾水。。。

不二星空 2011-05-18
  • 打赏
  • 举报
回复
俺真的不会。。只懂MFC和WIN API。。
mudunke775 2011-05-18
  • 打赏
  • 举报
回复
会WTL的人真少啊
_free 2011-05-18
  • 打赏
  • 举报
回复
哦,第一个参数是窗口句柄
::SendMessage(hWnd, WM_COMMAND, , ,);

我纯属来捣乱的
不二星空 2011-05-18
  • 打赏
  • 举报
回复
WM_COMMAND 不是系统的消息吗
_free 2011-05-18
  • 打赏
  • 举报
回复
看了标题WLT没看进,WTL更是没整过

要是有WndProc的话 可以发送::SendMessage(WM_COMMAND, , ,);

3,248

社区成员

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

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