Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
WindowDocking
#1
Information 
Eine kleine UDF zum andocken eines (oder mehrerer) Fenster am Bildschirmrand (bzw. an der Taskleiste).
Das funktioniert auch mit mehreren Bildschirmen.

Version 1.1.0.0 (08.07.2018):
- Auswertung jetzt mit $WM_WINDOWPOSCHANGING statt $WM_WINDOWPOSCHANGED. Kein Flackern mehr! Danke Bitnugger!
- Wegen $WM_WINDOWPOSCHANGING funktioniert jetzt das "weiterziehen" mit der Maus nicht mehr, um auf einen anderen Bildschirm zu kommen.
Deswegen habe ich jetzt einen Hotkey: <CTRL> eingebaut. Wird die CTRL-Taste während des ziehens gedrückt gehalten, so kann man das Fenster auf den anderen Bildschirm ziehen.
- Es gibt jetzt einen "magnetischen Rahmen" (50 Pixel). Wird das Fenster in diesen Bereich bewegt, wird es an den Rand gezogen.

Version 1.2.0.0 (08.07.2018):
- Die UDF nochmal komplett umgestaltet (auf globales 2D-Array). Da waren ein paar blöde Bugs drin. Danke Bitnugger!
- Eine neue Funktion "_WindowDocking_SetMagneticBorder", mit der man den "MagneticBorder" auf eine beliebige Pixelzahl einstellen kann (siehe Example).

Version 1.3.0.0 (09.07.2018):
- Es gab noch einen Fehler, wenn man ein Fenster mit eingeschalteten Docking gelöscht hat (GuiDelete). Dabei wurde die WindowProc nicht wieder auf den alten Wert gesetzt und AutoIt stürzte ab. Behoben!
- Bei der Array-Verwaltung (globales 2D-Array) war noch ein Fehler drin (falsch dimensioniert). Behoben!
- Die "CTRL-Tasten-Methode" zum verschieben auf einen anderen Bildschirm habe ich jetzt doch standardmäßig auf die "Zwei-Maustasten-Methode" umgestellt. Das Fenster nur mit der Maus zu verschieben ist doch benutzerfreundlicher.
- In Version v3.3.14.5 von AutoIt gibt es die Konstanten $SM_CXSIZEFRAME und $SM_CYSIZEFRAME, deshalb ist die zusätzliche Definition überflüssig.
- Das Beispiel öffnet jetzt 3 Fenster und man kann jedes Fenster einzeln konfigurieren.

Version 1.4.0.0 (11.07.2018):
- Wenn man ein Docking-Fenster auf einen zweiten Bildschirm geschoben hat und das Fenster minimiert und dann wieder restored hat, dann wurde es auf dem Hauptbildschirm "festgehalten". Behoben!
- Es gibt eine neue Funktion "_WindowDocking_SetVisible" (damit wird das Fenster auf dem am naechsten liegenden Bildschirm zentriert, wenn sich das Fenster außerhalb des Desktopbereichs befindet).
- Die Abfrage der rechten Maustaste (zum vorübergehenden ausschalten des Dockings) übernimmt jetzt die Funktion "_RMBpressed()". Im Gegensatz zu "_isPressed" wird damit die virtuelle (statt der physikalischen) rechte Maustaste abgefragt.
- Das Beispielscript "WindowDocking_Example.au3" um ein Beispiel für die neue Funktion erweitert.


Angehängte Dateien
.au3   WindowDocking.au3 (Größe: 12,33 KB / Downloads: 3)
.au3   WindowDocking_Example.au3 (Größe: 2,68 KB / Downloads: 3)
Hinweise:
Ich benutze für den Arduino die Arduino-IDE.
Für AutoIt benutze ich die aktuelle AutoIt-Version sowie SciTE4AutoIt3.
Eine Hilfe kann ich nur auf Basis dieser Software leisten.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste