首页 MFCGridCtrl控件_使用说明(中英文)

MFCGridCtrl控件_使用说明(中英文)

举报
开通vip

MFCGridCtrl控件_使用说明(中英文)IMFCGridCtrl控件使用说明目录1引言.........................................................................................................................................11.1目的.................................................................................................

MFCGridCtrl控件_使用说明(中英文)
IMFCGridCtrl控件使用说明目录1引言.........................................................................................................................................11.1目的................................................................................................................................11.2参考资料........................................................................................................................12GRID控件介绍......................................................................................................................12.1功能介绍........................................................................................................................12.2 框架 财政支出绩效评价指标框架幼儿园园本课程框架学校德育工作框架世界古代史知识框架质量保证体系框架图 介绍........................................................................................................................22.3主要类介绍....................................................................................................................32.3.1CGridCtrl类...............................................................................................................32.3.2CGridCellCheck类....................................................................................................42.3.3CGridCellCombo类..................................................................................................62.4控件类CGRIDCTRL常用函数说明...............................................................................82.4.1行和列的设置.......................................................................................................82.4.2单元格信息设置.................................................................................................112.4.3控件操作.............................................................................................................132.4.4外观和特征设置.................................................................................................172.4.5颜色设置.............................................................................................................202.4.6控件消息介绍.....................................................................................................223实例制做...............................................................................................................................243.1实例图片......................................................................................................................243.2实例制做过程介绍......................................................................................................243.2.1新建项目.............................................................................................................243.2.2初使化GridCtrl控件..........................................................................................253.2.3设置固定行和列.................................................................................................263.2.4向单元格插入图片.............................................................................................273.2.5设置CheckBox列..............................................................................................283.2.6设置ComboBox列.............................................................................................293.2.7设置行背景颜色和列背景颜色.........................................................................303.2.8添加消息处理.....................................................................................................314实例以外的思考...................................................................................................................3211引言1.1目的本文记录了作者在学习了解并使用GridCtrl的过程中的心得体会,希望能够对今后学习使用GridCtrl控件的其他同事有所帮助,使其更快上手。1.2参考资料1)CGridCtrl学习指南网址:http://lizhilin.happy.blog.163.com/blog/static/21769242200822911559438/2)CGridCtrl使用详解网址:http://blog.csdn.net/incwar/archive/2009/01/17/3807283.aspx3)CGridCtrl源代码一份。需要的同事,可以OA上发邮件给我。4)作者亲手制做的对于CGridCtrl的使用实例:GridCtrlTest。需要的同事,可以OA上发邮件给我。2Grid控件介绍2.1功能介绍GridControl控件是一款非常优秀的网格控件,在VC平台上的用途非常广泛也非常灵活。可以将其看做上是在CListCtrl基础上的定制和延伸。GridControl具备以下操作和功能:使用鼠标可以进行单元格的选择,还可以辅助ctrl和shift的组合键进行选择。也可以取消选择。单元格可以有不同文本和背景颜色的个性化设置单元格可以有字体的个性化设置单元格可以标注"只读"或者其他的状态设置及检测单元格的拖放动作可以对任何列或行固定Ctrl-C,Ctrl-X和Ctrl-V执行拷贝、剪切、粘贴操作,Ctrl-A全选当单元格成为焦点,并且在单元格的编辑区域按下字符键,就意味着在那个单元格进行编辑了2可以在单元格中加入图片对大型数据可以使用"虚拟"模式充分的打印支持,支持文档/浏览环境(包括打印预览)或是基于会话的应用(不支持打印预览)可选的"列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 模式",包括对行的全选或单选,还有单击列标题提示进行插入的操作。众多的虚函数可以很容易对控件进行功能扩充单元格的标题提示太小不能显示数据可以隐藏行和列行和列可以按照大小进行重排,还可以取消对行、列或两者的排序。双击区分点,行或者列可以按照大小自动排序2.2框架介绍GridControl包含一个拖曳对象(CGridDropTarget)和一个标题提示对象(CTitleTip),前者处理拖曳操作,后者在单元格物理空间在最大限度内不足以显示其内容时可以显示出其内容。而CCellID类是一个用来参考单元格范围的便利的辅助类。此外,GridControl还包含从CGridCell派生下来的单元格对象。图1Grid单元格可以是任何类型,这些类型都是从CGridCell派生下来的,基类中定义了基本的数据存储和编辑操作。扩充的两个类CgridCellCombo和CGridLCellCheck示范了如何创建自己的单元格类。3图2单元格有两种主要状态即固定和非固定。固定的单元格通常在Grid的左上方,并且不会随着Grid的卷动而移动,并且不能进行编辑,通常即这些单元格包含列和行的标题部分。而非固定的单元格构成了Grid的内部,你可以对它进行编辑和选择。2.3主要类介绍2.3.1CGridCtrl类CGridCtrl是控件类,派生于CWnd类,代表整个网格对象,具备了针对网格的所有基本操作,如设置网格行和列,设置网格外观,设置单元格信息等。下面介绍控件初使化过程中的一个重要函数CGridCtrl::Create:函数申明:BOOLCGridCtrl::Create(constRECT&rect,CWnd*pParentWnd,UINTnID,DWORDdwStyle)函数作用:创建控件参数说明:rect:控件位置信息pParetWnd:父窗口指针nID:为控件指定的ID,作为本次创建的控件对象的标识dwStyle:控件风格,默认值为:WS_CHILD|WS_BORDER|WS_TABSTOP|WS_VISIBLE。常用风格请参见下表:控件风格ID说明4WS_CHILD说明窗口为子窗口WS_OVERLAPPED重叠窗口,通常有标题条和边界WS_POPUP弹出式窗口,不能与WS_CHILD一起使用WS_BORDER有边界WS_VISIBLE窗口可见WS_DISABLED初使状态为禁止WS_VSCROLL具有垂直滚动条WS_HSCROLL具有水平滚动条WS_TABSTOP可用TAB键移动到下一个具有WS_TABSTOP风格的控件结果返回:成功返回TRUE;失败则返回FALSE注:关于CGridCtrl的其它常用函数请参见本文2.42.3.2CGridCellCheck类CGridCellCheck继承于CGridCell,是一个复选框风格的单元格类。2.3.2.1主要函数1)GetCellExtent(重载)函数申明:virtualCSizeGetCellExtent(CDC*pDC);函数作用:获得单元格大小参数说明:pDC:设备对象指针结果返回:CSize对象,描述单元格大小2)OnClick(重载)函数申明:virtualvoidOnClick(CPointPointCellRelative);函数作用:单击时,改变复选框状态参数说明:PointCellRelative:单元格的相对坐标结果返回:void3)GetTextRect(重载)函数申明:virtualBOOLGetTextRect(LPRECTpRect);函数作用:获取单元格文本的位置信息5参数说明:pRect:输出文本的位置信息结果返回:成功返回TRUE;失败返回FALSE4)Draw(重载)函数申明:virtualBOOLDraw(CDC*pDC,intnRow,intnCol,CRectrect,BOOLbEraseBkgnd);函数作用:根据当前复选框的状态重绘复选框参数说明:pDC:设备对象指针nRow:指定行IndexnCol:指定列Indexrect:重绘区域bEraseBkgnd:重绘前是否擦除背景结果返回:成功返回TRUE;失败返回FALSE5)SetCheck函数申明:voidCGridCellCheck::SetCheck(BOOLbChecked)函数作用:设置复选框的状态参数说明:bChecked:设置复选框的状态结果返回:void6)GetCheck函数申明:BOOLCGridCellCheck::GetCheck()函数作用:获取复选框的状态参数说明:bChecked:设置复选框的状态结果返回:复选框被选中,返回TRUE;否则返回FALSE2.3.2.2设置单元格类型若要设置某一个单元格为复选框类型,则需调用:BOOLCGridCtrl::SetCellType(intnRow,intnCol,CRuntimeClass*pRuntimeClass)6若要让所有新创建的单元格都是复选框类型的的,则需调用:BOOLCGridCtrl::SetDefaultCellType(CRuntimeClass*pRuntimeClass)注:详情参见:本文章节2.4.22.3.3CGridCellCombo类CGridCellCombo继承于CGridCell,是一个下拉框风格的单元格类。2.3.3.1主要函数1)GetCellExtent(重载)函数申明:virtualCSizeGetCellExtent(CDC*pDC);函数作用:获得单元格大小参数说明:pDC:设备对象指针结果返回:CSize对象,描述单元格大小2)Edit(重载)函数申明:virtualBOOLEdit(intnRow,intnCol,CRectrect,CPointpoint,UINTnID,UINTnChar);函数作用:用户触发此事件,控件进入编辑状态。本质上就是创建ComboBox控件来负责编辑参数说明:nRow:指定行IndexnCol:指定列Indexrect:编辑区域point:无意义nID:被创建的ComboBox的IDnChar:当通过按键触发该编辑事件时,表示按下的第一个键结果返回:成功返回TRUE;否則返回FALSE3)EndEdit(重载)函数申明:virtualBOOLEndEdit();函数作用:编辑结束参数说明:无7结果返回:成功返回TRUE;失败返回FALSE4)GetTextRect(重载)函数申明:virtualBOOLGetTextRect(LPRECTpRect);函数作用:获取单元格文本的位置信息参数说明:pRect:输出文本的位置信息结果返回:成功返回TRUE;失败返回FALSE5)Draw(重载)函数申明:virtualBOOLDraw(CDC*pDC,intnRow,intnCol,CRectrect,BOOLbEraseBkgnd);函数作用:重绘单元格控件参数说明:pDC:设备对象指针nRow:指定行IndexnCol:指定列Indexrect:重绘区域bEraseBkgnd:重绘前是否擦除背景结果返回:成功返回TRUE;失败返回FALSE6)SetStyle函数申明:voidSetStyle(DWORDdwStyle)函数作用:设置ComboBox控件的风格参数说明:dwStyle:ComboBox风格。详见下表:风格ID说明CBS_SIMPLE下拉列表总是可见,控件可编辑CBS_DROPDOWN下拉列表在用户点击时可见,控件可编辑CBS_DROPDOWNLIST下拉列表在用户点击时可见,控件不可编辑CBS_SORT下拉列表选择项排序CBS_AUTOHSCROLL下拉列表自动添加滚动条8CBS_UPPERCASE下拉列表选择项英文大写显示CBS_LOWERCASE下拉列表选择项英文小写显示CBS_DISABLENOSCROLL下拉列表滚动条禁用结果返回:void7)GetStyle函数申明:DWORDGetStyle()函数作用:获得ComboBox控件的风格属性参数说明:无结果返回:返回ComboBox控件的风格属性8)SetOptions函数申明:voidSetOptions(constCStringArray&ar)函数作用:设置ComboBox下拉列表选项参数说明:ar:传入字符串数组,作为下拉列表选项结果返回:void2.3.3.2设置单元格类型若要设置某一个单元格为下拉框类型,则需调用:BOOLCGridCtrl::SetCellType(intnRow,intnCol,CRuntimeClass*pRuntimeClass)若要让所有新创建的单元格都是下拉框类型的的,则需调用:BOOLCGridCtrl::SetDefaultCellType(CRuntimeClass*pRuntimeClass)注:详情参见:本文章节2.4.22.4控件类CGridCtrl常用函数说明2.4.1行和列的设置2.4.1.1SetRowCount函数原型:BOOLSetRowCount(intnRows)函数作用:设置行的数目(包括固定行)参数说明:nRows:行数目结果返回:如果成功,返回TRUE;否则返回FALSE92.4.1.2SetColumnCount函数原型:BOOLSetColumnCount(intnCols)函数作用:设置列的数目(包括固定列)参数说明:nCols:列数目结果返回:如果成功,返回TRUE;否则返回FALSE2.4.1.3SetFixedRowCount函数原型:BOOLSetFixedRowCount(intnFixedRows=1)函数作用:设置固定行的数目参数说明:nFixedRows:固定行数目结果返回:如果成功,返回TRUE;否则返回FALSE2.4.1.4SetFixedColumnCount函数原型:BOOLSetFixedColumnCount(intnFixedCols=1)函数作用:设置固定列的数目参数说明:nFixedRows:固定列数目结果返回:如果成功,返回TRUE;否则返回FALSE2.4.1.5GetRowHeight函数原型:intGetRowHeight(intnRow)const函数作用:获取由nRow指定行的高度参数说明:nRow:指定行Index结果返回:返回指定行高度2.4.1.6SetRowHeight函数原型:BOOLSetRowHeight(introw,intheight)函数作用:设定由row指定行的高度为height参数说明:row:指定行Indexheight:设置的高度10结果返回:如果成功,返回TRUE;否则返回FALSE2.4.1.7GetColumnWidth函数原型:intGetColumnWidth(intnCol)const函数作用:获取由nCol指定列的宽度参数说明:nCol:指定列Index结果返回:返回指定列宽度2.4.1.8SetColumnWidth函数原型:BOOLSetColumnWidth(intcol,intwidth)函数作用:设定由col指定列的宽度为width参数说明:col:指定列width:设置的宽度结果返回:如果成功,返回TRUE;否则返回FALSE2.4.1.9GetFixedRowHeight函数原型:intGetFixedRowHeight()const函数作用:获取固定行的高度参数说明:无结果返回:返回固定行的高度2.4.1.10GetFixedColumnWidth函数原型:intGetFixedColumnWidth()const函数作用:获取固定列的高度参数说明:无结果返回:返回固定列的高度2.4.1.11GetVirtualHeight函数原型:longGetVirtualHeight()const函数作用:获取所有行的合并高度参数说明:无结果返回:返回所有行的合并高度112.4.1.12GetVirtualWidth函数原型:longGetVirtualWidth()const函数作用:获取所有列的合并宽度参数说明:无结果返回:返回所有列的合并宽度2.4.2单元格信息设置2.4.2.1SetCellType函数原型:BOOLSetCellType(intnRow,intnCol,CRuntimeClass*pRuntimeClass);函数作用:定义响应单元格类的类型参数说明:nRow:指定行nCol:指定列pRunTimeClass:单元格类型,在实际传入该参数时,需要以RUN_TIIME(类名)的形式。比如RUN_TIME(CGridCellCheck)、RUN_TIME(CGridCellCombo)、RUN_TIME(CGridCellNumeric)、RUN_TIME(CGridDefaultCell)结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.2SetDefaultCellType函数原型:BOOLSetDefaultCellType(CRuntimeClass*pRuntimeClass);函数作用:为之后新创建的单元格设置默认属性参数说明:pRunTimeClass:单元格类型,在实际传入该参数时,需要以RUN_TIIME(类名)的形式。比如RUN_TIME(CGridCellCheck)、RUN_TIME(CGridCellCombo)、RUN_TIME(CGridCellNumeric)、RUN_TIME(CGridDefaultCell)结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.3SetItemText函数原型:BOOLSetItemText(intnRow,intnCol,LPCTSTRstr)函数作用:设置指定单元格的文本内容参数说明:nRow:指定行nCol:指定列12str:字符串结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.4SetItemImage函数原型:BOOLSetItemImage(intnRow,intnCol,intiImage)函数作用:设置指定单元格的图形索引。调用函数前,需要设置控件图形列表。详见SetImageList参数说明:nRow:指定行nCol:指定列iImage:图形索引,从0开始结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.5SetItemState函数原型:BOOLSetItemState(intnRow,intnCol,UINTstate)函数作用:设置给定单元格的状态参数说明:nRow:指定行nCol:指定列state:状态ID。详见下表:状态ID状态说明GVIS_FOCUSED单元格成为焦点GVIS_SELECTED单元格被选中GVIS_DROPHILITED单元格被高亮显示GVIS_READONLY单元格只读GVIS_FIXED单元格固定GVIS_FIXEDROW单元格是固定行的一部分GVIS_FIXEDCOL单元格是固定列的一部分GVIS_MODIFIED单元格被修改过结果返回:如果成功,返回TRUE;否则返回FALSE132.4.2.6SetItemBkColour函数原型:BOOLSetItemBkColour(intnRow,intnCol,COLORREFcr=CLR_DEFAULT)函数作用:设置指定单元格的背景颜色参数说明:nRow:指定行nCol:指定列cr:颜色,可以通过宏RGB(int,int,int)来构建结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.7SetItemFont函数原型:BOOLSetItemFont(intnRow,intnCol,LOGFONT*lf)函数作用:设置指定单元格的字体参数说明:nRow:指定行nCol:指定列lf:字体 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 。LOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格。详见LOGFONT结构体定义。结果返回:如果成功,返回TRUE;否则返回FALSE2.4.2.8SetItemFgColour函数原型:BOOLSetItemFgColour(intnRow,intnCol,COLORREFcr=CLR_DEFAULT)函数作用:设置指定单元格的前景颜色参数说明:nRow:指定行nCol:指定列cr:颜色,可以通过宏RGB(int,int,int)来构建结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3控件操作2.4.3.1InsertColumn函数原型:intInsertColumn(LPCTSTRstrHeading,UINTnFormat,intnCol=-1)函数作用:在nCol指定的地方插入一列14参数说明:StrHeading:列标题头nFormat:列的格式。格式选项见下表:选项ID说明DT_TOP竖直居上对齐DT_LEFT水平居左对齐DT_CENTER水平居中对齐DT_RIGHT水平居右对齐DT_VCENTER竖直居中对齐DT_BOTTOM竖直居下对齐DT_WORDBREAK断开字DT_SINGLELINE单行模式nCol:指定列,如果nCol<0则在末尾插入一列.结果返回:返回插入列的位置2.4.3.2InsertRow函数原型:intInsertRow(LPCTSTRstrHeading,intnRow=-1)函数作用:在nRow处插入一行,此行的单元格的格式与其同列的第一行单元格格式相同参数说明:StrHeading:行标题头nRow:指定行,如果nRow<0则在末尾插入一行结果返回:返回插入行的位置2.4.3.3DeleteColumn函数原型:BOOLDeleteColumn(intnColumn)函数作用:删除nColumn指定的列参数说明:nColumn:指定列结果返回:如果成功,返回TRUE;否则返回FALSE152.4.3.4DeleteRow函数原型:BOOLDeleteRow(intnRow)函数作用:删除nColumn指定的列参数说明:nRow:指定行结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.5DeleteAllItems函数原型:BOOLDeleteAllItems()函数作用:删除Grid中的所有行和内容参数说明:无结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.6DeleteNonFixedRows函数原型:BOOLDeleteAllItems()函数作用:删除所有非固定行参数说明:无结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.7AutoSizeRow函数原型:BOOLAutoSizeRow(intnRow,BOOLbResetScroll=TRUE)函数作用:自动调整行的大小与最大行一样参数说明:nRow:指定行bResetScroll:如果bResetScroll是TRUE那么滚动条也会被重置结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.8AutoSizeColumn函数原型:BOOLAutoSizeColumn(intnCol,UINTnAutoSizeStyle=GVS_DEFAULT,BOOLbResetScroll=TRUE)函数作用:自动调整列的大小与最大列一样参数说明:nCol:指定列16nAutoSizeStyle:调整的方式。详见下表:选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于列的非固定单元格数据GVS_BOTH固定列和非固定列都适用bResetScroll:如果bResetScroll是TRUE那么滚动条也会被重置结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.9AutoSizeRows函数原型:voidAutoSizeRows()函数作用:自动调整所有行的大小参数说明:无结果返回:void2.4.3.10AutoSizeColumns函数原型:voidAutoSizeColumns(UINTnAutoSizeStyle=GVS_DEFAULT)函数作用:自动调整所有列的大小参数说明:nAutoSizeStyle:调整的方式。详见下表:选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于列的非固定单元格数据GVS_BOTH固定列和非固定列都适用结果返回:void2.4.3.11AutoSize函数原型:voidAutoSize(UINTnAutoSizeStyle=GVS_DEFAULT)函数作用:自动调整所有行和列的大小参数说明:nAutoSizeStyle:调整的方式。详见下表:17选项ID说明GVS_Default默认GVS_HEADER仅用于列的固定单元格数据GVS_DATA仅用于列的非固定单元格数据GVS_BOTH固定列和非固定列都适用结果返回:void2.4.3.12RedrawRow函数原型:BOOLRedrawRow(introw)函数作用:重画指定行参数说明:row:指定行结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.13RedrawColumn函数原型:BOOLRedrawColumn(intcol)函数作用:重画指定列参数说明:row:指定列结果返回:如果成功,返回TRUE;否则返回FALSE2.4.3.14Refresh函数原型:BOOLRefresh()函数作用:重画整个Grid参数说明:无结果返回:如果成功,返回TRUE;否则返回FALSE2.4.4外观和特征设置2.4.4.1SetImageList函数原型:voidSetImageList(CImageList*pList)函数作用:设置Grid的当前图形列表,它拷贝的只是列表的指针而非列表本身参数说明:pList:图形列表对象18结果返回:void2.4.4.2SetGridLines函数原型:voidSetGridLines(intnWhichLines=GVL_BOTH)函数作用:设置哪些(如果有的话)线条不可见参数说明:nWhichLines:网格线的选择,详见下表:选项ID说明GVL_NONE无网格线GVL_HORZ仅仅有水平网格线GVL_VERT仅仅有垂直网格线GVL_BOTH水平和垂直网格线都有结果返回:void2.4.4.3SetEditable函数原型:voidSetEditable(BOOLbEditable=TRUE)函数作用:设置Grid是否可以编辑参数说明:bEditable:是否可编辑结果返回:void2.4.4.4SetSingleRowSelection函数原型:voidSetSingleRowSelection(BOOLbSing=TRUE)函数作用:将Grid设置成(或不是)单行选择模式,这种模式只有在排序模式下有效。当处在这种模式下,每次只能选择一行,所以整个Grid表现看起来就好象是一个多列的列表框参数说明:bSing:是否单选结果返回:void2.4.4.5SetSingleColSelection函数原型:voidSetSingleColSelection(BOOLbSing=TRUE)函数作用:将Grid设置成(或不是)单列选择模式,在这种模式下,每次只能选择19一列参数说明:bSing:是否单选结果返回:void2.4.4.6EnableSelection函数原型:voidEnableSelection(BOOLbEnable=TRUE)函数作用:设置Grid的单元格是否可选参数说明:bEnable:是否可选结果返回:void2.4.4.7SetFixedColumnSelection函数原型:voidSetFixedColumnSelection(BOOLbSelect)函数作用:设置当点击固定列时,是否选择其下面的单元格参数说明:bSelect:是否选择其下面的单元格结果返回:void2.4.4.8SetFixedRowSelection函数原型:voidSetFixedRowSelection(BOOLbSelect)函数作用:设置当点击固定行时,是否选择其旁边的单元格参数说明:bSelect:是否选择其旁边的单元格结果返回:void2.4.4.9EnableDragAndDrop函数原型:voidEnableDragAndDrop(BOOLbAllow=TRUE)函数作用:设置是否开启拖曳动作参数说明:bAllow:是否开启拖曳动作结果返回:void202.4.4.10SetHandleTabKey函数原型:voidSetHandleTabKey(BOOLbHandleTab=TRUE)函数作用:设置是否启用TAB键来移动选择单元格参数说明:bHandleTab:是否启用TAB键来移动选择单元格结果返回:void2.4.4.11EnableTitleTips函数原型:voidEnableTitleTips(BOOLbEnable=TRUE)函数作用:设置是否使用标题提示参数说明:bEnable:是否使用标题提示结果返回:void2.4.4.12SetTrackFocusCell函数原型:voidSetTrackFocusCell(BOOLbTrack)函数作用:设置同行/列中的固定单元格作为焦点单元格时是否高亮显示并且使用凹陷边缘参数说明:bTrack:是否高亮显示并且使用凹陷边缘结果返回:void2.4.4.13SetFrameFocusCell函数原型:voidSetFrameFocusCell(BOOLbFrame)函数作用:设置焦点单元格是否高亮显示并且加上外边框参数说明:bFrame:是否高亮显示并且加上外边框结果返回:void2.4.5颜色设置2.4.5.1SetGridBkColor函数原型:voidSetGridBkColor(COLORREFclr)函数作用:设置控件的背景颜色(固定和非固定单元格之外的区域)21参数说明:clr:背景颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.2SetGridLineColor函数原型:voidSetGridLineColor(COLORREFclr)函数作用:设置网格线的颜色参数说明:clr:网格线的颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.3SetTitleTipBackClr函数原型:voidSetTitleTipBackClr(COLORREFclr=CLR_DEFAULT)函数作用:设置标题提示的背景颜色参数说明:clr:标题提示的背景颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.4SetTitleTipTextClr函数原型:voidSetTitleTipTextClr(COLORREFclr=CLR_DEFAULT)函数作用:设置标题提示的文本颜色参数说明:clr:标题提示的文本颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.5SetTextColor函数原型:voidSetTextColor(COLORREFclr)函数作用:设置非固定单元格中的文本颜色参数说明:clr:非固定单元格中的文本颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.6SetTextBkColor函数原型:voidSetTextBkColor(COLORREFclr)函数作用:设置非固定单元格的背景颜色22参数说明:clr:非固定单元格的背景颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.7SetFixedTextColor函数原型:voidSetFixedTextColor(COLORREFclr)函数作用:设置固定单元格的文本颜色参数说明:clr:固定单元格的文本颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.8SetBkColor函数原型:voidSetBkColor(COLORREFclr)函数作用:设置控件的背景颜色(单元格之外的区域)参数说明:clr:控件的背景颜色。可用RGB(int,int,int)来构建结果返回:void2.4.5.9SetFixedBkColor函数原型:voidSetFixedBkColor(COLORREFclr)函数作用:设置固定单元格的背景颜色(单元格之外的区域)参数说明:clr:固定单元格的背景颜色。可用RGB(int,int,int)来构建结果返回:void2.4.6控件消息介绍2.4.6.1常用消息消息ID消息名称函数原型NM_CLICK左键单击voidOnClick(NMHDR*pNMHDR,LRESULT*pResult)NM_DBLCLK左键双击voidOnDblClk(NMHDR*pNMHDR,LRESULT*pResult)NM_KILLFOCUS控件失去鼠标焦点voidOnKillFocus(NMHDR*pNMHDR,LRESULT*pResult)23NM_RCLICK右键单击voidOnRClick(NMHDR*pNMHDR,LRESULT*pResult)NM_RDBCLK右键双击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,LRESULT*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_SELCHANGED选择改变后voidOnSelChanged(NMHDR*pNMHDR,LRESULT*pResult)GVN_GETDISPINFOvoidOnGetDispInfo(NMHDR*pNMHDR,LRESULT*pResult)GVN_ODCACHEHINTvoidOnOdcachehint(NMHDR*pNMHDR,LRESULT*pResult)2.4.6.2添加消息映射若想针对CGridCtrl添加消息处理,只需要在父窗口中通过ON_NOTIFY添加消息映射,24并实现响应函数即可。消息映射方式如下:ON_NOTIFY(消息ID,控件ID,响应函数)如下图所示:注,消息映射的实例请参见:本文章节3.2.83实例制做3.1实例图片图3本例使用了一些GridControl的基础功能,包括:设置固定行和列、设置背景颜色,使用CheckBox和ComboBox类型的单元格,消息事件映射,插入图片等。3.2实例制做过程介绍3.2.1新建项目我们首先在VC6.0上建立一个名叫GridCtrlTest的基于对话框的项目。然后导入GridControl的源文件到项目对应的文件夹下,并在项目中引用以下头文件:GridCtrl.h、GridCellCheck.h、GridCellCombo.h。253.2.2初使化GridCtrl控件Grid的基本类是源于CWnd的CgridCtrl。为了使用它,你可以使用微软的VC++的对话框编辑器,把一个普通的控件放在对话框上,并且输入"MFCGridCtrl"(不包括引号)作为类名。Grid的子类使用DDX机制(可以通过ClassWizard来进行默认设置),使用DDX_GridControl函数代替DDX_Control(可以通过手动设置ClassWizard的输入来实现)。这些保证你的控件作为一个注册对象而不会产生一些莫名其妙的WIN95问题。另外,也可以选择使用CGridCtrl::Create()。本文实例采用的是后一种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。具体过程如下:首先,自定义一个CGridCtrl的派生类,CMyGridCtrl。添加函数:voidSetColumnColor(intnCol,COLORREFclr);//设置某一列的背景颜色voidSetRowColor(intnRow,COLORREFclr);//设置某一行的背景颜色voidLoadImageList(intnImageId,intnSize);//加载图片列表voidSetCellCombo(intnRow,intnCol,CStringArray&items);//设置某个单元格为ComboBoxvoidSetCellCheck(intnRow,intnCol,boolisCheck);//设置某个单元格为CheckBox然后,利用可视编辑器在对话框上拖放一个picture控件,用来对GridCtrl控件定位用。定义其ID为:IDC_GRID_POS图4接着,在CGridCtrlTestDlg类中定义一个CMyGridCtrl的成员变量:m_GridCtrl。然后再在CGridCtrlTestDlg::OnInitDialog()中添加对控件的初始化代码:CWnd*pWnd=GetDlgItem(IDC_GRID_POS);//获取界面上占位控件的实例26CRectrect1,rect2;intcaptionHeight=::GetSystemMetrics(SM_CYCAPTION);intcxframe=GetSystemMetrics(SM_CXFRAME);intcyframe=GetSystemMetrics(SM_CYFRAME);this->GetWindowRect(&rect2);//获取对话框窗口的位置信息if(pWnd)pWnd->GetWindowRect(&rect1);//获取占位控件的位置信息//创建控件m_GridCtrl=newCMyGridCtrl();m_GridCtrl->Create(CRect(rect1.left-rect2.left-cxframe,rect1.top-rect2.top-cyframe-captionHeight,rect1.left+rect1.Width()-rect2.left,rect1.top+rect1.Height()-rect2.top-captionHeight),this,IDC_GRID)//设置行数和列数m_GridCtrl->SetColumnCount(5);m_GridCtrl->SetRowCount(5);这样一个简单的实例就已经制做成功。点击运行,效果如下图:图53.2.3设置固定行和列固定行和列相关于GridCtrl的标题行和标题列。通过以下代码,我们对实例中的grid27的标题行、标题列进行设置://设置第一行和第一列为控件固定行和列,即标题行和标题列m_GridCtrl->SetFixedRowCount(1);m_GridCtrl->SetFixedColumnCount(1);m_GridCtrl->AutoSizeColumn(0);//第一列自动调节宽度//设置固定行标题m_GridCtrl->SetItemText(0,0,"序号");m_GridCtrl->SetItemText(0,1,"图片");m_GridCtrl->SetItemText(0,2,"状态");m_GridCtrl->SetItemText(0,3,"主题");//设置固定列序号for(inti=1;i<5;i++){CStrings;s.Format("%d",i);m_GridCtrl->SetItemText(i,0,s);}运行后,效果图如下所示:图63.2.4向单元格插入图片插入的图片的格式是.bmp格式,将这个bmp图片拷到资源文件中,然后导入到程序中,28定义其资源ID为IDB_BITMAP_S。加载图片列表的代码已经封装到了CMyGridCtrl::LoadImageList(intnImageId,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=1;i<5;i++){m_GridCtrl->SetItemImage(i,1,i%4);//设置所插入图片在图片列表的Index}运行后效果如下图所示:图73.2.5设置CheckBox列设置单元格类型为CGridCellChec
本文档为【MFCGridCtrl控件_使用说明(中英文)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥14.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
春之晓
擅于产品开发,生产管理,制作表单等
格式:pdf
大小:341KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2019-06-14
浏览量:139