CPropertySheet派生的类,但默认的是确认 取消 应用按钮,我希望隐藏应用按钮,并在应用按钮的地方创建自己的一个按钮,但是现在应用按钮隐藏了,自己创建的按钮也没有显示,这个什么愿意呢?如何在属性页中添加属于自己的按钮呢?代码如下:
BOOL CButtonSheet::OnInitDialog() 
{
BOOL bResult = CPropertySheet::OnInitDialog();

// TODO: Add your specialized code here
CRect rect;
CButton button;
CWnd *pWnd=GetDlgItem(ID_APPLY_NOW);
pWnd->GetWindowRect(&rect);
pWnd->ShowWindow(SW_HIDE);
button.Create(_T("权限"),WS_VISIBLE|BS_PUSHBUTTON,rect,this,IDC_AFFIRM);
GetDlgItem(IDC_AFFIRM)->ShowWindow(SW_SHOW);
return bResult;
}

解决方案 »

  1.   

    是不是坐标的问题
    ClientToWindow
      

  2.   


    rect改为客户坐标
    CRect rect; 
    CButton button; 
    CWnd *pWnd=GetDlgItem(ID_APPLY_NOW); 
    pWnd->GetWindowRect(&rect); 
    pWnd->ShowWindow(SW_HIDE); 
    ScreenToClient(rect);
    button.Create(_T("权限"),WS_VISIBLE ¦BS_PUSHBUTTON,rect,this,IDC_AFFIRM); 
    GetDlgItem(IDC_AFFIRM)->ShowWindow(SW_SHOW); 
      

  3.   

    button.Create(_T("权限"),WS_VISIBLE ¦BS_PUSHBUTTON,rect,this,IDC_AFFIRM); 
    rect指定的有点问题吧.你尝试着把原来apply或者ok的位置找到,从而确定你button的位置了.
      

  4.   

    CButton button; 定义成全局
      

  5.   

    哈哈 ScreenToClient(rect);和 CButton button; 定义成全局 合在一起就显示啦