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 -> [VB6] Fragen - Antworten
Autor
Nachricht
bluespoon_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 11.11.2007
Beiträge: 22

Form ohne Rand mit Maus größer u. kleiner ziehen?
Verfasst am: 02.04.2008, 15:07

Hey how,

hat jemand von Euch eine Ahnung, wie ich
einen Button, Grafik, ... auf meiner Form platziere,
mit dessen Hilfe ich die Form Größer ziehen kann?

Also so eine Art resize bei drag and drop eines Elements
auf der Form. Ach so: Das ganze hat keinen Fensterrahmen.
Sonst bräuchte ich diese Funktion ja net Wink


Gruß, Patrick
_________________
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 02.04.2008, 20:39

ich sag einfach mal

Code:
Call Form_Resize


wo du das einbaust is dir überlassen
_________________
http://sollniss.1x.to/

 
dcm_
Newbie
Newbie

Anmeldedatum: 24.02.2008
Beiträge: 15


Verfasst am: 03.04.2008, 12:11

@sollniss:
ich sag einfach mal

Zitat:
Total falsche Antwort


ob du mir das gegenteil beweisen kannst bleibt dir überlassen


@bluespoon
ich hab grad keinen code und keine zeit
aber grundsätzlich mit mousedown und mousemove und so...

wenn mit der maus auf das steuerelement gecklickt wird (formbla_mousedown) dann wird ne variable auf true gesetzt. (bei _mouseup wieder auf false)
wenn man die maus über das steuerelement bewegt (_mousemove) dann wird die form vergrößert, je nachdem, wie weit die maus beweget wird... irgendwie so Wink
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 03.04.2008, 14:57

wenn ich wüsste wie ichs geht hätte ich das "ich sag einfach mal" weg gelassen, es war nur ein vorschlag wie es gehen KÖNNTE @ dcm
_________________
http://sollniss.1x.to/

 
bluespoon_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 11.11.2007
Beiträge: 22


Verfasst am: 04.04.2008, 06:52

hm ... also ich versuche es einfach mal
mit rechnen. Also aktuelle Mausposition
auf dem Bildschirm, auf dem Formular
und eben die zurückgelegten Strecken/
Bewegungen. Anschließend Breite/Höhe
plus oder minus.

Das ist mit sicherheit nicht die eleganteste
Lösung, sollte aber funktionieren. Wenn ich
Montag 'ne Lösung hab', dann schreibe ich
sie hier rein.

Vielen Dank erst einmal und ein schönes
Wochenende ...
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 04.04.2008, 08:28

sollniss hat Folgendes geschrieben:
wenn ich wüsste wie ichs geht hätte ich das "ich sag einfach mal" weg gelassen, es war nur ein vorschlag wie es gehen KÖNNTE @ dcm


Dann haettest du deinen Post auch ganz sein lassen koennen, denn so koennte es sowieso nich gehen.
_________________

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
bluespoon_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 11.11.2007
Beiträge: 22

Gelöst
Verfasst am: 07.04.2008, 08:57


So ... geschafft. Hier meine Lösung:

Bei MouseMove und Gedrückthalten der linken Maustaste auf meinem
"Größe-Ändern-Button" ermittle ich die aktuelle Mausposition auf dem
Monitor und multipliziere sie mit 15 um auf vernünftige Maßangaben zu
kommen. Anschließend rechne ich davon jeweils die left- und top-Position
des Formulars ab und passe die x- und y-Maße dementsprechend an.

Und da ich weder will, dass mein Formular zu klein wird, noch dass die
Maße in den negativen Bereich gehen und somit einen Fehler verursachen,
begrenze ich das ganze mit Hilfe von Abfragen (hier auf min. 2000).

Der Button (hier eine Picturebox) wird naturlich auch angepasst:
x-Pos = Formularbreite - Pictureboxbreite
y-Pos = Formularhöhe - Pictureboxhöhe

Code:
' 1 Picturebox, unten rechts angeordnet

Option Explicit

' PointAPI
Private Type POINTAPI
    X As Long
    Y As Long
End Type


' API
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long


' Größe anpassen
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim MausPosition As POINTAPI
    GetCursorPos MausPosition
   
    If Button = vbLeftButton Then
        If ((MausPosition.X * 15) - (Me.Left)) > 2000 Then
            Me.Width = (MausPosition.X * 15) - (Me.Left)
        End If
       
        If ((MausPosition.Y * 15) - (Me.Top)) > 2000 Then
            Me.Height = (MausPosition.Y * 15) - (Me.Top)
        End If
       
        Picture1.Left = (Me.Width - Picture1.Width)
        Picture1.Top = (Me.Height - Picture1.Height)
    End If
End Sub

_________________


 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: form größer, größer ziehen

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 796 20.05.2002, 00:28
Keine neuen Beiträge Eine kleine Frage an euch.. 906 30.09.2007, 08:57
Keine neuen Beiträge TopMost Funktion unter DirectX 921 27.07.2007, 10:48
Keine neuen Beiträge Wie Funktion nutzen ? 1102 29.06.2007, 20:59
Keine neuen Beiträge update funktion einbauen 1341 28.01.2007, 23:11
 



[ Time: 0.2819s ][ Queries: 105 (0.0251s) ][ GZIP on - Debug on ]