MMORPG Fenster im Fenstermodus frei verschiebbar

  • Hallo zusammen,

    ich bräucht mal wieder eure Hilfe, da ich hierfür garkeinen Ansatz habe und auch nicht genau weiss ob es überhaupt geht!

    Volgendes soll das Programm machen/können:

    Und zwar geht es darum das ich ein MMORPG spiele was man auch im Fenstermodus spielen kann, es hierbei aber Betreiberseitig nicht möglich ist dieses Fenster frei zu verschieben.
    Da man bei diesem Spiel aber mehrere Accounts haben darf und diese gleichzeitig offen sein können wäre es von Vorteil, wenn mann diese dann auch quasi auf dem Bildschirm verteilen könnte und nicht immer hin und her schalten muss!
    Der Client nennt sich in der Startleiste dann Core Windows.

    Nun möchte ich es hier erstmal ganz simpel mit 2 Checkboxen machen, da es später in ein anderes Programm integriert werden soll!
    Ist die eine Checkbox angeklickt soll es frei verschiebbar sein, ist die andere angeklickt dann nicht!

    Hier die kleine Gui dafür zum testen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 251, 151, 450, 181)
    $Checkbox1 = GUICtrlCreateCheckbox("Client Fenster frei bewegen", 24, 30, 200, 25)
    $Checkbox2 = GUICtrlCreateCheckbox("Client Fenster nicht frei bewegen", 24, 70, 200, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    So, ich hoffe das das wer von euch machen könnte. Wenn ihr dafür noch was braucht an Angaben dann bitte schreiben!
    Vielen Dank schonmal.

    Mfg Ghostleader

  • Arbeite doch einfach mit WinMove().

    [autoit]

    WinMove("Core Windows","",0,0)

    [/autoit]


    ... schiebt dein Fenster ganz oben links in die Ecke.
    Damit kannst du denke ich was basteln.
    Kleiner Tipp:
    Wenn man bei geöffnetem Programm eine bestimmte Taste gedrückt hält (_IsPressed), dann wird das Fenster an der Mausposition ausgerichtet.
    Müsste eigentlich klappen.

    lg chess

  • Hallo chesstiger,

    Danke erstmal für deine Antwort.

    Wenn ich das richtig verstehe dann kann man mit WinMove ja nur das Fenster nach links oben setzen oder? Es sollte aber eigentlich so sein, das man das fenster wenn man es wie gewohnt mit der maus anklickt frei bewegen kann!

    Mfg Ghostleader

    Ps. Blicke gerade irgendwie net ganz durch

  • Ließ dir mal den Hilfeeintrag zu WinMove durch. Dann weißt du, dass du mit Parameter 3 und 4 die X und Y Position setzen kannst.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ließ dir mal den Hilfeeintrag zu WinMove durch. Dann weißt du, dass du mit Parameter 3 und 4 die X und Y Position setzen kannst.


    Hallo Chip,

    ja das ist mir aufgefallen, aber ist es denn dann nicht so das ich trotzdem fest gesetzte daten eintrage und das Fenster dann eben nur da ist aber net frei verschiebbar?

    Mfg Ghostleader

  • Jein, hier mal kleines Beispiel für den Editor. Wenn man mit der rechten Maustaste in den Editor klickt und die Taste gedrückt hällt verschiebt sich das Fenster immer an die Position der Maus. Musst du halt auf dein Fenster abändern:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 251, 151, 450, 181)
    $Checkbox1 = GUICtrlCreateCheckbox("Client Fenster frei bewegen", 24, 30, 200, 25)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    If WinActive("Unbenannt - Editor") Then
    If _IsPressed("02") Then
    $pos = MouseGetPos()
    WinMove("Unbenannt - Editor", "", $pos[0], $pos[1])
    EndIf
    EndIf
    EndIf
    WEnd

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    5 Mal editiert, zuletzt von chip (16. April 2012 um 10:18)