[BCG]属性页对话框删除"上一步"..."帮助"等4个按钮

2020-03-10 15:15:11 浏览数 (1)

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/52590434


紧接着[BCG]如何建立一个BCG属性页对话框

属性表单PropertySheet中,去除上一步下一步帮助应用四个按钮,并调整窗口大小的办法。

给属性表单实现虚函数-OnInitDialog()

我的属性表单类是 QFXMainPpSheet .

添加后的代码:

代码语言:javascript复制
BOOL QFXMainPpSheet::OnInitDialog()
{
    BOOL bResult = CBCGPPropertySheet::OnInitDialog();

    // TODO:  在此添加您的专用代码

    return bResult;
}

添加好了,就要实现自己的代码了。

核心代码

代码语言:javascript复制
BOOL QFXMainPpSheet::OnInitDialog()
{
    BOOL bResult = CBCGPPropertySheet::OnInitDialog();

    // TODO:  在此添加您的专用代码

    //禁用 4 Button
    GetDlgItem(IDOK)->EnableWindow(FALSE);
    GetDlgItem(IDCANCEL)->EnableWindow(FALSE);
    GetDlgItem(ID_APPLY_NOW)->EnableWindow(FALSE);
    GetDlgItem(IDHELP)->EnableWindow(FALSE);

    //隐藏 4 Button
    GetDlgItem(IDOK)->ShowWindow(SW_HIDE);
    GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);
    GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE);
    GetDlgItem(IDHELP)->ShowWindow(SW_HIDE);

    //调整窗体大小
    CRect btnRect;
    CRect wdnRect;
    GetDlgItem(IDCANCEL)->GetWindowRect(&btnRect);
    GetWindowRect(&wdnRect);    
    ::SetWindowPos(this->m_hWnd, HWND_TOP, 0,0,wdnRect.Width(),wdnRect.Height() - btnRect.Height()-10, SWP_NOMOVE | SWP_NOZORDER); 


    return bResult;
}

效果展示

透明效果不一样是因为后者用了win7的Aero效果。

1.原先效果
2.取消后效果

0 人点赞