当前位置: 代码迷 >> VC/MFC >> MFC 弹出新窗口,该怎么解决
  详细解决方案

MFC 弹出新窗口,该怎么解决

热度:173   发布时间:2016-05-02 03:32:22.0
MFC 弹出新窗口
点击A对话框上的按钮,弹出B对话框,怎么让B对话框弹出时自动点击B窗口上的按钮进而自动触发按钮事件
------解决思路----------------------
你在B对话框的OnInitDialog函数中向按钮发送WM_LBUTTONDOWN和WM_LBUTTONUP消息呗
------解决思路----------------------
引用:
Quote: 引用:

你在B对话框的OnInitDialog函数中向按钮发送WM_LBUTTONDOWN和WM_LBUTTONUP消息呗


B对话框是在A项目中添加资源而添加的一个dialog,可是没有看到oninitdialog


你给B对话框添加类了吗?
------解决思路----------------------
不需要那么严谨(不好听的说,不需要那么机械),在OnInitDialog里直接调用相关代码或者函数
------解决思路----------------------
没有的话你就手动添加吧:

virtual BOOL OnInitDialog();

BOOL CMFCTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();

CButton *pBtn = (CButton *)GetDlgItem(IDC_BUTTON1);
if(pBtn)
{
pBtn->PostMessage(WM_LBUTTONDOWN,0,0);
pBtn->PostMessage(WM_LBUTTONUP,0,0);
}

return TRUE;
}


为啥要写在oninitdialog里面?
---------------------------------------------
CDialog::OnInitDialog();执行完之后,窗口和子窗口才完全创建出来啊
  相关解决方案