schau ich mir heute abend an

Welches Event bei Win11 Fenster teilen?
-
- [ gelöst ]
-
BugFix -
5. Februar 2024 um 20:00 -
Unerledigt
-
-
Ich habe jetzt den Code mal etwas verschlankt und mehr strukturiert (vermeide u.A. Mehrfachberechnungen von unveränderlichen Werten).
Jetzt funktioniert das Neuzeichnen nach dem "PopupHost"-Event auch. Nur nach Resizing und Maximize mit Doppelklick muss noch per Mausklick ins Fenster aktiviert werden.Die Klicks auf die Icon werden jetzt auch ausgewertet. Das erste Icon öffnet die Git-Gui, falls nicht vorhanden wirds da einen Fehler geben.
-
☺️ ich hab gestern auch als erstes versucht den code zu verschlanken. hatte aber zu wenig zeit. ich versuche heute deinen code weiter zu betrachten.
-
so, ich hab mal investigiert.
Die für dich einfachste Lösung wäre _WinAPI_SetParent().
Du musst nur die Position einmalig berechnen, sofern sich die Anzahl Buttons in der Leiste von SciTE nicht zur Laufzeit ändert.einfaches Bespiel:
AutoIt
Alles anzeigen#include <WinAPISysWin.au3> #include <WindowsConstants.au3> Opt('WinTitleMatchMode', 2) Local $hParent = WinGetHandle(' SciTE') Local $hForm = GUICreate('', 60, 20, 350, 2, $WS_POPUP, $WS_EX_TOOLWINDOW) Global $Btn1 = GUICtrlCreateButton('1',0,0,20,20) Global $Btn2 = GUICtrlCreateButton('2',22,0,20,20) _WinAPI_SetParent($hForm, $hParent) GUISetState() Global $nMsg While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit Case $Btn1 MsgBox(262144, 'Btn 1', 'Btn 1') Case $Btn2 MsgBox(262144, 'Btn 2', 'Btn 2') EndSwitch WEnd
Achja, sämtliche Interaktion inkl. Größenänderung via PopupHost und Co, machen die Buttons direkt (auch in der Vorschau) gleich mit
-
Die für dich einfachste Lösung wäre _WinAPI_SetParent().
- In einem anderen Projekt nutze ich das seit Jahren. Aber irgendwas hat mich hier geritten, das in das Originalfenster zeichnen zu Wollen.
Na, dann werde ich das mal damit umsetzen - Danke für's "Aufwecken".
-
BugFix
3. März 2024 um 18:29 Hat das Label von [ offen ] auf [ gelöst ] geändert. -