VB6中如何使MSHFlexGrid选中行反色显示?

MSHFlexGrid控件设置合并后的选中突出显示一行的问题 最近开发一个程序,在C#中用到了以前VB6中的 MSHFlexGrid控件,用的原因只有一个,就是可以很简单的合并单元格,关于怎么合并,我在以前帖子中将过,详细见http://blog.youkuaiyun.com/yumanqing/archive/2006/12/22/1453633.aspx下面把选中突出显示的代码帖出来;窗体级别变量,主要是记录下次选中时,前一次选中的行  private 阅读详情

  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

VB的MSHFlexGrid控件内容导入Excel 机房收费系统中有很多窗体用到导出到Excel,说一下vb与Excel的交互,如何才能将MSHFlexgrid中的内容导出到Excel。      首先在VB中添加引用Microsoft Excel 14.0 Object Library。然后找到相应按钮,在过程中添加如下代码: Private Sub cmdExport_Click() Dim i As Long, j As Lo 阅读详情

相关推荐

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

飞蛾分吧 1785

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

Mimo_YY的博客 2130

MSHFlexGrid的表头合并(VB中和VS2005中)

Dim lngIndex As Long    Dim lngRow As Long        With MSHFlexGrid1        .Rows = 13        .Cols = 15        .MergeCells = flexMergeFree ?????????                .TextMatrix(0, 0) = "拟晋升专业"      

每天进步一点点 7019

用FlexGrid的EnterCell方法来实现控件可编辑

     在MSFLEXGRID控件中每一个CELL格的内容是不可以由用户直接编辑的但是我们可以通过一些小技巧来方便的实现这编辑功能来扩展MSFLEXGRID的应用(在实际应用中这是很常用的功能)。     你只需按下面的做即可轻松实现编辑MSFLEXGRID控件数据的功能     例在窗体上放一文本框text1,和一MSFLEXGRID控件flexgrid1加入下例代码Private Sub F

ToMKai 's World 2710

vb使用MSHFlexGrid4分页!!!

 昨天刚试de,拿出来大家参考一下,如果有错谢谢大家给提出来!!!Function breakepage(pagesize As Integer, biaoji As String)Static CurrentpageDim pagecountDim adoadd As New ADODB.Commandadoadd.ActiveConnection = Conadoadd.CommandTy

xingxingxiangrong的专栏 1639

VB 制作反转颜色图像

VB 制作反转颜色图像 VB 制作反转颜色图像

VB 将MSHFlexGrid中数据导出到Excel

1、在工程中引用Microsoft Excel类型库:          在“工程”菜单中选择“引用”,选择“Microsoft Excel 14.0 Objects Library” ,点击确定。表示工程中要引用EXCEL类型库。         2.用代码将MSHFlexGrid中的内容写到表格中:     Private Sub cmdPutout_Click()

大道至简 6419

VB6.0 MSHFlexGrid常用方法

包含VB6中MSHFlexGrid的几个常用方法,如标题行的自动列宽、隔行显示不同背景色、支持鼠标滚动等

VB将MSHFlexGrid中数据导出到Excel中

在VB程序中,经查找筛选显示在MSHFlexGrid中的数据, '将查询到的上机记录导入到excel表格中 If txtCardno.Text <> "" Then Dim tmpExcel As Excel.Application

郭丽敏 学习园地 2010

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)控件可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能,网格中可以包含

Jack 架构师之路 5931

让MSFlexgrid支持鼠标滚动

VB中让MSFlexgrid支持鼠标滚动

VB中MSHFlexGrid控件的应用

应用心得                                  1)MSHFlexGrid控件 与 MSFlexGrid控件 的异同 MSHFlexGrid控件与Adodc控件绑定,MSFlexGrid控件与Data控件绑定。2)MSHFlexGrid控件的应用如果记录集已经在程序中产生,则可以不与Adodc控件绑定,直接在MSHFlexGrid控件中显示数据,并且可以

2703

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

每天进步一点点 6222

华为2021年天线工程师笔试题目回忆总结(持续更新)

1. 判定长线和短线 所谓长线是指传输线的几何长度和线上传输电磁波的波长的比值(即电长度)大于或接近于1。反之称为短线。是相对于波长而言的。 1000m的传输线,对于频率为50hz(即波长为6000km)的交流电来说,仍远小于波长,应视为短线。长线和短线的区别还在于:长线为分布参数电路,而短线是集总参数电路。 2. 判定传输线的容性和感性 传输线上的输入阻抗具有以下特点: 1/4波长变换性:感性负载与容性负载变换,开路与短路变换; 1/2波长重复性:相距1/2波长的整数倍的两个点输入阻抗都相等。1/4开路传

ludashi3的博客 9530

VB为MSHFlexGrid添加表格编辑功能

        虽然MSHFlexGrid的功能比较强大,样式比较丰富,可惜它不支持数据编辑。我以前俺用TextBox实现了它的编辑功能,总算弥补了MSHFlexGrid的不足。         首先,新建一个标准EXE工程,然后, 在工程部件里选择“Microsoft Hierarchical Flex Grid Control 6.0 (OLEDB)”,在Form里添加一个MSHFlex...

miaozk2006的专栏 2451

什么是OAuth 2.0?

OAuth2.0是一种授权协议而非登录协议,核心思想是通过令牌(Token)而非密码实现安全授权。它涉及三个关键角色:用户、第三方应用和身份提供商(IdP)。最常用的授权码流程(AuthorizationCode Flow)通过浏览器三方对话,确保用户密码只提供给IdP而非第三方应用。OAuth2.0提供四种授权方式,其中授权码和客户端凭证是当前主流,而隐式和密码模式已不推荐。需要注意的是,OAuth2.0解决的是授权问题,身份认证需通过OpenID Connect实现。该协议通过临时令牌机制,实现了&qu

sonadorje的专栏 1154

WPS占用C盘空间解决方案与优化技巧

办公软件在长期使用过程中会产生大量缓存和历史文件,这些文件往往隐藏在系统目录中,导致磁盘空间被无声占用。以WPS为例,其版本历史备份、云同步缓存和模板库是主要空间占用源。通过分析文件存储机制,可以定位到具体的缓存路径,如AppData目录下的Kingsoft文件夹。针对这一问题,有效的解决方案包括手动清理、自动化脚本和注册表优化。对于需要持续监控的场景,可以结合PowerShell脚本和任务计划实现自动化管理。在实际应用中,这些技术不仅适用于WPS,也可迁移到其他办公软件的空间优化中,是每位IT运维人员和高

weixin_30788239的博客 455
上一篇: VB编程时如何检测A驱有无磁盘或磁盘写保护?
下一篇: VB6编程实现XP风格
htsoft
博客等级 码龄27年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值