MFC之添加属性页
2015-09-21 15:42
399 查看
属性页一定是由几个页面构成的,首先要创建几个基类是CPropertyPage的对话框。例如,创建两个类,CTestPage1 、CTestPage2
一定要有一个类去管理几个属性页面,然后要创建一个基类是CPropertySheet的类。例如,CTestSheet
各部件准备好了,然后就要组合起来。在CTestSheet.cpp文件中找到下面这个构造函数:
去掉属性页底下的四个按钮:确定、取消、应用、帮助
应用按钮:在上面的构造函数中添加语句:
帮助按钮:方法一、在上面的构造函数
确定按钮和取消按钮:在OnInitDialog函数中添加语句:
同样,还可以采用下面的方式,去掉四个按钮,同时还消去界面下方的空白区,在OnInitDialog函数中添加语句:
一定要有一个类去管理几个属性页面,然后要创建一个基类是CPropertySheet的类。例如,CTestSheet
各部件准备好了,然后就要组合起来。在CTestSheet.cpp文件中找到下面这个构造函数:
CTestSheet::CTestSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
a、先在CTestSheet.h中声明两个属性页面对象
CTestPage1 m_testpage1; CTestPage2 m_testpage2;
b、在上面的构造函数中,添加属性页面,如下
AddPage(&m_testpage1); AddPage(&m_testpage2);
c、各部件都组装好了,只要定义对象,然后就可以调用了。
CTestSheet sheet(_T("属性页")); sheet.DoModal();
去掉属性页底下的四个按钮:确定、取消、应用、帮助
应用按钮:在上面的构造函数中添加语句:
m_psh.dwFlags |= PSH_NOAPPLYNOW;
帮助按钮:方法一、在上面的构造函数
m_psh.dwFlags &= ~(PSH_HASHELP); m_testpage1.m_psp.dwFlags&= ~(PSP_HASHELP); m_testpage2.m_psp.dwFlags&= ~(PSP_HASHELP);
确定按钮和取消按钮:在OnInitDialog函数中添加语句:
pWnd =GetDlgItem(IDOK); if(pWnd && pWnd->GetSafeHwnd()) {pWnd->ShowWindow(false);} pWnd =GetDlgItem(IDCANCEL); if(pWnd && pWnd->GetSafeHwnd())
同样,还可以采用下面的方式,去掉四个按钮,同时还消去界面下方的空白区,在OnInitDialog函数中添加语句:
GetDlgItem(IDOK)->ShowWindow(SW_HIDE); GetDlgItem(IDHELP)->ShowWindow(SW_HIDE); GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE); GetDlgItem(ID_APPLY_NOW)->ShowWindow(SW_HIDE); //获取窗体尺寸 CRect btnRect; GetDlgItem(IDCANCEL)->GetWindowRect(&btnRect); CRect wdnRect; GetWindowRect(&wdnRect); //调整窗体大小 ::SetWindowPos(this->m_hWnd, HWND_TOP,0,0,wdnRect.Width(),wdnRect.Height()-btnRect.Height(),NULL);
相关文章推荐
- 与数据库连接的页面增删改查 的easyui实现(主要是前端实现)
- scp
- Android 性能测试
- IOS学习笔记——Obj-c中实例方法与类方法的区别
- Note
- 希尔排序
- 04 试一下,编写第一个JAVA程序
- Debian包管理工具——APT的工作原理详解
- 判断单向链表中是否有环
- Xcode里-ObjC, -all_load, -force_load
- 喜大普奔之终于会用C写Excel Function了
- gets函数哈scanf函数的区别
- LoghtOj1201(最大独立集)
- iOS—NSLog各种打印格式
- 由is_base_of看C++中的SFINAE
- 关于PHP浮点数你应该知道的(All ‘bogus’ about the float in PHP)
- Discuz论坛搭建
- MS SQL 全局临时表的删除
- zabbix 设备(自己的实践)
- 洗牌算法