今天做了个属性页程序,程序运行时产生了好几个按钮,如“确定”、“取消”、“应用”、“帮助”,以前没太在意,因为确实有些按钮是需要的。可发现今天的程序只是用属性页来管理一些对话框,所以那些按钮基本上都没有用,我想把它们都去掉,或者只留下一个确定按钮,可不知道如何实现?那位大哥教教小弟,谢谢!

解决方案 »

  1.   


    m_psh.dwFlags &= ~PSH_HASHELP;
    去掉help按钮
      

  2.   

    TO:楼上
     我用m_psh.dwFlags |= PSH_NOAPPLYNOW去掉了应用的按钮,但是我用你的方法去不掉帮助按钮,不知道这是怎么回事?
      
     大家帮帮忙啊,有没有办法把取消按钮也去掉啊,谢谢!
      

  3.   

    打开不要的按钮的属性,把它的显示属性去掉,把它的Disable属性钩上,就一切OK了
      

  4.   

    要获取按钮的句柄,然后就可以象对待窗体一样处理它们了. 下面代码先隐藏掉Apply和Help铵钮,
     BOOL CMyPropSheet::OnInitDialog () 
    {
        BOOL bResult = CPropertySheet::OnInitDialog();
        int ids [] = {IDOK, IDCANCEL};//, ID_APPLY_NOW, IDHELP };
        // Hide Apply and Help buttons
        CWnd *pWnd = GetDlgItem (ID_APPLY_NOW);
        pWnd->ShowWindow (FALSE);
        pWnd = GetDlgItem (IDHELP);
        pWnd->ShowWindow (FALSE);
        
        return bResult;
    }
      

  5.   

    kpld8888(kpld) 的方法可以,不过每个属性页都要做这步,不然这个button就会存在。建议自己继承一个CMyPropSheet,在里面实现这步,以后再使用的话就可以从它继承。拿掉取消好像要getdlgitem,然后hide起来