




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录TOC o 1-5 h z HYPERLINK l bookmark0 1引言1 HYPERLINK l bookmark2 1.1目的1 HYPERLINK l bookmark4 1.2参考资料1 HYPERLINK l bookmark6 2GRID控件介绍1 HYPERLINK l bookmark8 2.1功能介绍1 HYPERLINK l bookmark10 2.2框架介绍2 HYPERLINK l bookmark12 2.3主要类介绍4 HYPERLINK l bookmark14 CGridCtrl类4 HYPERLINK l bookmark16 CGridCellC
2、heck类5 HYPERLINK l bookmark20 CGridCellCombo类72.4控件类CGRIDCTRL常用函数说明102.4.1行和列的设置10 HYPERLINK l bookmark46 2.4.2单元格信息设置132.4.3控件操作16 HYPERLINK l bookmark92 2.4.4外观和特征设置202.4.5颜色设置242.4.6控件消息介绍26 HYPERLINK l bookmark142 3实例制做27 HYPERLINK l bookmark144 3.1实例图片27 HYPERLINK l bookmark146 3.2实例制做过程介绍28 HY
3、PERLINK l bookmark148 3.2.1新建项目28 HYPERLINK l bookmark150 初使化GridCtrl控件283.2.3设置固定行和列303.2.4向单元格插入图片31 # HYPERLINK l bookmark152 设置CheckBox列32 HYPERLINK l bookmark154 设置ComboBox列33 HYPERLINK l bookmark156 3.2.7设置行背景颜色和列背景颜色34 HYPERLINK l bookmark158 3.2.8添加消息处理35 HYPERLINK l bookmark160 4实例以外的思考36 1
4、引言1.1目的本文记录了作者在学习了解并使用GridCtrl的过程中的心得体会,希望能够对今后学习使用GridCtrl控件的其他同事有所帮助,使其更快上手。参考资料1)CGridCtrl学习指南网址:/blog/static/21769242200822911559438/CGridCtrl使用详解网址: HYPERLINK /incwar/archive/2009/01/17/3807283.aspx /incwar/archive/2009/01/17/3807283.aspxCGridCtrl源代码一份。需要的同事,可以OA上发邮件给我。作者亲手制做的对于CGridCtrl的使用实例:G
5、ridCtrlTest。需要的同事,可以OA上发邮件给我。2Grid控件介绍功能介绍GridControl控件是一款非常优秀的网格控件,在VC平台上的用途非常广泛也非常灵活。可以将其看做上是在CListCtrl基础上的定制和延伸。GridControl具备以下操作和功能:使用鼠标可以进行单元格的选择,还可以辅助Ctrl和shift的组合键进行选择。也可以取消选择。单元格可以有不同文本和背景颜色的个性化设置单元格可以有字体的个性化设置单元格可以标注只读或者其他的状态设置及检测单元格的拖放动作可以对任何列或行固定Ctrl-c,Ctrl-X和Ctrl-V执行拷贝、剪切、粘贴操作,Ctrl-A全选当单
6、元格成为焦点,并且在单元格的编辑区域按下字符键,就意味着在那个单元格进行编辑了可以在单元格中加入图片对大型数据可以使用虚拟模式充分的打印支持,支持文档/浏览环境(包括打印预览)或是基于会话的应用(不支持打印预览)可选的列表模式,包括对行的全选或单选,还有单击列标题提示进行插入的操作。众多的虚函数可以很容易对控件进行功能扩充单元格的标题提示太小不能显示数据可以隐藏行和列行和列可以按照大小进行重排,还可以取消对行、列或两者的排序。双击区分点,行或者列可以按照大小自动排序框架介绍GridControl包含一个拖曳对象(CGridDropTarget)和一个标题提示对象(CTitleTip),前者处理
7、拖曳操作,后者在单元格物理空间在最大限度内不足以显示其内容时可以显示出其内容。而CCellID类是一个用来参考单元格范围的便利的辅助类。此外,GridControl还包含从CGridCell派生下来的单元格对象。图1Grid单元格可以是任何类型,这些类型都是从CGridCell派生下来的,基类中定义了基本的数据存储和编辑操作。扩充的两个类CGridCellCombo和CGridLCellCheck示范了如何创建自己的单元格类。图2单元格有两种主要状态即固定和非固定。固定的单元格通常在Grid的左上方,并且不会随着Grid的卷动而移动,并且不能进行编辑,通常即这些单元格包含列和行的标题部分。而非
8、固定的单元格构成了Grid的内部,你可以对它进行编辑和选择。2.3主要类介绍CGridCtrl类CGridCtrl是控件类,派生于CWnd类,代表整个网格对象,具备了针对网格的所有基本操作,如设置网格行和列,设置网格外观,设置单元格信息等。下面介绍控件初使化过程中的一个重要函数CGridCtrl:Create:函数申明:BOOLCGridCtrl:Create(constRECT&rect,CWnd*pParentWnd,UINTnID,DWORDdwStyle)函数作用:创建控件参数说明:rect:控件位置信息pParetWnd:父窗口指针nID:为控件指定的ID,作为本次创建的控件对象的标
9、识dwStyle:控件风格,默认值为:WS_CHILD|WS_BORDER|WS_TABSTOP|WS_VISIBLE。常用风格请参见下表:控件风格ID说明WS_CHILD说明窗口为子窗口WS_OVERLAPPED重叠窗口,通常有标题条和边界WS_POPUP弹出式窗口,不能与WS_CHILD起使用WS_BORDER有边界WS_VISIBLE窗口可见WS_DISABLED初使状态为禁止WS_VSCROLL具有垂直滚动条WS_HSCROLL具有水平滚动条WS_TABSTOP可用TAB键移动到下一个具有WS_TABSTOP风格的控件结果返回:成功返回true;失败则返回FALSE注:关于CGridC
10、TrL的其它常用函数请参见本文2.4CGridCellCheck类CGridCellCheck继承于CGridCell,是一个复选框风格的单元格类。主要函数GetCellExtent(重载)函数申明:virtualCSizeGetCellExtent(CDC*pDC);函数作用:获得单元格大小参数说明:pDC:设备对象指针结果返回:CSize对象,描述单元格大小OnClick(重载)函数申明:virtualvoidOnClick(CPointPointCellRelative);函数作用:单击时,改变复选框状态参数说明:PointCellRelative:单元格的相对坐标结果返回:voidGe
11、tTextRect(重载)函数申明:virtualBOOLGetTextRect(LPRECTpRect);函数作用:获取单元格文本的位置信息参数说明:pRect:输出文本的位置信息结果返回:成功返回TRUE;失败返回FALSEDraw(重载)函数申明:virtualBOOLDraw(CDC*pDC,intnRow,intnCol,CRectrect,BOOLbEraseBkgnd);函数作用:根据当前复选框的状态重绘复选框参数说明:pDC:设备对象指针nRow:扌旨定行IndexnCol:指定列Indexrect:重绘区域bEraseBkgnd:重绘前是否擦除背景结果返回:成功返回TRUE;
12、失败返回FALSESetCheck函数申明:voidCGridCellCheck:SetCheck(BOOLbChecked)函数作用:设置复选框的状态参数说明:bChecked:设置复选框的状态结果返回:voidGetCheck函数申明:BOOLCGridCellCheck:GetCheck()函数作用:获取复选框的状态参数说明:bChecked:设置复选框的状态结果返回:复选框被选中,返回TRUE;否则返回FALSE设置单元格类型若要设置某一个单元格为复选框类型,则需调用:BOOLCGridCtrl:SetCellType(intnRow,intnCol,CRuntimeClass*pRu
13、ntimeClass)若要让所有新创建的单元格都是复选框类型的的,则需调用:BOOLCGridCtrl:SetDefaultCellType(CRuntimeClass*pRuntimeClass)注:详情参见:本文章节2.4.2CGridCellCombo类CGridCellCombo继承于CGridCell,是一个下拉框风格的单元格类。主要函数GetCellExtent(重载)函数申明:virtualCSizeGetCellExtent(CDC*pDC);函数作用:获得单元格大小参数说明:pDC:设备对象指针结果返回:CSize对象,描述单元格大小Edit(重载)函数申明:virtualB
14、OOLEdit(intnRow,intnCol,CRectrect,CPointpoint,UINTnID,UINTnChar);函数作用:用户触发此事件,控件进入编辑状态。本质上就是创建ComboBox控件来负责编辑参数说明:nRow:扌旨定行IndexnCol:指定列Indexrect:编辑区域point:无意义nID:被创建的ComboBox的IDnChar:当通过按键触发该编辑事件时,表示按下的第一个键结果返回:成功返回TRUE;否則返回FALSE3)EndEdit(重载)函数申明:virtualBOOLEndEdit();函数作用:编辑结束参数说明:无结果返回:成功返回TRUE;失败
15、返回FALSEGetTextRect(重载)函数申明:virtualBOOLGetTextRect(LPRECTpRect);函数作用:获取单元格文本的位置信息参数说明:pRect:输出文本的位置信息结果返回:成功返回TRUE;失败返回FALSEDraw(重载)函数申明:virtualBOOLDraw(CDC*pDC,intnRow,intnCol,CRectrect,BOOLbEraseBkgnd);函数作用:重绘单元格控件参数说明:pDC:设备对象指针nRow:扌旨定行IndexnCol:指定列Indexrect:重绘区域bEraseBkgnd:重绘前是否擦除背景结果返回:成功返回TRUE
16、;失败返回FALSESetStyle函数申明:voidSetStyle(DWORDdwStyle)函数作用:设置ComboBox控件的风格参数说明:dwStyle:ComboBox风格。详见下表:风格ID说明CBS_SIMPLE下拉列表总是可见,控件可编辑CBS_DR0PD0WN下拉列表在用户点击时可见,控件可编辑CBS_DROPDOWNLIST下拉列表在用户点击时可见,控件不可编辑CBS_SORT下拉列表选择项排序CBS_AUTOHSCROLL下拉列表自动添加滚动条CBS_UPPERCASE下拉列表选择项英文大写显示CBS_LOWERCASE下拉列表选择项英文小写显示CBS_DISABLEN
17、OSCROLL下拉列表滚动条禁用结果返回:voidGetStyle函数申明:DWORDGetStyle()函数作用:获得ComboBox控件的风格属性参数说明:无结果返回:返回ComboBox控件的风格属性SetOptions函数申明:voidSetOptions(constCStringArray&ar)函数作用:设置ComboBox下拉列表选项参数说明:ar:传入字符串数组,作为下拉列表选项结果返回:void设置单元格类型若要设置某一个单元格为下拉框类型,则需调用:BOOLCGridCtrl:SetCellType(intnRow,intnCol,CRuntimeClass*pRuntim
18、eClass)若要让所有新创建的单元格都是下拉框类型的的,则需调用:BOOLCGridCtrl:SetDefaultCellType(CRuntimeClass*pRuntimeClass)注:详情参见:本文章节2.4.22.4控件类CGridCtrl常用函数说明行和列的设置SetRowCount函数原型:BOOLSetRowCount(intnRows)函数作用:设置行的数目(包括固定行)参数说明:nRows:行数目结果返回:如果成功,返回TRUE;否则返回FALSESetColumnCount函数原型:BOOLSetColumnCount(intnCols)函数作用:设置列的数目(包括固定
19、列)参数说明:nCols:列数目结果返回:如果成功,返回TRUE;否则返回FALSESetFixedRowCount函数原型:BOOLSetFixedRowCount(intnFixedRows=1)函数作用:设置固定行的数目参数说明:nFixedRows:固定行数目结果返回:如果成功,返回TRUE;否则返回FALSESetFixedColumnCount函数原型:BOOLSetFixedColumnCount(intnFixedCols=1)函数作用:设置固定列的数目参数说明:nFixedRows:固定列数目结果返回:如果成功,返回TRUE;否则返回FALSEGetRowHeight函数原型
20、:intGetRowHeight(intnRow)const函数作用:获取由nRow指定行的高度参数说明:nRow:指定行Index结果返回:返回指定行高度SetRowHeight函数原型:BOOLSetRowHeight(introw,intheight)函数作用:设定由row指定行的高度为height参数说明:row:扌旨定行Indexheight:设置的高度结果返回:如果成功,返回TRUE;否则返回FALSEGetColumnWidth函数原型:intGetColumnWidth(intnCol)const函数作用:获取由nCol指定列的宽度参数说明:nCol:指定列Index结果返回:
21、返回指定列宽度SetColumnWidth函数原型:BOOLSetColumnWidth(intcol,intwidth)函数作用:设定由col指定列的宽度为width参数说明:col:指定列width:设置的宽度结果返回:如果成功,返回TRUE;否则返回FALSEGetFixedRowHeight函数原型:intGetFixedRowHeight()const函数作用:获取固定行的高度参数说明:无结果返回:返回固定行的高度GetFixedColumnWidth函数原型:intGetFixedColumnWidth()const函数作用:获取固定列的高度参数说明:无结果返回:返回固定列的高度G
22、etVirtualHeight函数原型:longGetVirtualHeight()const函数作用:获取所有行的合并高度参数说明:无结果返回:返回所有行的合并高度GetVirtualWidth函数原型:longGetVirtualWidth()const函数作用:获取所有列的合并宽度参数说明:无结果返回:返回所有列的合并宽度结果返回:如果成功,返回TRUE;否则返回FALSE 2.4.2单元格信息设置SetCellType函数原型:BOOLSetCellType(intnRow,intnCol,CRuntimeClass*pRuntimeClass);函数作用:定义响应单元格类的类型参数说
23、明:nRow:指定行nCol:指定列pRunTimeClass:单元格类型,在实际传入该参数时,需要以RUN_TIIME(类名)的形式。比如RUN_TIME(CGridCellChecK)、RUN_TIME(CGridCellComBo)、RUN_TIME(CGridCellNumeric)、RUN_TIME(CGridDefaultCell)结果返回:如果成功,返回TRUE;否则返回FALSESetDefaultCellType函数原型:BOOLSetDefaultCellType(CRuntimeClass*pRuntimeClass);函数作用:为之后新创建的单元格设置默认属性参数说明:
24、pRunTimeClass:单元格类型,在实际传入该参数时,需要以RUN_TIIME(类名)的形式。比如RUN_TIME(CGridCellChecK)、RUN_TIME(CGridCellComBo)、RUN_TIME(CGridCellNumeric)、RUN_TIME(CGridDefaultCell)结果返回:如果成功,返回TRUE;否则返回FALSESetItemText函数原型:BOOLSetltemText(intnRow,intnCol,LPCTSTRstr)函数作用:设置指定单元格的文本内容参数说明:nRow:指定行nCol:指定列str:字符串SetItemImage函数原
25、型:BOOLSetltemlmage(intnRow,intnCol,intiImage)函数作用:设置指定单元格的图形索引。调用函数前,需要设置控件图形列表。详见SetImageList参数说明:nRow:指定行nCol:指定列ilmage:图形索引,从0开始结果返回:如果成功,返回TRUE;否则返回FALSESetItemState函数原型:BOOLSetltemState(intnRow,intnCol,UINTstate)函数作用:设置给定单元格的状态参数说明:nRow:指定行nCol:指定列state:状态ID。详见下表:状态ID状态说明GVIS_FOCUSED单元格成为焦点GVIS
26、_SELECTED单元格被选中GVIS_DROPHILITED单兀格被高亮显示GVIS_READONLY单元格只读GVIS_FIXED单元格固定GVIS_FIXEDROW单元格是固定行的一部分GVIS_FIXEDCOL单元格是固定列的一部分GVIS_MODIFIED单元格被修改过 结果返回:如果成功,返回TRUE;否则返回FALSE SetItemBkColour函数原型:BOOLSetitemBkColour(intnRow,intnCol,COLORREFcr=CLR_DEFAULT)函数作用:设置指定单元格的背景颜色参数说明:nRow:指定行nCol:指定列cr:颜色,可以通过宏RGB(
27、int,int,int)来构建结果返回:如果成功,返回TRUE;否则返回FALSESetItemFont函数原型:BOOLSetItemFont(intnRow,intnCol,LOGFONT*lf)函数作用:设置指定单元格的字体参数说明:nRow:指定行nCol:指定列lf:字体格式。LOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格。详见LOGFONT结构体定义。结果返回:如果成功,返回TRUE;否则返回FALSESetItemFgColour函数原型:BOOLSetItemFgColour(intnRow,intnCol,COLORREFcr=CLR_DEFAULT)函
28、数作用:设置指定单元格的前景颜色参数说明:nRow:指定行nCol:指定列cr:颜色,可以通过宏RGB(int,int,int)来构建2.4.3控件操作InsertColumn函数原型:intInsertColumn(LPCTSTRstrHeading,UINTnFormat,intnCol=-1)函数作用:在nCol指定的地方插入一列参数说明:StrHeading:列标题头nFormat:列的格式。格式选项见下表:选项ID说明DT_TOP竖直居上对齐DT_LEFT水平居左对齐DT_CENTER水平居中对齐DT_RIGHT水平居右对齐DT_VCENTER竖直居中对齐DT_BOTTOM竖直居下对
29、齐DT_WORDBREAK断开字DT_SINGLELINE单行模式nCol:指定列,如果nCol0则在末尾插入一列.结果返回:返回插入列的位置InsertRow函数原型:intInsertRow(LPCTSTRstrHeading,intnRow=-1)函数作用:在nRow处插入一行,此行的单元格的格式与其同列的第一行单元格格式相同参数说明:StrHeading:行标题头nRow:指定行,如果nRow0则在末尾插入一行结果返回:返回插入行的位置DeleteColumn函数原型:BOOLDeleteColumn(intnColumn)函数作用:删除nColumn指定的列参数说明:nColumn:
30、扌旨定列结果返回:如果成功,返回TRUE;否则返回FALSEDeleteRow函数原型:BOOLDeleteRow(intnRow)函数作用:删除nColumn指定的列参数说明:nRow:扌旨定行结果返回:如果成功,返回TRUE;否则返回FALSEDeleteAllItems函数原型:BOOLDeleteAllltems()函数作用:删除Grid中的所有行和内容参数说明:无结果返回:如果成功,返回TRUE;否则返回FALSEDeleteNonFixedRows函数原型:BOOLDeleteAllltems()函数作用:删除所有非固定行参数说明:无结果返回:如果成功,返回TRUE;否则返回FAL
31、SEAutoSizeRow函数原型:BOOLAutoSizeRow(intnRow,BOOLbResetScroll二TRUE)函数作用:自动调整行的大小与最大行一样参数说明:nRow:扌旨定行bResetScroll:如果bResetScroll是TRUE那么滚动条也会被重置结果返回:如果成功,返回TRUE;否则返回FALSEAutoSizeColumn函数原型:BOOLAutoSizeColumn(intnCol,UINTnAutoSizeStyle=GVS_DEFAULT,BOOLbResetScroll=TRUE)函数作用:自动调整列的大小与最大列一样参数说明:nCol:指定列nAut
32、oSizeStyle:调整的方式。详见下表:选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于列的非固定单元格数据GVS_BOTH固定列和非固定列都适用bResetScroll:如果bResetScroll是TRUE那么滚动条也会被重置结果返回:如果成功,返回TRUE;否则返回FALSEAutoSizeRows函数原型:voidAutoSizeRows()函数作用:自动调整所有行的大小参数说明:无结果返回:voidAutoSizeColumns函数原型:voidAutoSizeColumns(UINTnAutoSizeStyle=GVS_D
33、EFAULT)函数作用:自动调整所有列的大小参数说明:nAutoSizeStyle:调整的方式。详见下表:选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于列的非固定单元格数据GVS_BOTH固定列和非固定列都适用结果返回:voidAutoSize函数原型:voidAutoSize(UINTnAutoSizeStyle=GVS_DEFAULT)函数作用:自动调整所有行和列的大小参数说明:nAutoSizeStyle:调整的方式。详见下表:选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于
34、列的非固定单元格数据GVS_BOTH固定列和非固定列都适用结果返回:voidRedrawRow函数原型:BOOLRedrawRow(introw)函数作用:重画指定行参数说明:row:指定行结果返回:如果成功,返回TRUE;否则返回FALSERedrawColumn函数原型:BOOLRedrawColumn(intcol)函数作用:重画指定列参数说明:row:指定列结果返回:如果成功,返回TRUE;否则返回FALSERefresh函数原型:BOOLRefresh。函数作用:重画整个Grid参数说明:无结果返回:如果成功,返回TRUE;否则返回FALSE2.4.4外观和特征设置SetImageL
35、ist函数原型:voidSetlmageList(CImageList*pList)函数作用:设置Grid的当前图形列表,它拷贝的只是列表的指针而非列表本身参数说明:pList:图形列表对象结果返回:voidSetGridLines函数原型:voidSetGridLines(intnWhichLines=GVL_BOTH)函数作用:设置哪些(如果有的话)线条不可见参数说明:nWhichLines:网格线的选择,详见下表:选项ID说明GVL_NONE无网格线GVL_HORZ仅仅有水平网格线GVL_VERT仅仅有垂直网格线GVL_BOTH水平和垂直网格线都有结果返回:voidSetEditable
36、函数原型:voidSetEditable(B00LbEditable=TRUE)函数作用:设置Grid是否可以编辑参数说明:bEditable:是否可编辑结果返回:voidSetSingleRowSelection函数原型:voidSetSingleRowSelection(B00LbSing=TRUE)函数作用:将Grid设置成(或不是)单行选择模式,这种模式只有在排序模式下有效。当处在这种模式下,每次只能选择一行,所以整个Grid表现看起来就好象是一个多列的列表框参数说明:bSing:是否单选结果返回:voidSetSingleColSelection函数原型:voidSetSingleC
37、olSelection(BOOLbSing=TRUE)函数作用:将Grid设置成(或不是)单列选择模式,在这种模式下,每次只能选择一列参数说明:bSing:是否单选结果返回:voidEnableSelection函数原型:voidEnableSelection(B00LbEnable=TRUE)函数作用:设置Grid的单元格是否可选参数说明:bEnable:是否可选结果返回:voidSetFixedColumnSelection函数原型:voidSetFixedColumnSelection(BOOLbSelect)函数作用:设置当点击固定列时,是否选择其下面的单元格参数说明:bSelect:
38、是否选择其下面的单元格结果返回:voidSetFixedRowSelection函数原型:voidSetFixedRowSelection(BOOLbSelect)函数作用:设置当点击固定行时,是否选择其旁边的单元格参数说明:bSelect:是否选择其旁边的单元格结果返回:voidEnableDragAndDrop函数原型:voidEnableDragAndDrop(BOOLbAllow=TRUE)函数作用:设置是否开启拖曳动作参数说明:bAllow:是否开启拖曳动作结果返回:voidSetHandleTabKey函数原型:voidSetHandleTabKey(BOOLbHandleTab=
39、TRUE)函数作用:设置是否启用TAB键来移动选择单元格参数说明:bHandleTab:是否启用TAB键来移动选择单元格结果返回:voidEnableTitleTips函数原型:voidEnableTitleTips(B00LbEnable=TRUE)函数作用:设置是否使用标题提示参数说明:bEnable:是否使用标题提示结果返回:voidSetTrackFocusCell函数原型:voidSetTrackFocusCell(BOOLbTrack)函数作用:设置同行/列中的固定单元格作为焦点单元格时是否高亮显示并且使用凹陷边缘参数说明:bTrack:是否高亮显示并且使用凹陷边缘结果返回:voi
40、dSetFrameFocusCell函数原型:voidSetFrameFocusCell(BOOLbFrame)函数作用:设置焦点单元格是否高亮显示并且加上外边框参数说明:bFrame:是否高亮显示并且加上外边框结果返回:void2.4.5颜色设置SetGridBkColor函数原型:voidSetGridBkColor(COLORREFclr)函数作用:设置控件的背景颜色(固定和非固定单元格之外的区域)参数说明:clr:背景颜色。可用RGB(int,int,int)来构建结果返回:voidSetGridLineColor函数原型:voidSetGridLineColor(COLORREFcl
41、r)函数作用:设置网格线的颜色参数说明:clr:网格线的颜色。可用RGB(int,int,int)来构建结果返回:voidSetTitleTipBackClr函数原型:voidSetTitleTipBackClr(COLORREFclr=CLR_DEFAULT)函数作用:设置标题提示的背景颜色参数说明:clr:标题提示的背景颜色。可用RGB(int,int,int)来构建结果返回:voidSetTitleTipTextClr函数原型:voidSetTitleTipTextClr(C0L0RREFclr=CLR_DEFAULT)函数作用:设置标题提示的文本颜色参数说明:clr:标题提示的文本颜色
42、。可用RGB(int,int,int)来构建结果返回:voidSetTextColor函数原型:voidSetTextColor(C0L0RREFclr)函数作用:设置非固定单元格中的文本颜色参数说明:clr:非固定单元格中的文本颜色。可用RGB(int,int,int)来构建结果返回:voidSetTextBkColor函数原型:voidSetTextBkColor(COLORREFclr)函数作用:设置非固定单元格的背景颜色参数说明:clr:非固定单元格的背景颜色。可用RGB(int,int,int)来构建结果返回:voidSetFixedTextColor函数原型:voidSetFixe
43、dTextColor(C0L0RREFclr)函数作用:设置固定单元格的文本颜色参数说明:clr:固定单元格的文本颜色。可用RGB(int,int,int)来构建结果返回:voidSetBkColor函数原型:voidSetBkColor(COLORREFclr)函数作用:设置控件的背景颜色(单元格之外的区域)参数说明:clr:控件的背景颜色。可用RGB(int,int,int)来构建结果返回:voidSetFixedBkColor函数原型:voidSetFixedBkColor(COLORREFclr)函数作用:设置固定单元格的背景颜色(单元格之外的区域)参数说明:clr:固定单元格的背景颜
44、色。可用RGB(int,int,int)来构建结果返回:void2.4.6控件消息介绍常用消息消息ID消息名称函数原型NM_CLICK左键单击voidOnClick(NMHDR*pNMHDR,LRESULT*pResult)NM_DBLCLK左键双击voidOnDblClk(NMHDR*pNMHDR,LRESULT*pResult)NM_KILLFOCUS控件失去鼠标焦点voidOnKillFocus(NMHDR*pNMHDR,LRESULT*pResult)NM_RCLICK右键单击voidOnRClick(NMHDR*pNMHDR,LRESULT*pResult)NM_RDBCLK右键双击
45、voidOnRdbClk(NMHDR*pNMHDR,LRESULT*pResult)NM_SETFOCUS控件获得鼠标焦点voidOnSetFocus(NMHDR*pNMHDR,LRESULT*pResult)GVN_BEGINDRAG发生左键拖曳时voidOnBeginDrag(NMHDR*pNMHDR,LRESULT*pResult)GVN_BEGINLABELEDIT编辑Label时voidOnBeginLabelEdit(NMHDR*pNMHDR,LRESULT*pResult)GVN_BEGINRDRAG发生右键拖曳时voidOnBeginRDrag(NMHDR*pNMHDR,LRE
46、SULT*pResult)GVN_COLUMNCLICK单击一列时voidOnColumnClick(NMHDR*pNMHDR,LRESULT*pResult)GVN_DELETEITEM删除某一项时voidOnDeleteItem(NMHDR*pNMHDR,LRESULT*pResult)GVN_ENDLABELEDIT结束Label编辑时voidOnEndLabelEdit(NMHDR*pNMHDR,LRESULT*pResult)GVN_SELCHANGING选择改变时voidOnSelChanging(NMHDR*pNMHDR,LRESULT*pResult)GVN_SELCHANGE
47、D选择改变后voidOnSelChanged(NMHDR*pNMHDR,LRESULT*pResult)GVN_GETDISPINFOvoidOnGetDispInfo(NMHDR*pNMHDR,LRESULT*pResult)GVN_ODCACHEHINTvoidOnOdcachehint(NMHDR*pNMHDR,LRESULT*pResult)添加消息映射若想针对CGridCtrl添加消息处理,只需要在父窗口中通过0N_N0TIFY添加消息映射,并实现响应函数即可。消息映射方式如下:ON_NOTIFY(消息ID,控件ID,响应函数)如下图所示:BEGIN_MESSAGE_l1AF(CGr
48、idCtrlTe5tDlg,CDialog)/GetWindowRect(&rect2);获取对话框窗口的位置信息讦(pWnd)pWnd-GetWindowRect(&rectl);/获取占位控件的位置信息创建控件m_GridCtrl=newCMyGridCtrl();m_GridCtrl-Create(CRect(rect1.left-rect2.1eft-cxframe,rect1.top-rect2.top-cyframe-captionHeight,rectl.left+rect1.Width()-rect2.1eft,rect1.top+rect1.Height()-rect2.to
49、p-captionHeight),this,IDC_GRID)设置行数和列数m_GridCtrl-SetColumnCount(5);m_GridCtrl-SetRowCount(5);这样一个简单的实例就已经制做成功。点击运行,效果如下图:图53.2.3设置固定行和列固定行和列相关于GridCtrl的标题行和标题列。通过以下代码,我们对实例中的grid的标题行、标题列进行设置:设置第一行和第一列为控件固定行和列,即标题行和标题列m_GridCtrl-SetFixedRowCount(l);m_GridCtrl-SetFixedColumnCount(l);m_GridCtrl-AutoSiz
50、eColumn(0);第一列自动调节宽度设置固定行标题m_GridCtrl-SetItemText(O,O,序号);m_GridCtrl-SetItemText(0,1,图片);m_GridCtrl-SetItemText(0,2,状态);m_GridCtrl-SetItemText(0,3,主题);设置固定列序号for(inti=l;iv5;i+)CStrings;s.Format(%d,i);m_GridCtrl-SetItemText(i,O,s);运行后,效果图如下所示:图63.2.4向单元格插入图片插入的图片的格式是.bmp格式,将这个bmp图片拷到资源文件中,然后导入到程序中,定义
51、其资源ID为IDB_BITMAP_S。加载图片列表的代码已经封装到了CMyGridCtrl:LoadImageList(intnlmageld,intnSize)中,具体如下:m_ImageList.Create(nImageId,nSize,1,RGB(255,255,255);this-SetImageList(&m_ImageList);在GridTestDlg类中,加入如下代码:加载图片列表m_GridCtrl-LoadImageList(IDB_BITMAP_S,16);图片大小为16*16设置第二列图片for(i=l;iv5;i+)m_GridCtrl-SetItemImage(i,1,i%4);设置所插入图片在图片列表的Index运行后效果如下图所示:图73.2.5设置CheckBox列设置单元格类型为CGridCellCheck类型,为了方便操作,已被封装到了CMyGridCtrl:SetCellCheck(intnRow,intnCol,boolisCheck)中,具体代码如下:设置单元格类型this-SetCellType(nRow,nCol,RUNTIME_CLASS(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 子宫破裂的观察及护理
- 付款逾期责任协议
- 基因分析与研究培训协议
- 放射性同位素在医学影像中的应用
- 阿坝师范学院《回归分析》2023-2024学年第一学期期末试卷
- 阿里地区札达县2025届小升初全真数学模拟预测卷含解析
- 陕西工业职业技术学院《计算机组成与系统结构》2023-2024学年第二学期期末试卷
- 陕西师范大学附中2024-2025学年高三第一模拟考试物理试题含解析
- 陕西省咸阳市旬邑中学2025届高三5月调研考试(语文试题文)试题含解析
- 陕西省延安市宝塔区蟠龙镇初级中学2025年小升初数学综合练习卷含解析
- 苏教版三年级下册数学课程纲要
- DB33-T1218-2020《建设工程管理信息编码标准》
- 2021年嘉会医院ISO15189 形态学考核
- 前列腺穿刺技术
- 矿体井下开采基建工程及采矿投标文件
- 人工挖孔桩施工危险源辨识与评价及应对措施
- 领慧书院-中国古典礼仪和汉服文化浅析
- 抓住四个环节上好科学实验课
- 小学语文人教课标版(部编)三年级下册口语交际:趣味故事会
- 交通事故上报、处理流程图
- 酸碱盐的通性
评论
0/150
提交评论