如何删除CPropertySheet 类派生生成的标签对话框上的默认按钮 “确定”“取消”“删除”
来源:互联网 发布:优化技术详解pdf 编辑:程序博客网 时间:2024/05/16 12:20
最近在编写MFC程序时,要用Tabctrl控件,系统工具箱自带的CTabCtrl控件在窗体改变大小时,其子窗体内部控件不好自适应改变大小,于是,网上查质料,找到基于CPropertySheet 和CPropertyPage类也可以实现类似TabCtrl控件(标签对话框),且其内部控件能很好的自适应窗体改变大小。。。。
但是,用CPropertySheet 和CPropertyPage类完成标签对话框的后,程序运行时,每个标签页上底部会留有有“确定”、“取消”和“删除”按钮(点击没有响应),影响程序界面的外观,上网查了一些资料,用以下方法,可以将标签对话框的三个按钮隐藏掉:
在CPropertySheet派生类的OnInitDialog()函数中加入以下语句即可
this->GetDlgItem( IDCANCEL )->ShowWindow( FALSE );
this->GetDlgItem(IDOK) ->ShowWindow(SW_HIDE);
this->GetDlgItem(IDHELP) ->ShowWindow(SW_HIDE);
注意,是函数OnInitDialog(),不是CPropertySheet派生类的构造函数,否者就会出现类似断言错误 ASSERT(::IsWindow(m_hWnd));
如我的程序中CPropertySheet的派生类为CTabDataSheet (class CTabDataSheet : public CPropertySheet),所以我的程序为:
BOOL CTabDataSheet::OnInitDialog()
{
BOOL bResult = CPropertySheet::OnInitDialog();
// TODO: 在此添加您的专用代码
// Hide Apply and Help buttons
this->GetDlgItem( IDCANCEL )->ShowWindow( FALSE );
this->GetDlgItem(IDOK) ->ShowWindow(SW_HIDE);
this->GetDlgItem(IDHELP) ->ShowWindow(SW_HIDE);
return bResult;
}
- 如何删除CPropertySheet 类派生生成的标签对话框上的默认按钮 “确定”“取消”“删除”
- MFC取消HtmlDialog对话框的"确定"和"取消"按钮方法
- 为什么用mfc创建的对话框中确定和取消按钮上的字是横着的
- 弹出一个含有确定和取消按钮的对话框
- 单击BindingNavigator上的删除按钮时弹出确认对话框
- 改变UISearchBar上默认的取消按钮
- CPropertySheet里的帮助按钮如何去掉
- 如何把多余的ToolBar上的按钮删除
- 如果错误的删除了对话框的退出按钮,如何添加新的退出按钮?
- 给DataGrid的删除按钮添加"删除确认"对话框
- 给DataGrid的删除按钮添加"删除确认"对话框
- 给DataGrid的删除按钮添加"删除确认"对话框
- 给DataGrid的删除按钮添加"删除确认"对话框
- CPropertySheet属性页对话框中各个按钮的ID值
- CPropertySheet属性页对话框中各个按钮的ID值
- 如何隐藏CPropertySheet 上的分隔线
- Window对象的常用方法中带有提示信息、确定和取消按钮的对话框
- 修改CPropertySheet类默认的TAB位置
- C++接口继承规则
- Linux 档案权限,账号管理,目录配置的设定
- 前进
- 柳传志马云的用人之道:办公司就是办人,把钱存在员工身上
- SGU 126 - Boxes
- 如何删除CPropertySheet 类派生生成的标签对话框上的默认按钮 “确定”“取消”“删除”
- Android4.0上添加截屏快捷方式
- (Oracle技能篇) oracle数据库分页查询和各大数据库的分页查询
- SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解——跟着开涛学SpringMVC
- PAT_1053: Path of Equal Weight
- Cocoa编程开发者手册
- 刷新页面时原来位置固定不动,在页面刷新的时候。MaintainScrollPositionOnPostback="true"
- Btrace中的几个关键技术
- 2013艾瑞年度峰会:大数据下的移动营销