MFCPropertyGridCtrl是VC2008引入的控件,是MFC中功能比较抢到的控件之一。这篇博客将详细介绍空间的使用,包括空间的属性、方法、类的继承、点击、编辑、事件等,希望能有帮助。

–官方手册–

1. MFCPropertyGridCtrl简介

MFCPropertyGridCtrl的外观如下图所示,主要由三部分组成:表头、属性、描述。对于属性,可以进行分组,每一组可以由多个不同属性组成,可以接受(不局限于)一下几项:颜色、字体、文件、选项等。

2. MFCPropertyGridCtrl的属性

选中控件,F4插卡属性,会弹出左边的属性窗口,可以简单控制控件的一些外观和行为:

Description Rows Count 描述部分的行数
Enable Description Area 是否启用描述功能
Enable Header 是否启用表头
Notify 是否允许编辑
Mark Modified Properties 是否着重显示修改
Use Alphabetic mode 启用该模式将按字母排列,不分组

 

3. 更改表头宽度

刚创建的空间,Property模式只有5pixel,我们需要添加一段代码来改变Property的宽度,让属性能够显示正常。

4. 添加属性和分组

4.1 添加属性

4.2 添加下拉菜单

4.3 添加颜色、文件、字体

4.4 添加分组

5. MFCPropertyGridCtrl控件的内建函数

5.1 控件的创建

5.2 清除所有属性

相当与控件复位

5.3 删除指定属性

5.4 依次删除属性

5.5 数据读写

5.6 设置为初始值

5.7 读取值、初值、名字、ID

GetData得到的值常常作为属性编号,用来区分控件

5.8 选择设置值

调用对应的Sel和Set方法

6. MFCPropertyGridPropery子类

  • CCheckBoxProp
  • CPasswordProp
  • CSliderProp
  • CBoundedNumberPairProp
  • CBoundedNumberSubProp
  • CIconListProp
  • CComboBoxExProp
  • COwnerDrawDescrProp
  • CTwoButtonsProp
  • CCustomDlgProp

7. MFCPropertyGridCtrl获取用户输入值

8. MFCPropertyGridCtrl属性改变事件

.h中加入

.cpp中加入ON_REGISTERED_MESSAGE

然后添加函数 OnPropertyChanged

如果使用GetData的值作为空间ID来进行判断,则必须要在创建控件时手动SetData来设置ID,否则默认都是0

这里根据情况,还可以这样写:

还有就是可能需要做类型检查的情况

所有详细都会汇总到这个函数里,所以需要做手工判断

最后再贴一遍官方手册:–官方手册– 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注