MFC自定义消息,解惑!!!

对话框类CMyDlg.hCMyDlg(CWnd*pParent);//standardconstructorCWnd*m_pParent;//窗口对象CMyDlg.cpp... 对话框类CMyDlg.h
CMyDlg(CWnd* pParent); // standard constructor
CWnd* m_pParent;//窗口对象
CMyDlg.cpp
#define WM_CLICK_OK WM_USER+100//自定义消息
//构造函数里面
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMyDlg::IDD, pParent)

{
ASSERT(pParent);//窗口对象有效
m_pParent=pParent;//获取窗口对象
}

//在点击OK的函数里面用 下句发送自定义消息
m_pParent->SendMessage(WM_CLICK_OK,(WPARAM)this);//发送自定义消息
然后我在MainFram里面定义了自定义消息 和 映射,
程序没有问题,但是这个代码时我看书上的,不太理解,

为什么m_pParent就是指向框架的句柄????
那MainFrm一定就是对话框的父窗口吗?
展开
 我来答
huhebw
2010-12-16 · TA获得超过637个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:298万
展开全部
都说是自定义了!你想传什么参数都行,只要行!比如我要传给一个窗口一个字符串
::SendMessage(hwnd,WM_XXX,0,(LPARAM)buf);
hwnd 是那个窗口的句柄WM_XXX是自己定义的消息用#define 定义个数字!
那个窗口的类里用红 ON_MESSAGE(WM_XXX,ONXXXX)
ONXXXX是个函数名!定义如下!
.h
afx_msg LRESULT ONXXX(WPARAM XXX,LPARAM YYY);
.cpp
LRESULT CXXX::ONXXX(...)
{
switch(xxx)
{
TCHAR *buf=(TCHAR*)yyyy;
//得到字符串,那个xxxx 变量就是0 随便你定义变量有内存的概念么?
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b5e384111
2010-12-16 · TA获得超过553个赞
知道小有建树答主
回答量:984
采纳率:0%
帮助的人:983万
展开全部
CMyDlg::CMyDlg(...)
{
...
m_pParent = pParent;
...
}
pParent是该默认构造函数的参数,由MFC内部机制赋值为父窗口指针。

PLUS: 是的。 另外你这用的是不是VC++6.0啊?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式