Mein Ziel ist es, eine benutzerdefinierte Maximierungsschaltfläche für meine App zu erstellen, und ich möchte auch das Snap-Layout-Menü auf der Schaltfläche unter Windows 11 auslösen. Dazu folge ich der Anleitung von hier, aber es funktioniert nicht.< /p>
Hier ist der Beispielcode. Zu Testzwecken nehme ich ein Rechteck {Punkt(0,0), Größe(200,200)} und wenn die Maus darüber ist, erhalte ich die WM_NCHITTEST-Nachricht I gib das zurück HTMAXBUTTON wie in der Anleitung beschrieben, aber das Snap-Layout-Menü wird nicht angezeigt.
Mein Ziel ist es, eine benutzerdefinierte Maximierungsschaltfläche für meine App zu erstellen, und ich möchte auch das Snap-Layout-Menü auf der Schaltfläche unter Windows 11 auslösen. Dazu folge ich der Anleitung von hier, aber es funktioniert nicht.< /p> Hier ist der Beispielcode. Zu Testzwecken nehme ich ein Rechteck {Punkt(0,0), Größe(200,200)} und wenn die Maus darüber ist, erhalte ich die WM_NCHITTEST-Nachricht I gib das zurück HTMAXBUTTON wie in der Anleitung beschrieben, aber das Snap-Layout-Menü wird nicht angezeigt. [code]#include
case WM_NCHITTEST: { // Get the point in screen coordinates. // GET_X_LPARAM and GET_Y_LPARAM are defined in windowsx.h POINT point = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; // Map the point to client coordinates. ::MapWindowPoints(nullptr, hwnd, &point, 1); RECT maximizeRect {0, 0, 200, 200}; // If the point is in your maximize button then return HTMAXBUTTON if (::PtInRect(&maximizeRect, point)) { printf("maxmize button rect %d\n", rand()); fflush(stdout); return HTMAXBUTTON; }
Ich arbeite an einer benutzerdefinierten Titelleiste für eine WPF-Anwendung in C#. Mein Ziel ist es, die Funktionalität der standardmäßigen Windows-Titelleiste zu reproduzieren, insbesondere:
Windows...
Um sicherzustellen, dass die Leinwand auf einer reaktionsschnellen Seite durchgeführt wird, setze ich die Leinwand auf die Clientbreite.
XSize = document.documentElement.clientWidth;
Um sicherzustellen, dass die Leinwand auf einer reaktionsschnellen Seite durchgeführt wird, setze ich die Leinwand auf die Clientbreite.
XSize = document.documentElement.clientWidth;
Um sicherzustellen, dass die Leinwand auf einer reaktionsschnellen Seite durchgeführt wird, setze ich die Leinwand auf die Clientbreite.
XSize = document.documentElement.clientWidth;