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

houniao 2002-09-04 10:59:06
我设置了一个MSHFlexGrid控件,为了用户能编辑MSHFlexGrid中的单元内容,又放置了一个textbox控件,用于用户编辑,且将MSHFlexGrid的列宽设置为可以根据用户需求伸缩,但现在有个问题,当拉动MSHFlexGrid的某一列更改其列宽时,下面的textbox控件并不及时跟随MSHFlexGrid的列宽改变大小,而是要再次点击MSHFlexGrid时,才会更新。我想请教各位,有什么方法可以使textbox的宽度随着MSHFlexGrid的列宽改变而实时改变嘛?如有代码,则更好。拜托!
...全文
12 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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方面找找看。
回复
发帖
控件
创建于2007-09-28

1425

社区成员

VB 控件
申请成为版主
帖子事件
创建了帖子
2002-09-04 10:59
社区公告
暂无公告