回 帖 发 新 帖 刷新版面

主题:[讨论]请问,如何让子对话框一弹出来就是全屏呢?

我用MFC写了一个基于对话框的程序,我添加了两个对话框
一个是主对话框CMyDlg,一个是子对话框CChirDlg,

在主对话框CMyDlg中我添加了一个按钮控件,消息处理函数OnFangdadianlu()如下:
void CMyDlg::OnFangdadianlu() 
{
    // TODO: Add your control notification handler code here
    CChirDlg ChirDlg;  //声明子对话框
    NEICUNXILOU.DoModal();//调用子对话框
    
}
请问还要添加什么代码才能让子对话框一弹出来就是全屏呢??

回复列表 (共10个回复)

沙发


    ModifyStyle(WS_CAPTION,0,0);
    SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE,0);
    
    
    把这两句加到你想要全屏的对话框的oninintiadialog()初始化函数中就可以了,想保留标题栏的话,屏蔽掉第一句话就行了

板凳

但是子窗口里没有oninintiadialog()初始化函数啊,
只有主窗口里才有

3 楼


你打开rc资源,选择子对话框,ctrl+w 在添加消息中添加 wm_oninintial消息就可以生成这个函数了,然后把代码添加到其中就可以了

4 楼

知道啊,我也是这样想的:
但是Message map里面的子对话框的Message里面没有 wm_oninintial消息啊,
怎么办呢?

5 楼


不好意思,估计是没跟你说确切,
是WM_INITDIALOG, 仔细找下
我也是菜鸟一个哈哈

6 楼

这个也没有哦,
只有 WM_ICONERASEBKGND
     WM_INITNENU
     WM_INITMENUPOPUP
WM_INITDIALOG确实找不到.

7 楼


不会吧,我上面都有啊,感觉你要实在找不到的话,建议你重装VC6.0

8 楼

哦,谢谢了啊,我试一下.

9 楼

GetWindowLong()函数不知道行不行?据说这个函数很强的说,我具体没用过。

10 楼

好,我试试

我来回复

您尚未登录,请登录后再回复。点此登录或注册