MSFlexGrid,我在CLICK事件中触发TXT显示并与单元格大小相等以实现帮定效果
TxtInput.Top = FGrid.CellTop + 240
TxtInput.Left = FGrid.CellLeft + 120
TxtInput.Height = FGrid.CellHeight
TxtInput.Width = FGrid.CellWidth
TxtInput.Text = FGrid.Text
TxtInput.Visible = True
TxtInput.SetFocus
现在点击一单元格,TXT显示,然后拖动此行或者此列的大小,发现TXT大小并没有随着单元格大小变化(能否捕捉行列大小改变的事件?)
如何解决这一问题
TxtInput.Top = FGrid.CellTop + 240
TxtInput.Left = FGrid.CellLeft + 120
TxtInput.Height = FGrid.CellHeight
TxtInput.Width = FGrid.CellWidth
TxtInput.Text = FGrid.Text
TxtInput.Visible = True
TxtInput.SetFocus
现在点击一单元格,TXT显示,然后拖动此行或者此列的大小,发现TXT大小并没有随着单元格大小变化(能否捕捉行列大小改变的事件?)
如何解决这一问题
解决方案 »
- timer的问题
- VB 谁有网络或是本地验证代码
- 在VB里的打印功能.我想把一個VB面頁打印出來.我記得是一個很簡單的語句就可以打印的了是嗎?
- 求英文版VB 6.0+SP6,100分!
- vb+access程序打包后,在有的机器上安装时出现“数据库未绑定”。在线等!谢谢!
- 为什么要在函数后面加$
- 如何将一个窗体FormPrint中显示的所有内容通过打印机打印出来?
- Activereport2.0报表格式,怎样使一条记录保持在一页面中!!!!!高分送你!!!!
- 读出来的Recordset不能更改(本人没分不好意思:( )...在线等
- 一个关于dos下网卡的问题.
- 一个特殊的特殊的难题请大家帮忙???
- 如何使用该dll?(急)
用click事件是不行的我现在能想到的是用lostfocus事件--但是需要点击其他部分后生效
或者mousemove事件--在msflexgrid上移动即生效
在paint事件里可以捕捉到
但是具体怎么弄???
给你个我下的例子
'设定TextBox於MSFlexGrid1的Current Cell上
Private Sub toEditGrid(ByVal c As Integer, ByVal R As Integer)
On Error Resume Next
With MSFlexGrid1
.col = c: .row = R
Text1.Left = .Left + .ColPos(c)
Text1.Top = .Top + .RowPos(R)
If .Appearance = flex3D Then
Text1.Left = Text1.Left + 2 * Screen.TwipsPerPixelX
Text1.Top = Text1.Top + 2 * Screen.TwipsPerPixelY
End If
Text1.Width = .ColWidth(c)
Text1.Height = .RowHeight(R)
Text1.Text = .Text
OldText = .Text
OldRowE = R
End With
Text1.Visible = True
Text1.SelStart = Len(Text1.Text)
Text1.SetFocus
End Sub
如果你在Text显示的时候把列表的Enabled设置为False
那么是不是就好控制了?