Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
Marduk_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 17.06.2007
Beiträge: 389

Form verschieben ohne "Rand"
Verfasst am: 29.10.2007, 16:13

Hallo Leute,

hab mal wieder ein Problem. Hab mir so eine kleine Uhr gebastelt, die ständig OnTop da sein soll, also über allen Fenstern. Das klappt auch soweit. Zwecks Aussehen, hab ich die FormBorderStyle Eigentschaft auf None gestellt, also es gibt keinen Rahmen mehr. Das Problem dabei ist, dass ich jetzt die Form nicht mehr mit der Maus verschieben kann.

Hab mir schon gedacht, beim Mausklick sowas zu machen

[vb:1:780158b6d6]me.Location = e.Location[/vb:1:780158b6d6]

Also, dass die Form der Maus hinterherfährt. Das will aber nicht, es springt immer nur hinundher.

Hat da jemand ne andere Möglichkeit?

MfG
Marduk
 
Viktor
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 08.12.2006
Beiträge: 354
Wohnort: Berlin


Verfasst am: 29.10.2007, 16:23

Code:
Public gapx As Single
Public gapy As Single

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
    gapx = X
    gapy = Y
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
    Form1.Move Form1.Left + X - gapx, Form1.Top + Y - gapy
End If
End Sub


Ist aus dem Source vom DSK Trojaner.


Zuletzt bearbeitet von Viktor am 21.03.2008, 12:57, insgesamt einmal bearbeitet
 
Marduk_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 17.06.2007
Beiträge: 389


Verfasst am: 29.10.2007, 23:22

Danke enco für den Vorschlag, aber der hat nicht richtig funktioniert, hab ihn dann noch mal umgeschrieben, aber die Form ist immer zwischen 2 Punkten hin und her gesprungen.

Hab jetzt ne neue Version mit einem Timer. Funktioniert eigentlich ganz gut.

Code:
Private Sub Label1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
        Timer1.Enabled = True ' Timer wird gestartet
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim position As System.Drawing.Point ' Ein Punkt mit den aktuellen Mauskoordinaten
        position.X = Me.MousePosition.X ' wird angelegt
        position.Y = Me.MousePosition.Y

        Me.Location = position ' Form Location ist Mauslocation
    End Sub

    Private Sub Label1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp
        Timer1.Stop() ' Stoppen
        Timer1.Enabled = False
    End Sub



Hab das ganze auf ein Label gelegt, damit man weiss wo man drücken kann.
Intervall auf 10ms gestellt und das ganze läuft flüssig durch
 
Hamtaro_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 06.05.2007
Beiträge: 217
Wohnort: NRW


Verfasst am: 30.10.2007, 16:27


Also in VB6(schätze auch .NET) geht das mit der API so:
'#### APIs zum verschieben des Fensters
Code:
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 Long) As Long
Public Sub MoveWindow(ByVal lHandle As Long)
ReleaseCapture
Call SendMessage(lHandle, &HA1, 2, 0)
End Sub
Private Sub Form1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MoveWindow Me.hWnd ' fenster verschieben
End Sub

Wie findet ihr meine Sig?
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: verschieben, form, rahmen, rand

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [gelöst] String in Integer umwandeln klappt nicht (XML, ASP) 572 06.11.2011, 22:12
Keine neuen Beiträge Form ohne Rand mit Maus größer u. kleiner ziehen? 868 07.04.2008, 09:57
Keine neuen Beiträge Ogame Login klappt nicht 1922 12.02.2008, 16:36
Keine neuen Beiträge Maus! 999 02.06.2007, 22:23
Keine neuen Beiträge objekte mit der maus bewegen 1619 19.05.2007, 12:16
 


[ Time: 0.1690s ][ Queries: 89 (0.1040s) ][ GZIP on - Debug on ]