| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:基于对话框的:运行时怎么默认打开几个对话框,其中一个是模态的,希望详细 ...
只看楼主 加入收藏
meshiwn
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
基于对话框的:运行时怎么默认打开几个对话框,其中一个是模态的,希望详细讲解一下
基于对话框的:运行时怎么默认打开几个对话框,其中一个是模态的,希望详细讲解一下

还有,这些对话框打开时怎么才能显示在指定位置(正中间)。


希望各位多多指点,我只是初学者,爱好而已,别嫌我笨啊
搜索更多相关主题的帖子: 对话框 
2014-04-24 11:33
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:10 
对于模态和非模态,百度一下,大把的。

位置就 自己计算吧
::GetWindowRect
::SetWindowPos

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2014-04-24 13:51
meshiwn
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-24
收藏
得分:0 
回复 2 楼 yuccn
谢谢,模态和非模态我知道怎么弄,关键是我不知道怎么默认同时开启两个对话框:
BOOL CTestDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // Add "About..." menu item to system menu.

    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        BOOL bNameValid;
        CString strAboutMenu;
        bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
        ASSERT(bNameValid);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon

    // TODO: Add extra initialization here

    //非模态可以
       p_mydlg =new CMyDlg();
    p_mydlg->Create(IDD_DIALOG1,NULL);
    p_mydlg->ShowWindow(SW_SHOW);
   这样写能同时出来两个对话框

       //模态不可以
        m_mydlg.domodal()    这样写只能先出这个对话框,点了操作之后才显示出主对话框

        我要怎么写才能同时出两个对话框,模态的


      

    return TRUE;  // return TRUE  unless you set the focus to a control
}

void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialogEx::OnSysCommand(nID, lParam);
    }
}
2014-04-24 15:20
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:10 
这个比较容易吧,在m_mydlg.domodal()前面加上ShowWindow(SW_SHOW);先把主对话框显示出来就行了。

Figure out what you like. Try to become the best in the world of it.
2014-04-25 14:33
快速回复:基于对话框的:运行时怎么默认打开几个对话框,其中一个是模态的,希望 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012527 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved