Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Head-Up-Display (HUD) / Text im Vordergrund (https://www.delphipraxis.net/147550-head-up-display-hud-text-im-vordergrund.html)

kriegste 11. Feb 2010 00:31


Head-Up-Display (HUD) / Text im Vordergrund
 
Hallo,

ich würde gerne ein kleines Head-Up-Display programmieren. Es sollen ein kleiner Text, sowie simple Strich-Grafiken immer sichtbar im Vordergrund sein. Es muss nicht unbedingt während 3D-Anwendungen funktionieren, eigentlich reicht es, wenn das HUD über normalen Windows-Anwendungen liegt. Eine Form zu nehmen und diese "topmost" zu machen ist eine doofe Lösung. Schöner fände ich eine, wo man keine Form sieht und durch Text und Grafik "hindurch" klicken kann.

Ideen?

Danke!

himitsu 11. Feb 2010 06:20

Re: Head-Up-Display (HUD) / Text im Vordergrund
 
Eigentlich bräuchtest du nur eine "durchsichtige" Form (.TransparentColor), welche TopMost über allem liegt und nicht auf Eingaben reagiert, sowie nie den Eingabefokus entgegennimmt.

Angeblich soll Letzeres über WS_EX_LAYERED (eventuell noch zusammen mit WS_EX_TRANSPARENT) machbar sein.

Eine andere und nicht grade sourcenschonende Lösung wäre, den Text ständig auf den "Desktop" zu zeichnen.

hathor 11. Feb 2010 06:40

Re: Head-Up-Display (HUD) / Text im Vordergrund
 
Guckst Du:
http://www.delphipraxis.net/internal...ight=setbkmode

himitsu 11. Feb 2010 07:24

Re: Head-Up-Display (HUD) / Text im Vordergrund
 
Zitat:

Zitat von hathor

Aber genau dieses würde ich nicht machen ... besser ist die durchsichtige Form.
Denn so müßte man jedesmal den Text neu zeichnen, wenn er übermalt wurde
und da man garnicht, bzw. nicht so leicht mitbekommt wann es überzeichnet wurde, muß man praktisch den Text ständig und mehrmals die Sekunde ausgeben.
Außerdem ist es nicht leicht den Text dann zu verändern oder ihn zu löschen,
ohne alle Programme dazuzubringen den Desktop neu aufzubauen, bzw. zu zeichnen.

kriegste 11. Feb 2010 11:27

Re: Head-Up-Display (HUD) / Text im Vordergrund
 
Cool, danke, das mit TransparentColor war's! Habe eben eine Form so hingekriegt, wie ich sie brauche, ohne eine Zeile Code. Jetzt, wo nur Text zu sehen ist, reagiert die Form auch nicht auf Klicks. Das ist schonmal sehr gut. Jetzt mache ich noch den Taskleisteneintrag weg, ein Trayicon hin, weil's besser passt und dann geht's ans Zeichnen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz