Win32 Konsole .bmp anzeigen mittels Libary...
-
Hallo,
können mit einer entsprechenden Libary Bilder im Konsolenfenster dargestellt werden ?
Danke
-
Jaein.
Mit der command.com von Win98Se und vorrangegangenen Versionen ist dies keinesfalls möglich.
Mit der cmd.exe von Windows XP und Versionen darunter ist dies möglich, Code habe ich leider zurzeit nicht zur Hand, vielleicht irre ich mich aber es könnte im FAQ was geben, zu diesem Thema.
-
Ich glaube Du kannst Dir einfach irgendwie das HANDLE holen ( GetConsoleHandle(NULL) ? ) und dann normal BITMAPs drauf blitten (bei XP, bei 9X keine Ahnung).
-
Sgt. Nukem schrieb:
Ich glaube Du kannst Dir einfach irgendwie das HANDLE holen ( GetConsoleHandle(NULL) ? ) und dann normal BITMAPs drauf blitten (bei XP, bei 9X keine Ahnung).
GetConsoleWindow(), allerdings hast du keine Möglichkeit auf Nachrichten zu reagieren. Sobald du also irgendwie WM_PAINT ausführen müsstest ist alles wieder weg.
MfG SideWinder
-
masterofx32 hatte mal sowas gepostet. War aber eine undokumentierte Funktion.
-
fox- schrieb:
masterofx32 hatte mal sowas gepostet. War aber eine undokumentierte Funktion.
Auch bei der war nach einem WM_PAINT alles wieder weg.
MfG SideWinder
-
Nenn doch Mal ein Beispiel, bei dem an die Konsole ein WM_PAINT gesendet wird und/oder wo das die cmd.exe ausführt.
-
Kevinus schrieb:
Nenn doch Mal ein Beispiel, bei dem an die Konsole ein WM_PAINT gesendet wird und/oder wo das die cmd.exe ausführt.
Wenn du ein anderes Fenster drüberziehst.
-
Kevinus schrieb:
Nenn doch Mal ein Beispiel, bei dem an die Konsole ein WM_PAINT gesendet wird und/oder wo das die cmd.exe ausführt.
- Verschieben
- Scrollen
- Andere Fenster überdecken die Konsole teilweise und werden dann wieder weggeschoben
- Veränderung der Größe
uvm.WM_PAINT scheint so ziemich die häufigste Nachricht zu sein, die ein Fenster im Laufe seines Lebens bekommt
Das Problem in diesem Fall: Ein normales Fenster kann auf WM_PAINT in seiner Ereignisprozedur reagieren (neu zeichnen). Die Konsole tut das auch, allerdings weiß es nichts von dem Bild und zeichnet bloß den Text neu.
MfG SideWinder
-
und kann man den
TranslateMessage(&messages);
DispatchMessage (&messages);
Teil nicht irgendwie manipulieren, um so an die Ereignisse WM_Paint oder ein anderes zu kommen?
-
Kevinus schrieb:
und kann man den
TranslateMessage(&messages);
DispatchMessage (&messages);
Teil nicht irgendwie manipulieren, um so an die Ereignisse WM_Paint oder ein anderes zu kommen?nein
-
Auf keinen Fall?
Ich dachte mit C++ wäre alles veränderbar/machbar?
-
Kevinus schrieb:
Auf keinen Fall?
Ich dachte mit C++ wäre alles veränderbar/machbar?das hat überhaupt nichts mit der programmiersprache zu tun.
-
naja schon wenn man darüber nachdenkt, dass Windows mit C geschrieben ist. Aber es ist auch Wurst, ich bin nur etwas enttäuscht das es nicht geht.
-
Warum erstellst du nicht ein normales Fenster mit schwarzem Hintergrund? Warum muss es unbedingt in der Konsole sein?
-
nein nein, mich hat das nur interessiert, von der Konsolenprogrammierung bin ich zurzeit etwas weggegangen und arbeite weitesgehend mit dem Borland Builder, da er für mein jetziges Projekt ausreicht.
-
Kevinus schrieb:
naja schon wenn man darüber nachdenkt, dass Windows mit C geschrieben ist. Aber es ist auch Wurst, ich bin nur etwas enttäuscht das es nicht geht.
Die Konsole ist nicht für Grafikprogrammierung geeignet, es ist nunmal eine textbasierte Umgebung. Für Grafik benützt man normale Fenster oder gar eine Grafik-Library.
MfG SideWinder
-
SideWinder schrieb:
fox- schrieb:
masterofx32 hatte mal sowas gepostet. War aber eine undokumentierte Funktion.
Auch bei der war nach einem WM_PAINT alles wieder weg.
MfG SideWinder
bei mir (windows xp sp2) nicht.
-
Nicht wie das? Und du bist dir sicher, dass ein WM_PAINT gesendet wurde/empfangen wurde? Hast du Code benutzt um das Bild nach WM_PAINT wiederherzustellen /neuzuzeichnen? Erklär Mal...
-