我的是基于对话框程序,该对话框上没有最大和最小按钮
我重载了 PreCreateWindow(),想用代码给它添加最小按钮,可是却没有起作用BOOL CTestDlgDlg::PreCreateWindow(CREATESTRUCT& cs) 
{
// TODO: Add your specialized code here and/or call the base class
cs.style &= WS_MINIMIZEBOX ;
return CDialog::PreCreateWindow(cs);
}为什么呢?

解决方案 »

  1.   

    另外,请问是那个函数调用了PreCreateWindow?
      

  2.   

    cs.style &= WS_MINIMIZEBOX ;
    应该为
    cs.style |=WS_MINIMIZEBOX ;
      

  3.   

    to:
    回复人: hiiiiiijiang() ( ) 信誉:105 
    ----------------------------------------
    不是啊,应该是cs.style &= WS_MINIMIZEBOX ;吧
    而且我试过你的也不行
      

  4.   

    cs.style &= WS_MINIMIZEBOX ;
    应该为
    cs.style |=WS_MINIMIZEBOX ;我也这么认为。
      

  5.   

    OnInitDialog()中
    ModifyStyle试过了,这个方法可以。PreCreateWindow(CREATESTRUCT& cs)的调用在Create中。
    frame、view用这种方法设置可以。我在多次跟踪后发现,frame、view在创建时调用PreCreateWindow(CREATESTRUCT& cs)
    而Dialog的各种Create函数都不调用。
    MSDN的说明也是用frame、view举的例子。so,Dialog只能用ModifyStyle设置。 :(