好象不行,MSHFLEXGRID没有这个事件,可以试试在TEXTBOX失去焦点时即隐藏,这样就不需要更新了

解决方案 »

  1.   

    加个timer或者用鼠标钩子吧。
      

  2.   

    试过好几种办法,好象是不行,它不当没有可触发的事件,就连所有属性都忽略,比如mouserow,MousePointer,还是从TEXT方面找找看。
      

  3.   

    我用的是:MSFlexGrid,我是用timer控件解决的,效果还可以,当然不能说很好,  如果你可以通过拦载消息的方式解决,可能效果会好一些!
      

  4.   

    你考虑一下这样行不行:mousemove事件中mouserow=0时,焦点区域移到mouserow  mousecol这一格判断 cellwidth的值是否改变,若改变,text也变。应预先把cellwidth的值保存在变量里,改变后再更新。
      

  5.   

    试试其他几个电子表格控件,好象有一个可以直接修改单元格内容的,不用那么麻烦,最好是装上vb6sp5。
      

  6.   

    这段代码在拖动列宽时,只要鼠标脱离双箭头状态,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
      

  7.   

    在MSHFlexGrid控件的RowColChange事件中加上
      

  8.   

    to: of123() 
    你说的那个,我知道。我的要求是:随着鼠标的拉动,text的宽度同时在变。及时性,而不是象你所说的那样。不过还是要谢谢你。欢迎各位继续讨论
      

  9.   

    朋友!如何让MSHFlexGrid1所有的单元格,当内容相同的时候可以自动合并呢?