类似VB中的分类属性表控件

 

类似VB中的分类属性表控件

作者:徐景周

下载实例代码(http://www.csdn.net/cnshare/soft/12/12322.shtm)

 
如果你见过VB中的分类属性表的话,你一定不会陌生吧!这种属性表不但美观,而且十分简明、易操作。下面有我做的一个类似于这种VB中分类属性表的控件,例图如下:

 

 

 

基本构成思想:此控件从ListBox派生,将每一行列表,填充为三列显示。其中第一列为分类显示的位图所需,第二列为不能编辑的属性名,第三列为可编辑的按钮、下拉框、编辑框等。第一列做更换显示位图及展开或收缩其下相关条目使用;第二列显示创建时的固定属性名;第三列可根据创建时指定的创建类型,来决定在其中该创建何种控件(按钮、下拉框、编辑框等)。具体实现方法可参看下载示例中的源码。

 

 

下面我来说说如何在你的工程文件中使用它们:

1、将示例工程中的二个位图:Expand.bmp和UnExpand.bmp复制到你的工程资源res目录下,导入它们相应命名为:IDB_PROPERTY_EXPAND和IDB_PROPERTY_UNEXPAND。

2、将示例工程中的控件文件:PropertyList.cpp和PropertyList.h复制到你的工程中,并导入它们。

3、在你的工程文件中相关对话框中新建一ListBox控件,并创建一成员变量m_cList,在头文件中将其成员变量的派生类从CListBox改为CPropertyList。

4、在上述对话框头文件中加入#include “PropertyList.h”,在该类中定义变量如下:

   CPropertyList*  m_pList;            //VB属性表控件

 

    CPropertyItem*  m_pClassName;       //公用属性分类名称

  CPropertyItem*     m_pName;          //名称

5、在上述该对话框类的初始化对话框OnInitDialog()中,创建其内容,如下:

 //初始化VB属性表控件

m_pList = &m_cList;

 

       //公用属性,jignzhou xu

       m_pClassName = new CPropertyItem("公用属性","",PIT_EDIT,"",TRUE,TRUE,0);

              m_pName = new CPropertyItem("名称","",PIT_EDIT,"",FALSE,FALSE,0);    

6、在上述对话框类中的OnDestroy中,删除创建的属性条目,如下:

delete m_pClassName;

delete m_pName; 

7、剩下,你就可以从其创建的变量中获取或设置相应值了,如下:

 //赋值给属性表相应条目

 m_pName->m_curValue=pGraph->GetNodeName();  

 //从属性表相应条目中获取值

 pGraph->NodeName = m_pName->m_curValue

 

  其中,具体实现方法可在下载后示例源码后,参看既可。

 

 

联系方式:

作者EMAIL:jingzhou_xu@163.com

未来工作室(Future Studio)

 

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论
VB控件属性大全【珍藏版】 1.01、窗体(FORM)常用属性 2 1.02、标签控件(Lable)常用属性 7 1.03、文本框控件(TextBox)常用属性 9 1.04、框架控件(Frame)常用属性 13 1.05、命令按钮控件(CommandButton)常用属性 15 1.06、复选框控件(CheckBox)常用属性 17 1.07、单选钮控件(OptionButton)常用属性 19 1.08、组合框控件(ComboBox)常用属性 22 1.09、列控件(ListBox)常用属性 25 1.10、水平滚动条控件(HScrollBar)和垂直滚动条控件(VScrollBar)常用属性 28 1.11、定时器控件常用属性 30 1.12、文件系统控件常用属性 30 1.13、形状控件(Shape)常用属性 33 1.14、直线控件(Ling)常用属性 35 1.15、图像控件(Image)常用属性 36 1.16、图片框控件(PictureBox)常用属性 38 1.17、数据控件(Data)常用属性 43 1.18、OLE容器控件(OLE)常用属性 46 1.19、菜单控件常用属性 48 2.02、电影(ActiveMovie)控件常用属性 49 2.01、Adodc控件常用属性 52 2.03、动画(Animation)控件常用属性 55 2.04、公用对话框控件(CommonDialog)控件常用属性 56 2.05、数据组合框(DataCombo)控件常用属性 60 2.06、数据型电子控件(DataGrid)常用属性 62 2.07、数据列(DataList) 控件常用属性 65 2.08、DTPicker控件常用属性 67 2.09、平面滚动条控件(FlatScrollBar)常用属性 70 2.10、图像组合框(ImageCombo)控件常用属性 71 2.11、图像列控件(ImageList)常用属性 74 2.12、Inet控件常用属性 74 2.13、列视图控件(ListView)常用属性 75 2.14、MAPIMessages控件常用属性 79 2.15、MAPISession控件常用属性 80 2.16、MaskEdBox控件常用属性 80 2.17、多媒体(MMControl)控件常用属性 83 2.18、月视图(MonthView)控件常用属性 86 2.19、图控件(MSChard)常用属性 89 2.20、MSComm常用属性 93 2.21、电子控件(MSFlexGrid)常用属性 94 2.22、层次型电子控件(MSHFlexGrid)常用属性 99 2.23、MSRDC控件常用属性 104 2.24、PictureClip控件常用属性 106 2.25、进度栏(ProgressBar)控件常用属性 107
控件总览:   在VB开发环境控件在界面开发元素占有重要地位。它不仅有外观整洁、达形式规范优点,而且更重要是它较高信息现率(就是相对于其他控件来说能够达更多信息),随着信息时代到来,它应用将更加广泛。    那么在VB平台下,如何操作这一功能强大控件元素呢?事实上我们知道,VB平台下面控件是相当丰富,总结下来提供了4种类型:Microsoft Data Bound grid Control、Microsoft Datagrid Control、Microsoft Flexgrid Control、Microsoft Hierarchial Flexgrid Control. 这四种格各有其特点,下面我们一一讨论。   1. Microsoft Data Bound grid Control   此控件主要用于数据绑定(可以不绑定,但是因为不提供对单个cell控制支持,所以实际上这样做是不经济)。具体说来,就是数据源比较固定情况下可以使用这种控件。   具体使用方法是设定此控件datasource属性,就可以不用编写任何代码就可以显示该数据源所指向记录数据。比如可以将datasource设置为一个data控件,而data控件又指向数据库"成绩" 一个"语文",那么当程序运行时,它就自动显示此"语文"数据。 基本步骤如下: 1、向工程上添加Microsoft Data Bound Grid Control控件,即DBGrid控件。 2、在窗体上添加DBGrid控件DBGrid1和Data控件Data1。 3、设置Data1DatabaseName属性为你要看数据库名字。 4、设置Data1RecordSource属性名字或合法SQL Select语句。 5、设置DBGrid1DataSource属性为Data1。   从上面分析看得出来,这个控件虽然操作方便,但是它也有局限性,就是不能对显示数据进行灵活控制操作,比如有些数据允许用户修改,有些数据却不允许用户修改,而此控件却只能提供全部数据源原子操作:即要么全部允许修改,要么就全部不允许。还有另外此控件也不提供对单个单元格(cell)进行操作,所以提供不了更为个性化界面风格。   2. Microsoft Datagrid Control   此控件跟前面介绍Data Bound grid Control控件很相似,也是主要进行绑定操作,而缺点和Data Bound grid Control完全一样。但是它跟Data Bound grid Control不一样是其数据源驱动引擎只能是OLEDB形式,不能是DAO,比如就可以使用ADO数据控件,不能使用DATA控件。而Data Bound grid Control却刚好和它相反,这一点在开发一定要注意。   3. Microsoft Flexgrid Control与Microsoft Hierarchial Flexgrid Control.   这里重点介绍这两种控件,因为在实际开发,这两种控件应用场合更多一些,它不仅能够反映数据,而且也能把数据修改信息反映到数据库去,所以弥补了上述两种控件不足。   如果数据不需要修改,那么可以进行绑定操作,其方法跟前面介绍完全一样,就是通过设置DataSource属性来完成数据显示工作。但是实际开发,需要对整个控件更为灵活显示控制。   在给出例程之前,有必要对这一控件进行比较详尽认识:这种控件允许将文本或者图象放置于每个单元格之控件Row与Col属性允许用户在代码指定当前行和列,当然也可通过操作鼠标和键盘来改变这两个属性,而text属性指明当前单元格文本。如果单元格文本太长而不能完全显示出来话,可以通过将WordWrap属性设置为true来达到显示。下面将比较重要属性小结如下:   DataSource---------用来指定需要绑定数据源,比如data控件。   Cellpicture----------用来设定当前单元格图象,便于显示该图象。此属性不能在设计时使用。   Col,Row---------------设定当前列和当前行,注意它们均是从0开始,如果同时设定它们,可以指定当前单元格。设计时也不能使用。   Cols,Rows---------------设置控件列数和行数。   Hwnd---------------格句柄,可以结合Windows API对控件进行更高级控制。   Text---------------指定当前单元格文本内容。   TextMatrix(i,j)-------此属性比较重要,它用来指定第I行和第j列所确定单元格文本内容。它等价于下面代码: MSHFlexGrid1.Rows =i MSHFlexGrid1.Cols =j MSHFlexGrid1.Text =指定字符串   WordWrap-------为ture时可以在当前单元格换行显示,否则如果要显示字符长度超过列宽,那么就不能显示完全。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Johnny-Xu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值