导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

如何让父窗口来处理子窗口的消息

mo01 2002-07-20 07:45:48
例如我有一个父窗口wnd1,wnd1里有一个子窗口wnd2,wnd2里有一个按钮button1, 当单击button1时,如何让这个父窗口的数据得到改变,(不要用GetParent()->这一类的方法,因为这个子窗口类要作为好几个窗口的子窗口)
...全文
101 点赞 收藏 25
写回复
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
mo01 2002-07-25
怎么给不了分啊?
回复
mo01 2002-07-25
问题已经解决了,可以先用this->GetParent()->IsKindof(RUNTIME_CLASS())
判断父窗体的类型,再用各位的方法就可以了.好了,给分
回复
siphonelee 2002-07-21
up
回复
shudingbo 2002-07-21
我用sendMessage()实现的!
=========================
>webber84(糕鱼昏)
>你要做为哪个窗口的子窗口,就在wnd2的构造函数里传入哪个窗口的句柄就
>行了嘛。

它的做法到底是怎样的?


回复
mo01 2002-07-21
各位大侠,是这样的,我要做一个用于输入数字的小键盘,我把这个小键盘作为一个子窗口,因为这个小键盘在很多个窗口中都要被调用,当我在小键盘中按下“1”时,应该让父窗口得到这个消息,大家指教一下,在这种情况下,用什麽办法最好
回复
zhangdaqiang 2002-07-21
使用下面语句来获得父窗口的指针,
CWnd *pMainDlg=this->GetParent();
回复
webber84 2002-07-21
就是在构造函数里增加一个参数嘛。
class CMyDialog:public CDialog
{
………
CMyDialog(CWnd* pWnd) { pParent=pWnd;}
private:
CWnd* pParent;
}
需要创建这个窗口时:
CMyDialog* pDailgo=new CMyDialog(this); //this为父窗口指针
pDialog->Create
pDialog->ShowWindow
上面的代码只是表示一下我说的意思,真正实现时要注意用正确的参数调用基类的构造函数。
回复
mo01 2002-07-21
没有人知道吗?
回复
mail_dcb2 2002-07-21
单击按钮--->postmessage---〉处理之
回复
netsbull 2002-07-21
,(不要用GetParent()->这一类的方法,因为这个子窗口类要作为好几个窗口的子窗口) ???

应该可以这样的。
你要强制转换GetParent()所得的指针到真正的类型。
CWnd1 * pWnd = (CWnd1 *)GetParent();
回复
shudingbo 2002-07-20
up,up
回复
shudingbo 2002-07-20

我使用下面语句来获得父窗口的指针,
CWnd *pMainDlg=this->GetParent();

但是使用pMianDlg->时却不能见到在父窗口中定义的变量!?
why??????
回复
shudingbo 2002-07-20
还是不懂:
我用下面语句建立一个非模式对话框
dlglist->Create(IDD_DLG_LIST,this);
那么如何此子对话框中获得父窗口的指针?
回复
jmcooler 2002-07-20
这个子窗口类要作为好几个窗口的子窗口,保存父窗口的指针或者句柄不是好办法,因为可能要层层传递这个指针到子窗口。如果保存到全局变量还好些。
如果你的父窗口就是程序的主窗口,你可以调用AfxGetMainWnd()取得主窗口的指针,当然需要强制转换一下,然后再调用主窗口类的一个成员函数就可以了。
回复
shudingbo 2002-07-20
up
回复
shudingbo 2002-07-20
>archoo(archoo)
明确点行吗?
回复
archoo 2002-07-20
同意 webber84(糕鱼昏)
这是最简单,又最通常的做法!

回复
shudingbo 2002-07-20
>andy_lau(阿虎)
如果,窗口无标题呢?
回复
Ton2000 2002-07-20
SendMessage()
||
PostMessage()
回复
andy_lau 2002-07-20
FindWindow()
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……