Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

10.04.2011, 00:25

[C++]Text-Overlay

Hallo Forum,

ich frage mich schon längere Zeitm wie ich eine C++ Programm schreiben kann, das eine Art Text-Overlay erstellt.
Das sollte dann etwa so aussehen, dass über dem Aktiven Programm ein Layer liegt, auf dem Informationen oder Ähnliches angezeigt werden, ohne das Programm an sich zu beeinflussen.

Ich habe keine Ahnung, wo ich beginnen sollte.

Habt ihr irgendwelche Ideen?

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

10.04.2011, 00:33

Wie meinst du das? Ein schwarzes Rechteck über dem eigentlichen Fensterinhalt? Sowas wie ein abgewandelter Doublebuffer?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

10.04.2011, 00:39

Um was für ein Programm handelt es sich da denn in dem du dein Overlay anzeigen willst? Wenn es da um ein Spiel, bzw. eben z.B. eine Direct3D Anwendung geht dann ist wohl Direct3D Hook dein Stichwort...

4

10.04.2011, 11:37

Die Art des Programms ist eigentlich egal.
Es würde mir schon reichen, wenn oben rechts auf dem Bildschirm ein Buchstabe stehen würde.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

10.04.2011, 12:35

schön, dass es dir egal ist. man kanns aber nicht für jede art gleich umsetzen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

6

10.04.2011, 13:32

Du kannst die Windows-API benutzen. Hol dir in deinem Programm nen GDI (mit GetDevice glaube ich) und übergib dem als Fenster 0). Damit kannst du dann Text, Bilder, etc auf den Desktop schreiben. Das zeichnet das ganze dann einfach über das aktive Fenster, du musst es allerdings erneut machen, wenn das, was du gezeichnet hast überdeckt wurde.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

10.04.2011, 16:46

Die Art des Programms ist eigentlich egal.
Es würde mir schon reichen, wenn oben rechts auf dem Bildschirm ein Buchstabe stehen würde.

Das Problem ist eben (wie schon gesagt wurde): Auch wenn es dir egal ist, der Lösungsweg hängt eben von der Art der Zielanwendung ab. Es gibt da nicht die eine Lösung die einfach funktioniert. Was für das eine Programm funktioniert, funktioniert für ein andres überhaupt nicht...

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

8

10.04.2011, 16:50

Mach doch mal nen Beispiel... meinst du sowas wie bei Fraps ? mit der Frame-rate anzeige ?

9

10.04.2011, 18:16

Mach doch mal nen Beispiel... meinst du sowas wie bei Fraps ? mit der Frame-rate anzeige ?

Ja genau, so etwas.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

10.04.2011, 18:20

Dann ist ein Direct3D Hook genau was du suchst.

Werbeanzeige