AutoCAD 二次开发学习系列【4】 - 实现CPropertySheet进行用户交互

项目顺利进行中。。

先阶段要实现一个对话框,让用户配置数据。一开始打算只实现简单的对话框就可以了,既实现CAcUiDialog,但发现如果分页的效果最好,所以就重新打算用带TAB页窗口来实现。

浏览了下VS的Toolbox里的对象,最接近,但经调查后发现MS已经推荐使用CPropertySheet(属性页)来实现了,每一页都是个CPropertyPage,效果很好。

实现的步骤总结如下:

  1. 定义继承与CPropertyPage的子类,作为每一个页面的窗口。其大小决定了父窗口CPropertySheet的大小。
  2. 在CPropertyePage的子类中声明该页面内的控件。
  3. 定义继承于CPropertySheet的子类,作为主窗口,将CPropertyPage的实例作为其中的一个页面。
  4. CPropertySheet默认只有OK、Cancel、Apply、help四个按钮,所以你可以在CPropertySheet的子类中声明CButton的实例,加载到CPropertySheet的底部。

其中碰到问题如下

1. 如何增加自定义按钮

通过google,可以找到很多。我使用的是MSDN上的方法【http://support.microsoft.com/kb/140586/en-us】,其中应注意的如何确定其位置。

2. 按钮字体不一致

现象

可以通过语句  m_Button.SetFont(GetFont());  来解决。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值