[MFC Dialog Based - VS6] Qd je met à jour affichage -> moche ...

Qd je met à jour affichage -> moche ... [MFC Dialog Based - VS6] - Programmation

Marsh Posté le 10-01-2002 à 23:14:14    

Normalement, tout mon Pb est sur fond blanc.
Qd je lance un Invalidate(), tout ce qui est du texte est qui est remis à jour, se retrouve sur un fond moche (gris), alors que tout autour y'a bien du blanc.
C'est super moche ...
Comment faire pour que tout soit sur fond blanc, même après màj affichage ?
A savoir, au tout début du OnPaint(), je dessine un rectangle de blanc prenant tout l'écran (de (0,0) à (1900,1440) ).
Des idées ?!
A+, Nrv ;-)

Reply

Marsh Posté le 10-01-2002 à 23:14:14   

Reply

Marsh Posté le 11-01-2002 à 00:17:47    

Up !
Nrv  :D

Reply

Marsh Posté le 12-01-2002 à 08:49:11    

Re - Up !
 :D

Reply

Marsh Posté le 12-01-2002 à 13:27:38    

s'il vous plais .... :-)
 :pt1cable:  
Nrv  ;)

Reply

Marsh Posté le 12-01-2002 à 16:04:25    

quand tu fais un Invalidate(), il envoie WM_ERASEBKGND puis WM_PAINT (donc effacer le fond et rafraîchir le reste).
 
il faut que tu overrides WM_ERASEBKGND, tu ne fais rien dans la fonction, et tu renvoies true ou false (me souviens plus, regarde la doc).

Reply

Marsh Posté le 12-01-2002 à 22:58:28    

En fait je crois que j'ai un pb plus grand : on me demande souvent de regarder la doc, mais ...
Quelle doc  :heink:  
Je l'ai pas acheté VS, moi ... Enfin ... Comme pas mal de monde je pense :sarcastic:  
Quand à ta réponse, d'ailleurs et avant tout merci  ;) , je suis débutant et j'avoue ne pas trop la comprendre :)
J'ai fait un Search in files sur les mots (méthodes) que tu as écris, et ... Ben voilà quoi  :ouch:  :pt1cable:
Et oui, à l'IFMA c'est pas l'info la priorité qd même :)
A+ Nrv ;)

Reply

Marsh Posté le 13-01-2002 à 01:54:51    

up !

Reply

Marsh Posté le 13-01-2002 à 02:07:51    

la doc, c la fameuse MSDN
 
dispo sur CD ou bien : msdn.microsoft.com

Reply

Marsh Posté le 13-01-2002 à 02:09:37    

Sinon pour tacher d'eclaircir les propos de youdontcare :
 
quand tu fais invalidate, ton application recoit les message suivant :
 
WM_ERASEBKGND  
WM_PAINT
 
ce que dit youdontcare, c'est d'overrider la fonction gerant WM_ERASEBKGND , autrement dit de faire la tienne propre, qui se contentera de dire "ok, c bon, j'ai recu le msg" (le return TRUE)

Reply

Marsh Posté le 13-01-2002 à 04:06:52    

comme disait chrisbk, la doc est dispo sur le net : http://msdn.microsoft.com/
 
et si tu veux chercher directemenet dedans, le mieux est d'utiliser google - oui, le moteur de recherche de la msdn est à chier - http://www.google.com/search?sourc [...] ERASEBKGND
 
donc, pour recompléter ce que disait chrisbk, en MFC tu appuies sur CTRL + W pour lancer le classwizard, tu sélectionnes la classe de ton application, puis le message que tu veux contrôler (ici WM_ERASEBKGND), tu rajoutes un handler (add code je crois) et tu laisses la fonction vide. enfin, tu ne renvoies que 'true', pour signifier qu'il n'y a pas besoin d'effacer le fond (effacé par défaut avec le gris).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed