Hallo Leute,
ich hab da in einem fremden Projekt eine interessante Funktionalität kennengelernt, die es gestattet, Controls oder Teile davon blinken zu lassen.
Die Funktionalität ist seitens Windows so ausgelegt, dass es nur ein Control pro Betriebssystem-Instanz blinkt, das, welches aktiv ist bzw. den Fokus hat.
Die einzelnen Funktionen sind hier erläutert: msdn.microsoft.com/en-us/libra…op/ff468799(v=vs.85).aspx
Dies erzeugt ein blinkendes Bild.
Daraus hab ich folgendes Testprojekt gebaut:
Caret.zip
Zu beachten ist, dass in der PictureBox das gezoomte Bild angezeigt wird, das blinkende Caret jedoch der Originalgröße der Bitmap entspricht.
Ein LostFokus (Fokus auf eine andere Anwendung gesetzt) bewirkt ebenfalls eine Zerstörung des Carets.
Viel Spaß
ich hab da in einem fremden Projekt eine interessante Funktionalität kennengelernt, die es gestattet, Controls oder Teile davon blinken zu lassen.
Die Funktionalität ist seitens Windows so ausgelegt, dass es nur ein Control pro Betriebssystem-Instanz blinkt, das, welches aktiv ist bzw. den Fokus hat.
Die einzelnen Funktionen sind hier erläutert: msdn.microsoft.com/en-us/libra…op/ff468799(v=vs.85).aspx
DestroyCaret()
zerstört, so existiert, ein "fremdes" Caret.CreateCaret(...)
erzeugt ein Caret zum übergebenen Control, hier eine PictureBox, in der ein blinkendes Bild dargestellt wird.SetCaretPos(...)
legt die Koordinate des blinkenden Bereichs fest.ShowCaret(...)
startet das Blinken.Daraus hab ich folgendes Testprojekt gebaut:
Caret.zip
Zu beachten ist, dass in der PictureBox das gezoomte Bild angezeigt wird, das blinkende Caret jedoch der Originalgröße der Bitmap entspricht.
Ein LostFokus (Fokus auf eine andere Anwendung gesetzt) bewirkt ebenfalls eine Zerstörung des Carets.
Viel Spaß
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!