OnInitDialog
里加入ShowWindow(SW_MINIMIZE);

解决方案 »

  1.   

    用下面的方法隐藏对话框不会闪烁.BOOL CGggDlg::OnInitDialog()
    {
    .....
            //在TaskBar隐藏
    ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
            //显示隐藏
    WINDOWPLACEMENT wp;
    wp.length=sizeof(WINDOWPLACEMENT);
    wp.flags=WPF_RESTORETOMAXIMIZED;
    wp.showCmd=SW_HIDE;
    SetWindowPlacement(&wp); 
    ....
    return TRUE;  // return TRUE  unless you set the focus to a control
      

  2.   

    我想做的是就象其他窗口一样,如果想显示就
    ShowWindow(SW_SHOW),想隐藏就ShowWindow(SW_HIDE);
    可基于对话框的怎么做?
    试了几种方法都不行。
      

  3.   

    把对话框属性设置为VISIBLE.
    然后在ONINITDLG里面
    PostMessage(WM_SHOWWINDOW,(WPARAM) FALSE,(LPARAM) SW_OTHERUNZOOM);
      

  4.   

    ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);WINDOWPLACEMENT wp;
    wp.length=sizeof(WINDOWPLACEMENT);
    wp.flags=WPF_RESTORETOMAXIMIZED;
    wp.showCmd=SW_HIDE;SetWindowPlacement(&wp); 加在OnInitDialog中就可以了,
      

  5.   

    我想做的是就象其他窗口一样,如果想显示就
    ShowWindow(SW_SHOW),想隐藏就ShowWindow(SW_HIDE);
    基于对话框的也是一样的啊
      

  6.   

    你是在dlg.DoModal()之前用ShowWindow的吧,那时Dialog还没创建呢
      

  7.   

    (1)为了让对话框能处理WM_WINDOWPOSCHANGING消息
    首先打开ClassWizard,切换到ClassInfo,将MessageFilter改为Window(2)切换到 MessageMaps,为WM_WINDOWPOSCHANGING增加处理函数并写
    // TODO: Add your message handler code here
    static FirstRun = TRUE;
    FirstRun = FALSE;
    lpwndpos->flags = SWP_HIDEWINDOW;之所以处理WM_WINDOWPOSCHANGING而不处理WM_WINDOWPOSCHANGED是为了不使对话框闪一下再消失.
      

  8.   

    之所以这么麻烦是因为MFC只支持产生模式对话框(我的看法,也许不正确),如果MFC能产生非模式对话框那就简单了,只要在对话框编辑器里把Visable属性去掉就行了.
      

  9.   

    OnInitDialog里加入ShowWindow(SW_MINIMIZE);
      

  10.   

    (1)为了让对话框能处理WM_WINDOWPOSCHANGING消息
    首先打开ClassWizard,切换到ClassInfo,将MessageFilter改为Window(2)切换到 MessageMaps,为WM_WINDOWPOSCHANGING增加处理函数并写
    // TODO: Add your message handler code here
    static FirstRun = TRUE;
    FirstRun = FALSE;
    lpwndpos->flags = SWP_HIDEWINDOW;
      

  11.   

    在OnPaint()里用ShowWindow(SW_HIDE)
    想出现时用热键呼出
      

  12.   

    ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);WINDOWPLACEMENT wp;
    wp.length=sizeof(WINDOWPLACEMENT);
    wp.flags=WPF_RESTORETOMAXIMIZED;
    wp.showCmd=SW_HIDE;SetWindowPlacement(&wp); 
    方法很好,但我怎能重新让它显示呢