Ich muss ein randloses Fenster mit der angegebenen Hintergrundfarbe erstellen. Ich weiß, wie eine nicht Client-Bereich zu entfernen und etwas wie folgt aus:Randloses Fenster. Wie füge ich einen Schatten hinzu und entferne 1px Grenze?
Es ist cool, aber nicht wirklich, was ich will. Wenn man sich ein Aero-Fenster genauer anschaut - es ist ein Schatten um ihn herum (eigentlich ist das kein Schatten, sondern ein bisschen Glühen). Ich fand irgendwo, dass ich diesen Code verwenden, um einen Schatten hinzuzufügen:
const MARGINS shadow_on = { 1, 1, 1, 1 };
DwmExtendFrameIntoClientArea(hwnd, &shadow_on);
Es tut fast es der Aufgabe (dachte, das mir absolut nicht klar ist - Dokumentation sagt nichts über Verhältnis von Schatten und dieser Funktion). Fast. Da ist eine dünne Grenze um das Fenster herum. Es sieht aus wie es ist halbtransparent und es bricht das Look and Feel des Fensters:
Ich weiß, dass es möglich ist - das Visual Studio sogar die Farbe dieser Grenze irgendwie ändern!
Update: wie IInpectable in Kommentaren bemerkt Ich kann negative Margen in DwmExtendFrameIntoClientArea()
verwenden. Ich habe Wert -1 und bekam dieses Ergebnis:
Wie Sie sehen können - es ist noch seltsamer. Ich habe versucht, einen Hintergrund mit Farbe zu füllen, aber ohne Glück.
Sie können die Fensterfläche befestigen die Glut zu entfernen. Hast du schon versucht es zu schneiden, um das Glühen zu entfernen? Es kann sein, dass Sie das Glühen nicht loswerden und gleichzeitig Schatten benutzen können. – icbytes
@icbytes nein, du hast es nicht verstanden - ich brauche ein Glühen - ich brauche keinen Rand, der erscheint, wenn ich ein Glühen hinzufüge. – nikitablack
Verwenden Sie dann nicht die erwähnte Funktion. Zeichne es selbst. Ein px Linien, auf allen Seiten, mit einem leichten hellgrün. – icbytes