关于MSHFlexGrid控件的问题,急!(50分相送)

houniao 2002-09-04 10:59:06
我设置了一个MSHFlexGrid控件,为了用户能编辑MSHFlexGrid中的单元内容,又放置了一个textbox控件,用于用户编辑,且将MSHFlexGrid的列宽设置为可以根据用户需求伸缩,但现在有个问题,当拉动MSHFlexGrid的某一列更改其列宽时,下面的textbox控件并不及时跟随MSHFlexGrid的列宽改变大小,而是要再次点击MSHFlexGrid时,才会更新。我想请教各位,有什么方法可以使textbox的宽度随着MSHFlexGrid的列宽改变而实时改变嘛?如有代码,则更好。拜托!
...全文
53 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
whuyyang 2002-10-04
  • 打赏
  • 举报
回复
朋友!如何让MSHFlexGrid1所有的单元格,当内容相同的时候可以自动合并呢?
houniao 2002-09-10
  • 打赏
  • 举报
回复
to: of123()
你说的那个,我知道。我的要求是:随着鼠标的拉动,text的宽度同时在变。及时性,而不是象你所说的那样。不过还是要谢谢你。欢迎各位继续讨论
czwwh 2002-09-06
  • 打赏
  • 举报
回复
在MSHFlexGrid控件的RowColChange事件中加上
of123 2002-09-06
  • 打赏
  • 举报
回复
这段代码在拖动列宽时,只要鼠标脱离双箭头状态,text立刻会变。
Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If MSHFlexGrid1.ColWidth(1) > 0 And MSHFlexGrid1.ColWidth(1) <> Text1.Width Then
Text1.Width = MSHFlexGrid1.ColWidth(1)
End If
End Sub
nii 2002-09-06
  • 打赏
  • 举报
回复
试试其他几个电子表格控件,好象有一个可以直接修改单元格内容的,不用那么麻烦,最好是装上vb6sp5。
houniao 2002-09-05
  • 打赏
  • 举报
回复
欢迎大家继续提出新办法,期待中!
coolsky 2002-09-04
  • 打赏
  • 举报
回复
加个timer或者用鼠标钩子吧。
houniao 2002-09-04
  • 打赏
  • 举报
回复
这样也可以的,但是我想要的是那种随之变化的效果,不知道还有没有其他方法可以实现?
bluecc 2002-09-04
  • 打赏
  • 举报
回复
好象不行,MSHFLEXGRID没有这个事件,可以试试在TEXTBOX失去焦点时即隐藏,这样就不需要更新了
bigbigfans 2002-09-04
  • 打赏
  • 举报
回复
关注
caohuang 2002-09-04
  • 打赏
  • 举报
回复
你考虑一下这样行不行:

mousemove事件中mouserow=0时,焦点区域移到mouserow mousecol这一格判断 cellwidth的值是否改变,若改变,text也变。应预先把cellwidth的值保存在变量里,改变后再更新。
houniao 2002-09-04
  • 打赏
  • 举报
回复
请详细说一下,鼠标钩子和拦截消息的方法,拜托!
lianghong 2002-09-04
  • 打赏
  • 举报
回复
我用的是:MSFlexGrid,我是用timer控件解决的,效果还可以,当然不能说很好, 如果你可以通过拦载消息的方式解决,可能效果会好一些!
fleshboy 2002-09-04
  • 打赏
  • 举报
回复
应该用鼠标钩子吧!
caohuang 2002-09-04
  • 打赏
  • 举报
回复
试过好几种办法,好象是不行,它不当没有可触发的事件,就连所有属性都忽略,比如mouserow,MousePointer,还是从TEXT方面找找看。

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧