WM_PAINT von Progressbar überschreiben
-
Hallo, ich habe in meiner DLL einen Progressbar den ich wie folgt aufrufe
hwndPB = CreateWindowEx(0, PROGRESS_CLASS, (LPSTR) NULL, WS_CHILD | WS_VISIBLE |PBS_SMOOTH, 10, 40 , 150 ,25, hWnd, (HMENU) 0, g_hinst, NULL);
Jetzt habe ich das Problem das er "flickert". Laut MSDN kann man die WM_PAINT Nachricht überschreiben, aber wie. Wie komme da ran???
-
Hi!
Welchen Compiler verwendest Du ?
-
Was hat das mit dem Compiler zu tun? Genauso wenig wie mit ISO-C++.
(200 Beiträge und trotzdem noch falsch
)
-
die progress bar flackert nicht. liegt vielleicht am elternfenster
-
Doch die ProgressBar flackert. Ich verwende Sie für einen Counter mit dem Style PBS_SMOOTH. Wenn jetzt eine "schnelle" Abfolge von aktualisierungen stattfindet, bekomme ich hässliche Streifen in die Bar.
Die WM_Paint des Fenters wird dabei nicht aufgerufen!
-
--> DrGreenthumb
Wohin gehört den die Frage dann. Der Bar kann ja so von jeder C++ Version aufgerufen werden, oder?
-
Standard C++ kennt keine Fenster.
Deine Frage gehört ins WinAPI Forum.
-
AnTri schrieb:
Der Bar kann ja so von jeder C++ Version aufgerufen werden, oder?
Nein, meine C++ version kann das nicht.
Lies dir nochmal die Forenbeschreibungen auf dem Index durch
-
AnTri schrieb:
--> DrGreenthumb
Wohin gehört den die Frage dann. Der Bar kann ja so von jeder C++ Version aufgerufen werden, oder?
Das C++ ist beschränkt, dass geht nur in Visual C++.
-
Gibt es denn gar keine Möglichkeit die auf die Nachrichten von ProgressBar selber zu reagieren bzw. diese zu Überschreiben. In MFC kann ich einfach eine neue Klasse ableiten und dann hab ich alles....
-
Du kannst das Control subclassen
-
Hast Du da ein Beispiel, in der MSDN finde ich nur MFC-Einträge...
-