Avatar billede vatnisserne Nybegynder
22. juni 2002 - 13:03 Der er 8 kommentarer og
1 løsning

Borderstyle

Hvordan kan jeg flytte en form med musen hvis dens borderstyle er sat til 0-none
Avatar billede gigaload Nybegynder
22. juni 2002 - 13:23 #1
gøre den større?
Avatar billede jelzin101 Praktikant
22. juni 2002 - 13:30 #2
for on mousedown eventen kan du sætte en variabel f.eks. kaldet formmove til true. (og sætte den til false for mouseup eventen)

så i mousemove eventen for formen sætter du formens koordinater dynamisk ih.t. musens bevægelse.
Avatar billede jelzin101 Praktikant
22. juni 2002 - 13:30 #3
(men slf. betinget af at formmove=true)
Avatar billede vatnisserne Nybegynder
22. juni 2002 - 14:26 #4
jelzin101
jeg har prøvet din kode.
har du selv prøvet den. for det ir ker ikke så godt.

Dim FormMove As Boolean

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
FormMove = True
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If FormMove = True Then
    Form1.Move X, Y
End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
FormMove = False
End Sub
Avatar billede sjh Nybegynder
22. juni 2002 - 17:52 #5
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long

Public Sub FormDrag(TheForm As Form)
  ReleaseCapture
  Call SendMessage(TheForm.hwnd, &HA1, 2, 0&)
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = vbLeftButton Then
    FormDrag Me
  End If
End Sub
Avatar billede sjh Nybegynder
22. juni 2002 - 18:02 #6
Eller hvis du vil gørere det ved at trykke på en "Picture1"


Dim IX, IY, FX, FY As Integer

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  IX = X: IY = Y
  FX = Me.Left: FY = Me.Top
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 1 Then
    Me.Move FX + (X - IX), FY + (Y - IY)
    FX = Me.Left: FY = Me.Top
  End If
End Sub
Avatar billede kantoraza Nybegynder
23. juni 2002 - 15:04 #7
I et module:------------------

Public Const LP_HT_CAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1

Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
      (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
      lParam As Any) As Long
'-- End --'

I picture1 (et pivturebox):--------------

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _
        X As Single, Y As Single)
  Dim retVal As Long
  ' Release the capture
  retVal = ReleaseCapture
  ' Send a message to Form1 saying we clicked it's Caption
  ' so that it will move around.
  retVal = SendMessage(Form1.hwnd, WM_NCLBUTTONDOWN, _
            LP_HT_CAPTION, ByVal 0&)
End Sub
'-- End --'



/KantoRaZa\
Avatar billede vatnisserne Nybegynder
23. juni 2002 - 15:44 #8
sjh jeg siger mange tak for hjælpen
Avatar billede sjh Nybegynder
23. juni 2002 - 17:26 #9
selv tak. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester