点击或拖拽改变大小

DataColumn.EnableCellDraw 方法

X#
通过注册单元格绘制方法,启用对单元格的个别绘制。

命名空间:  VO
程序集:  VOGUIClasses (在 VOGUIClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD EnableCellDraw(
	symMethodName
) AS USUAL CLIPPER
查看代码

参数

symMethodName (Optional)
类型:__Usual
将用于绘制此列中的单元格的方法的符号名称。

返回值

类型:__Usual
备注
通过开发人员提供的方法,启用对此列中的单元格的绘制。
每当要绘制单元格时,都会调用提供的方法。方法会传递单元格的通常值,并且可以使用该值来确定绘制时应使用的文本颜色和背景刷, 分别通过分配新值给 DataColumn:CellTextColor 和 DataColumn:CellBackground 来实现。
示例
以下示例显示了如何使用 DataColumn:EnableCellDraw 来在数据浏览器中突出过期的帐户:
X#
 1CLASS ColorColumn INHERIT DataColumn
 2    PROTECT oValidTextColor AS Color
 3    PROTECT oValidBackground AS Brush
 4    PROTECT oInvalidTextColor AS Color
 5    PROTECT oInvalidBackground AS Brush
 6
 7    METHOD Init( oFieldSpec ) CLASS ColorColumn
 8        SUPER:Init( oFieldSpec )
 9
10        oValidTextColor     := Color{ COLORWHITE }
11        oValidBackground    := Brush{ Color{ COLORBLUE } }
12        oInvalidTextColor   := Color{ COLORYELLOW }
13        oInvalidBackground  := Brush{ Color{ COLORRED } }
14
15        RETURN SELF
16
17    METHOD Init( oWindow, iCtlID, oServer ) CLASS ColorSubForm
18        // 一些初始化代码
19        SELF:Browser := ColorSubForm_Browser{ SELF }
20
21        oDBDUE_DATE             := ColorColumn{ ACCOUNTS_DUE_DATE{} }
22        oDBDUE_DATE:Width       := 12
23        oDBDUE_DATE:HyperLabel  := oDCDUE_DATE:HyperLabel
24        oDBDUE_DATE:Caption     := "DueDate"
25
26        SELF:Browser:AddColumn( oDBDUE_DATE )
27
28        oDBDUE_DATE:EnableCellDraw( #ValidDateDraw )
29        // 更多初始化代码
30        RETURN SELF
31
32    METHOD ValidDateDraw( uValue ) CLASS ColorColumn
33        IF uValue < GetPastDueDate()
34            SELF:CellTextColor  := oValidTextColor
35            SELF:CellBackground := oValidBackground
36        ELSE
37            SELF:CellTextColor  := oInvalidTextColor
38            SELF:CellBackground := oInvalidBackground
39        ENDIF
40
41        RETURN NIL
参见