VB6中的MSHFlexGrid控件功能较强,在设置了BackColorSel以及ForeColorSel属性,并且允许整行选择时,被选中行就会按照设置的颜色完成反色显示效果,但是,当设置了允许行列合并时,此效果就失去了作用。那么,是不是鱼和熊掌不能兼得呢?
不是的,今天在朋友小巧玲珑的帮助下,终于实现了“鱼和熊掌兼得”!现将实现之方法记录于此,同大家共享,并再次答谢小巧玲珑的热心帮助!
一、实现的思路:
1、设计时,先设置好MSHFlexGrid控件的BackColor、BackColorSel以及ForeColorSel属性,当然你也可以使用其默认颜色。设置其填充方式为1-Repeat,选择模式为1-By Row,焦点区域为0-None。
2、当通过鼠标或者光标键选中某行时,先把它的背景色以及行号保存在变量中,以便此行不被选中时恢复。然后使用代码改变该行背景色以及前景色。当然,如果所有行的背景色及前景色是相同的,不用保存它们的背景色及前景色,恢复时恢复到你设置的统一默认值即可。
3、把改变背景色及前景色的关键代码放进MSHFlexGrid控件的RowColChange()事件中。
二、参考代码(将如下代码放在MSHFlexGrid控件的RowColChange()事件中):
Dim vRow As Long '保存当前被选中行
With Me.MSHFlexGrid1
vRow = .Row
.Row = myRow '上次被选中的行号,或初始设置的行号
vCol = .Col
.Col = 0
.ColSel = .Cols - 1
.CellBackColor = myRowBackColor '上次被选中行的背景色,或初始设置行号相应的背景色
.CellForeColor = .ForeColor
.Row = vRow
myRowBackColor = .CellBackColor '将当前被选中行背景色保存变量中
.Col = 0
.ColSel = .Cols - 1
'设置被选中行按设置的反色方案显示背景色及前景色
.CellBackColor = .BackColorSel
.CellForeColor = .ForeColorSel
myRow = .Row
End With
相关推荐
vb6如何将MSHFlexGrid控件中的内容导出为Excel
首先的是是准备工作 需要引用 Microsoft Excel 11.0 Object Library 需要添加控件Mircrosoft Hierarchical FlexGrid Control 6.0(SP4) (OLEDB) 我们来看一下代码 Private Sub cmdOut_Click() Dim xlApp As Object Dim xlB
VB--06(VSFlexGrid控件)给单元格标记颜色
–flexcpBackColor 背景色 cell(flexcpBackColor,row,col,row,col)=准则值 cell(准则,row,col,row,col)=准则值 eg:单元格1和2标记颜色 Cell(flexcpBackColor, 1, 1, 2, 2) = &HC0C0FF 当报表中第12列值为NO时,整行标红 If DataGrid.TextMatrix(DataGrid.Rows, 12) = "NO" Then DataGrid.Cell(flexcpBackColo
MSHFlexGrid的表头合并(VB中和VS2005中)
Dim lngIndex As Long Dim lngRow As Long With MSHFlexGrid1 .Rows = 13 .Cols = 15 .MergeCells = flexMergeFree ????????? .TextMatrix(0, 0) = "拟晋升专业"
用FlexGrid的EnterCell方法来实现控件可编辑
在MSFLEXGRID控件中每一个CELL格的内容是不可以由用户直接编辑的但是我们可以通过一些小技巧来方便的实现这编辑功能来扩展MSFLEXGRID的应用(在实际应用中这是很常用的功能)。 你只需按下面的做即可轻松实现编辑MSFLEXGRID控件数据的功能 例在窗体上放一文本框text1,和一MSFLEXGRID控件flexgrid1加入下例代码Private Sub F
vb使用MSHFlexGrid4分页!!!
昨天刚试de,拿出来大家参考一下,如果有错谢谢大家给提出来!!!Function breakepage(pagesize As Integer, biaoji As String)Static CurrentpageDim pagecountDim adoadd As New ADODB.Commandadoadd.ActiveConnection = Conadoadd.CommandTy
VB 制作反转颜色图像
VB 制作反转颜色图像 VB 制作反转颜色图像
VB 将MSHFlexGrid中数据导出到Excel
1、在工程中引用Microsoft Excel类型库: 在“工程”菜单中选择“引用”,选择“Microsoft Excel 14.0 Objects Library” ,点击确定。表示工程中要引用EXCEL类型库。 2.用代码将MSHFlexGrid中的内容写到表格中: Private Sub cmdPutout_Click()
VB6.0 MSHFlexGrid常用方法
包含VB6中MSHFlexGrid的几个常用方法,如标题行的自动列宽、隔行显示不同背景色、支持鼠标滚动等
VB将MSHFlexGrid中数据导出到Excel中
在VB程序中,经查找筛选显示在MSHFlexGrid中的数据, '将查询到的上机记录导入到excel表格中 If txtCardno.Text <> "" Then Dim tmpExcel As Excel.Application
VB为MSHFlexGrid控件增加鼠标滚轮功能
摘要:VB源码,控件组件,MSHFlexGrid,鼠标滚轮 设置MSHFlexGrid控件支持鼠标滚轮,VB为MSHFlexGrid控件增加鼠标滚轮功能,与添加Datagrid控件鼠标滚动的方法是相似的,主要是基于代码中所定义的鼠标滚动API文件,你可参照本例的源码引入这个API定义,那么实现MSHFlexGrid的鼠标滚动滚动数据是轻易而举的。 运行环境:Windows/VB6
VB.net 实现MSHFlexGrid 滚轮事件
使用VB。net实现滚轮事件。传统事件存在 Address......之类的错误。逼着经过改良。实现了无缝隙升级。
vb中MSFlexgrid 和 MSHFlexgrid 的区别以及详解
简单地说,MSFlexGrid和MSHFlexGrid之间的区别,主要是后者支持ADO的层次显示。如果你不使用ADO,可以考虑MSFlexGrid,否则建议使用MSHFlexGrid。 这两个控件的详解: MSFlexGrid控件 MicrosoftFlexGrid(MSFlexGrid)控件可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能,网格中可以包含
让MSFlexgrid支持鼠标滚动
VB中让MSFlexgrid支持鼠标滚动
VB中MSHFlexGrid控件的应用
应用心得 1)MSHFlexGrid控件 与 MSFlexGrid控件 的异同 MSHFlexGrid控件与Adodc控件绑定,MSFlexGrid控件与Data控件绑定。2)MSHFlexGrid控件的应用如果记录集已经在程序中产生,则可以不与Adodc控件绑定,直接在MSHFlexGrid控件中显示数据,并且可以
VB6.0鼠标滚轮控件
VB6.0开发环境 不支持鼠标滚轮。该控件可以使用鼠标滚轮来查看代码窗口。 是可以直接添加外接程序的方式,不是单独运行的插件。
VB中设置MSHFlexGrid每行的颜色
设置MSHFlexGrid每行的颜色Public Sub SetRowColor()Sub SetRowColor(ByRef MSHFlexGrid As Object)Dim j, i, objNameobjName = TypeName(MSHFlexGrid)If StrConv(Trim(objName), vbUpperCase) "MSHFLEXGRID" ThenE
华为2021年天线工程师笔试题目回忆总结(持续更新)
1. 判定长线和短线 所谓长线是指传输线的几何长度和线上传输电磁波的波长的比值(即电长度)大于或接近于1。反之称为短线。是相对于波长而言的。 1000m的传输线,对于频率为50hz(即波长为6000km)的交流电来说,仍远小于波长,应视为短线。长线和短线的区别还在于:长线为分布参数电路,而短线是集总参数电路。 2. 判定传输线的容性和感性 传输线上的输入阻抗具有以下特点: 1/4波长变换性:感性负载与容性负载变换,开路与短路变换; 1/2波长重复性:相距1/2波长的整数倍的两个点输入阻抗都相等。1/4开路传
VB为MSHFlexGrid添加表格编辑功能
虽然MSHFlexGrid的功能比较强大,样式比较丰富,可惜它不支持数据编辑。我以前俺用TextBox实现了它的编辑功能,总算弥补了MSHFlexGrid的不足。 首先,新建一个标准EXE工程,然后, 在工程部件里选择“Microsoft Hierarchical Flex Grid Control 6.0 (OLEDB)”,在Form里添加一个MSHFlex...
什么是OAuth 2.0?
OAuth2.0是一种授权协议而非登录协议,核心思想是通过令牌(Token)而非密码实现安全授权。它涉及三个关键角色:用户、第三方应用和身份提供商(IdP)。最常用的授权码流程(AuthorizationCode Flow)通过浏览器三方对话,确保用户密码只提供给IdP而非第三方应用。OAuth2.0提供四种授权方式,其中授权码和客户端凭证是当前主流,而隐式和密码模式已不推荐。需要注意的是,OAuth2.0解决的是授权问题,身份认证需通过OpenID Connect实现。该协议通过临时令牌机制,实现了&qu
WPS占用C盘空间解决方案与优化技巧
办公软件在长期使用过程中会产生大量缓存和历史文件,这些文件往往隐藏在系统目录中,导致磁盘空间被无声占用。以WPS为例,其版本历史备份、云同步缓存和模板库是主要空间占用源。通过分析文件存储机制,可以定位到具体的缓存路径,如AppData目录下的Kingsoft文件夹。针对这一问题,有效的解决方案包括手动清理、自动化脚本和注册表优化。对于需要持续监控的场景,可以结合PowerShell脚本和任务计划实现自动化管理。在实际应用中,这些技术不仅适用于WPS,也可迁移到其他办公软件的空间优化中,是每位IT运维人员和高
1785



被折叠的 条评论
为什么被折叠?



