ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:17.59KB ,
资源ID:17190290      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17190290.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(常见改变MSHFLEXGRID的颜色的方法.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

常见改变MSHFLEXGRID的颜色的方法.docx

1、常见改变MSHFLEXGRID的颜色的方法如何将选中的MSHFlexGrid一行高亮显示高亮显示要设置颜色PrivateSubhflexgrid_EnterCell()单击某一单元时,改变该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.colIfc_col0ThenFori_Col=0ToHflexgrid.Cols-1Hflexgrid.col=i_ColHflexgrid.CellBackColor=&HFFFFC0Nexti_ColHflexgrid.col=c_colEndIfEndSubPrivateSubhflexgrid

2、_LeaveCell()当某一行失去焦点时,恢复该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.colFori_Col=0ToHflexgrid.Cols-1Hflexgrid.col=i_ColHflexgrid.CellBackColor=vbWhiteNexti_ColHflexgrid.col=c_colEndSubmshflexgrid怎么改变某一行的背景色和字体颜色?Private Sub setColor(msfg As MSFlexGrid, row As Long, color As Long, bkcolor As

3、 Long)For i = 1 To msfg.Cols - 1msfg.row = rowmsfg.Col = imsfg.CellForeColor = color 前景色msfg.CellBackColor = bkcolor 背景色NextEnd SubPrivate Sub Command1_Click() setColor MSFlexGrid1, 3, &HFFFF&, &H8000000DEnd SubPrivate Sub Form_Load() MSFlexGrid1.Rows = 5 MSFlexGrid1.Cols = 5 For i = 1 To 4 For j =

4、1 To 4 MSFlexGrid1.TextMatrix(i, j) = j Next NextEnd Sub让MSHFlexGrid只能被选中一行的另一方法1、放置一个HSB1(HScrollBar),MSHFlexGrid1(MSHFlexGrid)2、如下代码:-PrivateSubForm_Load()IfMSHFlexGrid1.ColsthenHSB1.Min=1HSB1.Max=MSHFlexGrid1.ColsEndIfEndSub-PrivateSubHSB1_Change()IfMSHFlexGrid1.ColsthenMSHFlexGrid1.Row=HSB1.valu

5、eMSHFlexGrid1.ColSel=MSHFlexGrid1.Cols-1EndIfEndSub-PrivateSubMSHFlexGrid1_Click()IfMSHFlexGrid1.ColsthenHSB1.value=MSHFlexGrid1.RowEndIfEndSub怎么改变MSHFlexGrid某个单元格的颜色Public Function FlexRedraw(F As MSHFlexGrid) As String With F .Redraw = False 禁止重画,防止闪动 .BackColorFixed = RGB(190, 218, 178) 标题行背景色 .R

6、ow = 0 设置标题行文字的对其方式 .Col = 0 .ColSel = .Cols - 1 .CellForeColor = vbBlue 标题行文字颜色 .CellAlignment = 4 对其方式为中间中间 .ScrollTrack = True 移动滚动条的同时数据也滚动 For I = .FixedRows To .Rows - 1 单双行表格条纹背景色显示 .Row = I 选择第I行 .Col = .FixedCols .ColSel = .Cols - 1 If I / 2 = Int(I / 2) Then 判断是单是双 .CellBackColor = RGB(224

7、, 248, 224) 双行的底色 Else .CellBackColor = RGB(240, 248, 224) 单行的底色 End If Next I .Row = 1 .Col = 1 .ColSel = .Cols - 1 .Redraw = True 允许重画,显示表格 End With End Function给第0列打钩MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = 改变行颜色 For i_Col = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i_Col MSFlexGrid1.CellBa

8、ckColor = &H80C0FF Next i_ColPrivate Sub Command1_Click()MSFlexGrid1.BackColorBkg = vbGreenEnd SubPrivate Sub Form_Load()MSFlexGrid1.Cols = 10MSFlexGrid1.Rows = 10MSFlexGrid1.FixedCols = 0MSFlexGrid1.FixedRows = 0MSFlexGrid1.SelectionMode = flexSelectionByRowEnd SubPrivate Sub MSFlexGrid1_MouseDown(

9、Button As Integer, Shift As Integer, x As Single, y As Single)On Error GoTo Err_Proc Dim intCurrCol As Long intCurrCol = MSFlexGrid1.Col 单击选择或不选择 If MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = Then MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = 改变行颜色 For i_Col = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.

10、Col = i_Col MSFlexGrid1.CellBackColor = vbWhite Next i_Col Else MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = 改变行颜色 For i_Col = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i_Col MSFlexGrid1.CellBackColor = &H80C0FF Next i_Col End If MSFlexGrid1.Col = intCurrCol Exit SubEnd SubPrivate Sub MSFlexGrid1_

11、MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Me.Caption = MSFlexGrid1.MouseRow & , & MSFlexGrid1.MouseColEnd Sub我想实现的是当我选点击MSHFLEXGRID控件中某行的数据时,其颜色变为与原来的底色不同的颜色,但当我点击鼠标又重新选中其他行时,刚才选中的那一行恢复原来的颜色 ,而刚刚重新选中的新行显示 不同的颜色 。如何实现1. Private Sub mfg1_Click()2. Dim row, i, j As Intege

12、r3. row = mfg1.row4. mfg1.Redraw = False5. For i = 1 To mfg1.Rows - 16. mfg1.row = i7. For j = 0 To mfg1.Cols - 18. mfg1.Col = j9. mfg1.CellBackColor = &H8000000510. Next j11. Next i12. mfg1.row = row13. For j = 0 To mfg1.Cols - 114. mfg1.Col = j15. mfg1.CellBackColor = vbGreen16. Next j17. mfg1.Red

13、raw = True18. End Sub按着ymshjg的方法选中行变色问题解决啦。可我要mshflexgrid的click事件中又添加了下面的代码,为的是实现添加数据行的功能。可添上后text1控件不动了。总在最后 一列,并且mshflexgrid控件 的数据显示总从非第一列显示(一)、Dim row, i, j As Integerrow = datadzh.rowdatadzh.Redraw = FalseFor i = 1 To datadzh.Rows - 1 datadzh.row = i For j = 0 To datadzh.Cols - 1 datadzh.Col = j

14、 datadzh.CellBackColor = &HC0FFFF Next jNext idatadzh.row = rowFor j = 0 To datadzh.Cols - 1 datadzh.Col = j datadzh.CellBackColor = vbGreenNext jdatadzh.Redraw = True(二)、With datadzh Text1.Left = .CellLeft + datadzh.Left - 10 Text1.Top = .CellTop + datadzh.Top - 10 Text1.Width = .CellWidth Text1.He

15、ight = .CellHeight Text1.Text = datadzh.Text Text1.Enabled = True Text1.Visible = True Text1.BackColor = &HC0FFFF End With Text1.Visible = True Text1.SetFocusend sub以上为mshflexgrid控件的click事件中全部的代码,要是把(一)、(二)两部分代码单独放置到CLICK事件中就没有问题,一同时放就有问题,不知道哪儿错了。问题解决了,终于找到原因啦。唉,我在datazw这个控件的mousedown事件下把text定位了。唉。解

16、决了。自己结贴 了嘿嘿。在VB中,单击MSHFlexGrid中的任何一个单元格即能实现选中该行,这个是怎么实现的?选中的这行变为其它颜色。请各位老师给予帮助。另外单击列标头即能实现排列的互换,这又是怎么实现的呢?1.Selection Mode =1-By ROW 2. MouseDown事件中如果Y为列头则调用Sort方法MSHFlexGrid中单击某一行变色VBcodePrivateSubHFlexgrid_EnterCell()单击某一单元时,改变该行颜色Dimi_ColAsIntegerDimc_colAsIntegerc_col=Hflexgrid.ColIfc_col0ThenFo

17、ri_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_

18、ColHflexgrid.Col=c_colEndSub让MSHFlexGrid只能被选中一行MSHFlexGrid控件点击时可以选中多行,但有时我们需要仅仅选中一行,有一个小技巧:Option ExplicitDim CURRENTROW As IntegerPrivate Sub Form_Load()Dim i As Integer, j As IntegerWith MSHFlexGrid1.Rows = 10.Cols = 4For i = 1 To 9.TextMatrix(i, 0) = 第 & i & 行For j = 1 To 3.TextMatrix(0, j) = 第 &

19、 j & 列.TextMatrix(i, j) = i & , & jNextNextEnd WithEnd SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) With MSHFlexGrid1 .Row = .MouseRow CURRENTROW = .Row .Col = 0 .ColSel = .Cols - 1 End WithEnd SubPrivate Sub MSHFlexGrid1_MouseUp(Button As Inte

20、ger, Shift As Integer, x As Single, y As Single)With MSHFlexGrid1.RowSel = CURRENTROW.ColSel = .Cols - 1End WithEnd Sub如何让MSHFlexGrid只能被选中一行Option ExplicitDim CURRENTROW As IntegerPrivate Sub Form_Load()Dim i As Integer, j As IntegerWith MSHFlexGrid1.Rows = 10.Cols = 4For i = 1 To 9.TextMatrix(i, 0)

21、 = 第 & i & 行For j = 1 To 3.TextMatrix(0, j) = 第 & j & 列.TextMatrix(i, j) = i & , & jNextNextEnd WithEnd SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)With MSHFlexGrid1.Row = .MouseRowCURRENTROW = .Row.Col = 0.ColSel = .Cols - 1End WithEnd SubPrivate Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)With MSHFlexGrid1.RowSel = CURRENTROW.ColSel = .Cols - 1End WithEnd Sub

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1