




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何将选中的MSHFlexGrid一行高亮显示高亮显示要设置颜色PrivateSubhflexgrid_EnterCell()'单击某一单元时,改变该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.colIfc_col>0ThenFori_Col=0ToHflexgrid.Cols-1Hflexgrid.col=i_ColHflexgrid.CellBackColor=&HFFFFC0Nexti_ColHflexgrid.col=c_colEndIfEndSubPrivateSubhflexgrid_LeaveCell()'当某一行失去焦点时,恢复该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.colFori_Col=0ToHflexgrid.Cols-1Hflexgrid.col=i_ColHflexgrid.CellBackColor=vbWhiteNexti_ColHflexgrid.col=c_colEndSubmshflexgrid怎么改变某一行的背景色和字体颜色?PrivateSubsetColor(msfgAsMSFlexGrid,rowAsLong,colorAsLong,bkcolorAsLong)Fori=1Tomsfg.Cols-1msfg.row=row
msfg.Col=imsfg.CellForeColor=color'前景色msfg.CellBackColor=bkcolor'背景色NextEndSubPrivateSubCommand1_Click()setColorMSFlexGrid1,3,&HFFFF&,&H8000000DEndSubPrivateSubForm_Load()MSFlexGrid1.Rows=5MSFlexGrid1.Cols=5Fori=1To4Forj=1To4MSFlexGrid1.TextMatrix(i,j)=jNextNextEndSub让MSHFlexGrid只能被选中一行的另一方法1、 放置一个HSB1(HScrollBar),MSHFlexGrid1(MSHFlexGrid)2、 如下代码:' PrivateSubForm_Load()IfMSHFlexGrid1.ColsthenHSB1.Min=1HSB1.Max=MSHFlexGrid1.ColsEndIfEndSub
PrivateSubHSB1_Change()IfMSHFlexGridl.ColsthenMSHFlexGridl.Row=HSB1.valueMSHFlexGrid1.ColSel=MSHFlexGrid1.Cols-1EndIfEndSub' PrivateSubMSHFlexGrid1_Click()IfMSHFlexGrid1.ColsthenHSB1.value=MSHFlexGrid1.RowEndIfEndSub怎么改变MSHFlexGrid某个单元格的颜色PublicFunctionFlexRedraw(FAsMSHFlexGrid)AsStringWithF.Redraw=False '禁止重画,防止闪动.BackColorFixed= RGB(190, 218, 178) '标题行背景色.Row=0 '设置标题行文字的对其方式.Col= 0.ColSel=.Cols- 1.CellForeColor=vbBlue'标题行文字颜色.CellAlignment=4 '对其方式为中间中间.ScrollTrack=True '移动滚动条的同时数据也滚动ForI=.FixedRowsTo.Rows- 1 '单双行表格条纹背景色显示.Row=I '选择第I行.Col=.FixedColsTOC\o"1-5"\h\z.ColSel=.Cols- 1IfI/ 2 =Int(I/ 2)Then'判断是单是双.CellBackColor= RGB(224,248, 224)'双行的底色Else.CellBackColor= RGB(240,248, 224)'单行的底色EndIfNextI.Row= 1.Col= 1.ColSel=.Cols- 1.Redraw=True'允许重画,显示表格EndWithEndFunction给第0列打钩MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,0)="V"'改变行颜色Fori_Col=0ToMSFlexGridl.Cols-1MSFlexGridl.Col=i_ColMSFlexGrid1.CellBackColor=&H80C0FFNexti_ColPrivateSubCommand1_Click()MSFlexGrid1.BackColorBkg=vbGreenEndSubPrivateSubForm_Load()MSFlexGrid1.Cols=10MSFlexGrid1.Rows=10MSFlexGrid1.FixedCols=0MSFlexGrid1.FixedRows=0MSFlexGrid1.SelectionMode=flexSelectionByRowEndSubPrivateSubMSFlexGrid1_MouseDown(ButtonAsIntege,ShiftAsIntegerxAsSingle,yAsSingle)'OnErrorGoToErr_ProcDimintCurrColAsLongintCurrCol=MSFlexGrid1.Col'单击选择或不选择IfMSFlexGrid1.TextMatrix(MSFlexGrid1.Row,0)="V"ThenMSFlexGrid1.TextMatrix(MSFlexGrid1.Row,0)=""'改变行颜色Fori_Col=0ToMSFlexGrid1.Cols-1MSFlexGrid1.Col=i_ColMSFlexGrid1.CellBackColor=vbWhiteNexti_ColElseMSFlexGrid1.TextMatrix(MSFlexGrid1.Row,0)="V”'改变行颜色Fori_Col=0ToMSFlexGrid1.Cols-1MSFlexGrid1.Col=i_ColMSFlexGrid1.CellBackColor=&H80C0FFNexti_Col
EndIfMSFlexGridl.Col=intCurrColExitSubEndSubPrivateSubMSFlexGrid1_MouseMove(ButtonAsIntegerShiftAsInteger,xAsSingle,yAsSingle)Me.Caption=MSFlexGridl.MouseRow&","&MSFlexGridl.MouseColEndSub我想实现的是当我选点击MSHFLEXGRID控件中某行的数据时,其颜色变为与原来的底色不同的颜色,但当我点击鼠标又重新选中其他行时,刚才选中的那一行恢复原来的颜色,而刚刚重新选中的新行显示不同的颜色。如何实现PrivateSubmfg1_Click()Dimrow,i,jAsIntegerrow=mfg1.rowmfg1.Redraw=FalseFori=1Tomfg1.Rows-1mfg1.row=iForj=0Tomfg1.Cols-1mfg1.Col=jmfg1.CellBackColor=&H80000005NextjNextimfg1.row=rowForj=0Tomfg1.Cols-1mfg1.Col=jmfg1.CellBackColor=vbGreenNextjmfg1.Redraw=TrueEndSub
按着ymshjg的方法选中行变色问题解决啦。可我要mshflexgrid的click事件中又添加了下面的代码,为的是实现添加数据行的功能。可添上后textl控件不动了。总在最后一列,并且mshflexgrid控件的数据显示总从非第一列显示(一) 、Dimrow,i,jAsIntegerrow=datadzh.rowdatadzh.Redraw=FalseFori=1Todatadzh.Rows-1datadzh.row=iForj=0Todatadzh.Cols-1datadzh.Col=jdatadzh.CellBackColor=&HC0FFFFNextjNextidatadzh.row=rowForj=0Todatadzh.Cols-1datadzh.Col=jdatadzh.CellBackColor=vbGreenNextjdatadzh.Redraw=True(二) 、WithdatadzhText1.Left=.CellLeft+datadzh.Left-10Text1.Top=.CellTop+datadzh.Top-10Text1.Width=.CellWidthText1.Height=.CellHeightText1.Text=datadzh.TextText1.Enabled=TrueText1.Visible=TrueTextI.BackColor=&HC0FFFFEndWithTextl.Visible=TrueText1.SetFocusendsub以上为mshflexgrid控件的click事件中全部的代码,要是把(一、(二)两部分代码单独放置到CLICK事件中就没有问题,一同时放就有问题,不知道哪儿错了。问题解决了,终于找到原因啦。唉,我在datazw这个控件的mousedown事件下把text定位了。唉。解决了。自己结贴了嘿嘿。在VB中,单击MSHFlexGrid中的任何一个单元格即能实现选中该行,这个是怎么实现的?选中的这行变为其它颜色。请各位老师给予帮助。另外单击列标头即能实现排列的互换,这又是怎么实现的呢?I.SelectionMode=1-ByROW2.MouseDown事件中如果Y为列头则调用Sort方法MSHFlexGrid中单击某一行变色VBcodePrivateSubHFlexgrid_EnterCell()'单击某一单元时,改变该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.ColIfc_col>0ThenFori_Col=0ToHflexgrid.Cols-1Hflexgrid.Col=i_ColHflexgrid.CellBackColor=&HFFFFC0Nexti_ColHflexgrid.Col=c_colEndIfEndSubPrivateSubHFlexgrid_LeaveCell()'当某一行失去焦点时,改变该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.ColFori_Col=0ToHflexgrid.Cols-1Hflexgrid.Col=i_ColHflexgrid.CellBackColor=vbWhiteNexti_ColHflexgrid.Col=c_colEndSub让MSHFlexGrid只能被选中一行MSHFlexGrid控件点击时可以选中多行,但有时我们需要仅仅选中一行,有一个小技巧:OptionExplicitDimCURRENTROWAsIntegerPrivateSubForm_Load()DimiAsIntegei,jAsIntegerWithMSHFlexGridl.Rows=10.Cols=4Fori=1To9.TextMatrix(i,0)='第"&i&"行”Forj=1To3.TextMatrix(0,j)="第"&j&"歹.TextMatrix(i,j)=i&","&jNextNextEndWithEndSubPrivateSubMSHFlexGrid1_MouseDown(ButtonAsIntegei,ShiftAsInteger,xAsSingle,yAsSingle)WithMSHFlexGridl.Row=.MouseRowCURRENTROW=.Row.Col=0.ColSel=.Cols-1EndWithEndSubPrivateSubMSHFlexGrid1_MouseUp(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)WithMSHFlexGridl.RowSel=CURRENTROW.ColSel=.Cols-1EndWith
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老福利院管理办法
- 创优工程奖管理办法
- 仓库化学仓管理办法
- 出库及销售管理办法
- 会计档案法管理办法
- 商业信息咨询与数据共享协议
- 休息间使用管理办法
- 兰州市教师管理办法
- 合作经营协议之利润分成条款
- 2025年度抵押借款合同模板
- 赤峰市松山区官地矿区银金矿2024 年度矿山地质环境治理计划书
- 渔船检验验船师技能竞赛考试题库
- 《发酵车间布置设计》课件
- 危险品安全管理培训模板
- 论浙江省高速公路施工图设计审查要点
- 九年级英语教案-冀教版九年级英语上册《Unit1 Lesson1-Higher,Faster,Stronger》教案
- 注塑成型PFMEA完整版
- JJG 1000-2005电动水平振动试验台
- GB/T 4623-2014环形混凝土电杆
- 混床再生操作培训课件
- 《薄膜材料与薄膜技术》教学配套课件
评论
0/150
提交评论