项目顺利进行中。。
先阶段要实现一个对话框,让用户配置数据。一开始打算只实现简单的对话框就可以了,既实现CAcUiDialog,但发现如果分页的效果最好,所以就重新打算用带TAB页窗口来实现。
浏览了下VS的Toolbox里的对象,最接近,但经调查后发现MS已经推荐使用CPropertySheet(属性页)来实现了,每一页都是个CPropertyPage,效果很好。
实现的步骤总结如下:
- 定义继承与CPropertyPage的子类,作为每一个页面的窗口。其大小决定了父窗口CPropertySheet的大小。
- 在CPropertyePage的子类中声明该页面内的控件。
- 定义继承于CPropertySheet的子类,作为主窗口,将CPropertyPage的实例作为其中的一个页面。
- CPropertySheet默认只有OK、Cancel、Apply、help四个按钮,所以你可以在CPropertySheet的子类中声明CButton的实例,加载到CPropertySheet的底部。
其中碰到问题如下
1. 如何增加自定义按钮
通过google,可以找到很多。我使用的是MSDN上的方法【http://support.microsoft.com/kb/140586/en-us】,其中应注意的如何确定其位置。
2. 按钮字体不一致
现象
可以通过语句 m_Button.SetFont(GetFont()); 来解决。