App Win32, affichage du bureau = crash (DC effacé) [C++] - C++ - Programmation
Marsh Posté le 13-04-2002 à 16:14:18
WM_SHOW peut-être ?
On ne sait jamais...
Je ne sais pas ce que Windows fait exactement quand il cache/affiche les fenêtres via cette icône.
Marsh Posté le 13-04-2002 à 17:50:10
antsite a écrit a écrit : Je crée un application Win32 (fenêtre crée avec CreateWindow() avec topmost (always on top). Je récupère le hdc = GetDC(hwnd) et je dessine dans ce context. La c ok. Mais dès que j'affiche le bureau en cliquant sur l'icône à coté du bouton démarrer et bien tout ce que j'avais fait dans hdc est effacé. Ceci juste à l'affichage du bureau, pas d'une autre fenêtre. Donc comment éviter cela ? J'ai essayé de dessiner dans le message WM_PAINT mais ça ne change rien, tout est effacé ! merci ANT |
Tu dis que tu fais un GetDC mais fais-tu un ReleaseDC après avoir fini de dessiner ?
Marsh Posté le 13-04-2002 à 17:55:35
ou dessine tu ton truc?
et si tu veux le mettre dans WM_PAINT, c'est pas GetDC qu'il faut utiliser
Marsh Posté le 13-04-2002 à 18:26:44
Non à l'origine je ne le dessine pas dans WM_PAINT mais simplement après CreateWindowEx().
Et oui je fais bien un ReleaseDC après chaque GetDC();
Marsh Posté le 13-04-2002 à 18:43:12
ben forcement si tu dessine apres CreateWindow ton dessin ne va pas rester.
faut dessiner dans le msg WM_PAINT.
obtient le DC avec BeginPaint
Windows ne garde pas le contenu de la fenetre c'est pourquoi tu dois le redessiner toi meme
Marsh Posté le 13-04-2002 à 16:01:36
Je crée un application Win32 (fenêtre crée avec CreateWindow() avec topmost (always on top).
Je récupère le hdc = GetDC(hwnd) et je dessine dans ce context. La c ok. Mais dès que j'affiche le bureau en cliquant sur l'icône à coté du bouton démarrer et bien tout ce que j'avais fait dans hdc est effacé. Ceci juste à l'affichage du bureau, pas d'une autre fenêtre. Donc comment éviter cela ?
J'ai essayé de dessiner dans le message WM_PAINT mais ça ne change rien, tout est effacé !
merci
ANT