Trang 1 trên 1

Di chuyển control lúc runtime

Đã gửi: T.Sáu 16/01/2009 4:55 pm
gửi bởi truongphu
Thủ thuật: Di chuyển control lúc runtime
Tác giả: truongphu
Mô tả: Di chuyển control lúc runtime



Cần Text1 và Command1

Mã: Chọn hết

  1. Option Explicit
  2.  
  3.   Private Declare Function ReleaseCapture Lib "user32" () As Long
  4.   Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  5.   (ByVal hWnd&, ByVal wMsg&, wParam As Any, lParam As Any) As Long
  6.   Dim Mov As Boolean
  7.  
  8. Private Sub Command1_Click()
  9.   Text1.MousePointer = vbArrow
  10.   Command1.Caption = "Hãy Di Chuyên"
  11. End Sub
  12.  
  13. Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  14.   If Text1.MousePointer = vbArrow Then
  15.     Call ReleaseCapture
  16.     Call SendMessage(Text1.hWnd, ByVal &HA1&, ByVal 2&, ByVal 0&)
  17.     Mov = True
  18.   End If
  19. End Sub
  20.  
  21. Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  22.   If Mov Then
  23.     Text1.MousePointer = vbDefault
  24.     Mov = False
  25.     Command1.Caption = "Di Chuyên Không?"
  26.   End If
  27. End Sub


Hay không? Cảm ơn đã đọc bài. Xin nhấn nút Thank tại đây

Re: Di chuyển control lúc runtime

Đã gửi: T.Hai 08/02/2010 3:00 pm
gửi bởi aloxanh
anh ơi cho e hỏi là : Làm thế nào để di chuyển Text1 theo một tọa độ Y xác định trước ? Có nghĩa là khi dùng chuột kéo Text1 thì Text1.Top = hằng số và không phụ thuộc vào tọa độ Y của chuột.

Re: Di chuyển control lúc runtime

Đã gửi: T.Hai 08/02/2010 3:13 pm
gửi bởi thuongall
Code này trên forum đã có rồi, form cần 1 Textbox.
  1. Dim Xx As Integer
  2. Dim Yz As Integer
  3.  
  4. Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  5.     Yz = Text1.Top
  6.     Xx = X
  7. End Sub
  8.  
  9. Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  10.     If Button = 1 Then
  11.         Text1.Top = Yz
  12.         Text1.Left = Text1.Left + (X - Xx)
  13.     End If
  14. End Sub

Re: Di chuyển control lúc runtime

Đã gửi: T.Bảy 18/06/2011 10:06 am
gửi bởi anhmaune
anh oi xem giùm em xem cái code tự động tăng hd lên 1 này nó bị lỗi chỗ nào ak ?