vb中,如何在运行时用鼠标对控件(如Textbox)进行移动和缩放(即改变大小)操作?

如题所述

第1个回答  2008-06-08
一般程序再运行之后是不会允许这样做的。不过你可以再其他的地方执行程序,修改text的height和width两项的数据,从而改变大小,如果你想写的话可以读取鼠标的坐标,如果再边框的时候按下并且移动,就执行上面的那些内容,不过很麻烦,我没有时间试验了。你可以自己试验一下看看。timer控件监控
第2个回答  2008-06-08
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_SYSCOMMAND = &H112
Const SC_MOVE = &HF010&
Const HTCAPTION = 2
Private Sub MoveWindow(ByVal hwnd As Long)
Dim ret As Long
ReleaseCapture
ret = SendMessage(Text1.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0)
End Sub
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveWindow hwnd
End Sub

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveWindow hwnd
End Sub本回答被提问者采纳
第3个回答  2008-06-08
如果想通过鼠标拖拉来移动和缩放应该有难度。看看高手的回答吧。