AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

C++ Builder 在控件中加入图形

51自学网 http://www.51zixue.net
5.4 在控件中加入图形
有一些窗口控件可让你定制其绘制的方式。这些控件包括列表框、组合框、菜单、标题、标签控制、列表视图、状态栏、树视图及工具栏等。在运行时,它们由其属主(通常是窗体)绘制,而不是使用Windows标准的绘制方式。这些属主绘制控件最常用于提供图形以代替文本项或附加给文本项。有关使用属主绘制给菜单添加图像信息,请参见4.7.2节中的“在菜单项中加入图像”。

所有的属主绘制控件都包含项列表。通常,这些列表是Windows显示为文本的串的列表,或是包含Windows显示为文本的串的对象列表。可为每个项分配一个对象,这样,当绘制项时就可方便地使用这些对象。

通常,在C++Builder中创建属主绘制控件包括下列步骤:
1) 指定控件为属主绘制控件。
2) 给串列表增加图形对象。
3) 绘制这些属主绘制的项。

5.4.1 指定控件为属主绘制控件
要定制控件的绘制,必须为在需要时画出控件图像提供事件处理程序。一些控件可自动接受这些事件。例如,列表视图、树视图及工具栏都会在绘制过程的不同阶段收到这些事件,同时并不需要设置任何属性。这些事件的名字一般为OnCustomDraw或OnAdvancedCustomDraw。
其他控件,在接受属主绘制事件之前需要设置属性。列表框、组合框、标题控件及状态栏有一个Style属性。它确定控件是使用缺省绘制方式(称为standard)还是属主绘制方式。网格使用DefaultDrawing属性来启用或禁用缺省绘制方式。列表视图和标签控制有一OwnerDraw属性用于启用或禁用缺省绘制方式。
列表框和组合框有附加的属主绘制样式,称为fixed和variable,如表5-2中所述。其他控件则总是fixed样式,虽然其包含文本的项的大小可能是多样的,但在绘制控件之前各项的大小已被决定。
 
 
上一篇:将无声的视频剪辑加入应用程序  下一篇:C++ Builder 处理控件中的文本