PreCreateWindow的时候窗口还没有创建,当然不好事了你在OnInitDialog里面ShowWindow(SW_SHOWMINIMIZED);
就可以了:)

解决方案 »

  1.   

    哦,对了对了,在 PreCreateWindow里面
    BOOL CXXXdialog::PreCreateWindow(CREATESTRUCT& cs) 
    {     
        cs.style| = SW_SHOWMINIMIZED;
        return CDialog::PreCreateWindow(cs); 
    }//这样应该也是可以的
      

  2.   

    MFC这样
    this->show(SW_SHOWMINIMIZED);
      

  3.   

    你在OnInitDialog里面ShowWindow(SW_SHOWMAXIMIZED)
      

  4.   

    ShowWindow(SW_SHOWMAXIMIZED)可行,而cs.style¦ = SW_SHOWMINIMIZED不可行,事实上
    我在PreCreateWindow里做的任何改变都不起作用,是什么原因?
    至于Suddy(风)兄的答案俺真的看不懂
    panda_w(好想睡啊!) 说的SetWindowLong 是什么东东,教教俺
      

  5.   

    瞎说。这个回调函数怎么能那么写呢
    BOOL CXXXdialog::PreCreateWindow(CREATESTRUCT& cs) 
    {    
        
        CDialog::PreCreateWindow(cs); 
        cs.style¦ = SW_SHOWMINIMIZED;
    }
    这样才差不多。
    怎么会无效呢
      

  6.   

    在onpaint里面ShowWindow(SW_SHOWMAXIMIZED)
      

  7.   

    kiko_lee ,不会吧,在OnPaint里ShowMaximized,哈,第一次看见
      

  8.   

    没有办法,因为他实在找不到一个比较好的方法可以解决这个问题,
    我这里有一个方法,就是在INITDIALOG里SETTIMER(1,50/*随便写的一个,你可以根据需要定义*/,NULL),然后在ONTIMER()里调用SHOWWINDOW()后KILLTIMER(1);
      

  9.   

    dialog 不会调用 PreCreateWindow()
    在CDialog::PreTranslateMessage()中过滤掉了
      

  10.   

    OnInitDialog:
    ShowWindow(SW_SHOWMAXIMIZED) 
      

  11.   

    在OnInitDialog()函数中用this->ShowWindow(SW_SHOWMAXIMIZED);