Meldung auf Screen schreiben
-
Hallo,
mein Programm soll ein Hintergrundprozess darstellen, welcher an bestimmten Zeitpunkten Text auf den Bildschirm ausgeben soll.
Ich habe keine Ahnung wie ich dieses Problem angehen soll, da ich keine Dialoge oder so verwendet will... Einfach nur Text auf den Bildschirm schreiben, welcher auch automatisch wieder verschwinden soll. Anschließend muss der Anwender natürlich seinen Focus, des zuletzt benutzen Programm, wieder bekommen...Ich hoffe ich konnte es gut erklären...
Hat einer eine Idee zu Realisierung diesen Problems???
Ich bin froh über jeden CodeSnippet!!!
Danke
-
-
ähm das war aber nicht das was ich gesucht habe... wenn ich einen ballontip wollte,hätte ich das auch so formuliert ^^
Ich will quasi ein Overlay auf den Screen legen...
-
Du kannst jederzeit in den DC, den du mit GetDC(0) erhälst, malen. Das Problem bei der Sache ist, dass ständig andere Fenster, über die du zeichnest, ihren Inhalt selber aktualisieren können. Außerdem ist das Löschen des geschriebenen Inhalts auch noch so ne Sache...
Nur als Idee: Den Inhalt an der Position in ein Bitmap blitten, Text in dieses Bitmap zeichnen und dieses dann wiederrum in den Ziel-DC blitten. Mit LockWindowUpdate kann das Aktualisieren verhindert werden (dann muss der DC aber auch mit GetDCEx und entsprechendem Flag angefordert werden).
Alles ne ziemliche Frickelei, wahrscheinlich habe ich irgendwo was übersehen...Ein eigenes Fenster (WS_POPUP), das bei Bedarf eingeblendet wird, ist imho besser. Bei Texten kannst du auch Layered-Windows nutzen (WS_EX_LAYERED) und den Colorkey auf die Farbe des Textes setzen -> nur der Text, nicht aber der Fensterhintergrund ist sichtbar.
-
Danke ich werde mir das mal genauer anschauen!