habe folgende frage: wenn ich mein programmfenster minimiere, erscheint ja nur noch ein kleines rechteck mit dem programmicon auf der taskleiste. ist es möglich, dass ich auf diesem rechteck jetzt zeichnen kann - quasi wie in jedem normalen fenster??? und wenn ja wie?
Grundsätzlich kannst du überall zeichnen, nicht nur in deinem eigenen Fenster. Du kannst mittels GetDesktopWindow() dir das Handle des Desktopfensters besorgen und dann drauf rummalen. Allerdings zeichnet Windows bei Bedarf einige Partien des Fensters wieder neu und dann sind deine Zeichnungen weg. Es ist eben nicht vorgesehen wo anders als in seinem eigenen Fenster zu zeichnen. Du kannst auf gleiche Weise auch auf der Taskleiste zeichnen, aber wenn Windows dann dort das Bild wieder zeichnet, dann ich alles futsch.
vielen dank für deinen tipp. ich hatte allerdings eher an etwas in anlehnung an die funktion SetWindowText() gedacht, quasi etwas mit dem ich im fensterramen zeichnen kann. dies würde ja auch bei minimiertem fenster angezeigt.
aber der programm-icon wird ja auch gezeichnet und das auch in der taskleiste. und es gibt ja programme die ihr symbol in der taskleiste verändern, während des programmlaufes....
Das Icon in der Taskleiste ist das Icon, welches in der WindowClass des entsprechenden Fensters registriert ist. Auf API Basis wäre das nicht ohne Aufwand verbunden das Icon zu wechseln, mit der MFC ist das aber relativ simpel, ein CWnd Methodenaufruf genügt. (SetIcon) Wenn also ein Prg. das Icon verändert, dann wird das Icon des Fensters verändert. Das Zeichnen des Icons übernimmt einmal wieder Windows.
d.h. ich kann nur über veränderung des fenster-icons die grafik auf der taskleiste verändern.... schade ich dachte da gäbe es einen eleganteren weg... vielen dank!