Transparente GUI mit Memofunktion

  • Hallo allerseits,

    ich bräuchte mal die freundlcihe Unterstützung unserer GUI xperten. Ich habe eine transparente Eingabe GUI erstellt, die beim Verschieben die Position speichert. Soweit so gut. Bei ersten öffnen soll die GUI aber (also wenn noch keine INI Datei existiert relativ am unteren Bildschirmrand mittig sein, irgendwi3 klappt das noch nicht. Vielleicht sieht ja jemand den Fehler.


    Danjke schon mal

    lg und ein frohes Fest

  • Moin,

    Deine Funktion _StandardPos versorgt ausschließlich lokale Variable, die außerhalb der Funktion nicht sichtbar sind. Das macht keinen Sinn, wenn Du sie nicht innerhalb der Funktion für ein WinMove benutzt (wie bei _GUIRestorePositions).

    Außerdem wird nach der Funktion unbedingt immer _GUIRestorePositions aufgerufen. Das macht auch keinen Sinn, wenn es die Datei nicht gibt und man nicht die gewünschten Defaultwerte vorgibt.

    Frohes Fest!

  • ok danke,

    Zu Punkt 1, Du meinst wirklich ich kann dass Winmove mit meiner GUIRestore Function verbinden?

    Zum zweiten Punkt, ist schon klar, da müsste ne Bedingung rein, irgendwie hatte ich da auch erst eine, das hatte ihn nicht interessiert, ist hier wohl im meinem Post wieder verschwunden.


    lg und Danke

  • Komisch, hab es eben noch mal bisl umgestelt, dachte so hätte ich es gestern schon gehabt, nun funktionierts. Vielleicht sollte ich damit aufhören soetwas um 2Uhr in der Nacht anzufangen lach.


    lg noch und ein gesegnetes Fest

  • ^^


    ich war auch grad dabei :

    2 Mal editiert, zuletzt von MojoeB (23. Dezember 2023 um 17:22)

  • Moin,

    noch ein paar Anmerkung zum Weihnachtsfest:

    1. Die Funktion IniRead bietet - wie Du bereits generkt hast - die Möglichkeit, einen Defaultwert vorzugeben. Dieser Wert wird nicht nur dann genutzt, wenn der Schlüssel in der INI-Datei nicht gefunden wird, sondern auch dann, wenn die INI-Datei nicht existiert. An Stelle von -1 solltest Du deshalb den echten Standardwert eintragen.

    2. Es scheint mir bei dem gegebenen Skript recht unwahrscheinlich, dass der Benutzer die Fenstergröße verändern kann. Es sollte deshalb reichen, sich die Fenterposition (X/Y) zu merken.

    3. Wenn Du versuchst, die Werte schon vor dem GUICreate() zu ermitteln, kannst Du sie direkt verwenden und musst das Fenster nicht nachträglich verschieben.

    Frohe Weihnachten und einen gutenRutsch!