一个对话框向另一个对话框发窗口关闭消息

irenehan 2009-03-25 10:26:50
一个对话框向另一个对话框发窗口关闭消息
具体的代码。。。
谢谢。。
在线等。马上结贴
...全文
933 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqhrs232 2009-05-06
  • 打赏
  • 举报
回复
LS的方法可以吗?
羽毛乱发 2009-03-25
  • 打赏
  • 举报
回复
顶楼上的 学到一招了
寒冰雪 2009-03-25
  • 打赏
  • 举报
回复
对话框A CADlg 对话框B CBDlg

A中声明B为成员变量 CBDlg m_BDlg;

A发送消息关闭B

SendMessage(m_BDlg.GetSafeHwnd(), WM_CLOSE, 0, 0);
或者直接 m_BDlg.SendMessage(WM_CLOSE);
irenehan 2009-03-25
  • 打赏
  • 举报
回复
具体代码。。。。
  • 打赏
  • 举报
回复
postmessage()
寒冰雪 2009-03-25
  • 打赏
  • 举报
回复
GetSafeHwnd();
irenehan 2009-03-25
  • 打赏
  • 举报
回复
怎么样得到A窗口的句柄?
DavidHsing 2009-03-25
  • 打赏
  • 举报
回复
SendMessage 或 PostMessage, WM_CLOSE
robert_duan 2009-03-25
  • 打赏
  • 举报
回复
获取那个需要关闭对话框的句柄hWnd;
::SendMessage(hWnd, WM_CLOSE, 0, 0);
寒冰雪 2009-03-25
  • 打赏
  • 举报
回复
LS正解~~

或者m_pDlg->SendMessage(WM_CLOSE);
思危 2009-03-25
  • 打赏
  • 举报
回复
SendMessage(hWnd, WM_CLOSE, NULL, NULL);
zhuweiping2003 2009-03-25
  • 打赏
  • 举报
回复

HWND hw=::FindWindow(0,"窗口的标题");//你可以用spy++查看目标的类名,总之找到它就行了
if(hw)
{
::SendMessage(hw,WM_CLOSE,0,0);//找到它,把它关了.
//KillTimer(0);
PostMessage(WM_ENABLE);//自己消失
}
zhouqing19871024 2009-03-25
  • 打赏
  • 举报
回复
觉得照楼上的方法还是不行,因为楼主所说的情况中只一味的强调从一个窗口发送消息到另一个窗口并使其关闭,但在基于对话框的应用程序中,楼主是不是忘记了对话框B并没有创建出来呢?如果该对话框没有创建出来,如何让A来发送消失使B关闭呢?
Ryanwen 2009-03-25
  • 打赏
  • 举报
回复
应该得到一个指向窗口B的指针 你完全照搬楼上的代码当然不行 那是一个新的窗口对象
在对话框A中定义一个窗口B的指针 CBDlg *m_pBDlg;
然后得到你要关闭的窗口 m_pBDlg = 你要关闭的窗口;
再通过楼上的方法就可以了
irenehan 2009-03-25
  • 打赏
  • 举报
回复
用自定义消息怎么做?
irenehan 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 HBXStone99 的回复:]
对话框A CADlg 对话框B CBDlg

A中声明B为成员变量 CBDlg m_BDlg;

A发送消息关闭B

SendMessage(m_BDlg.GetSafeHwnd(), WM_CLOSE, 0, 0);
或者直接 m_BDlg.SendMessage(WM_CLOSE);
[/Quote]

没反应。。。怎么回事?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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