Clipping ! [GDI / MFC] - C++ - Programmation
Marsh Posté le 23-01-2005 à 21:54:35
tu parles pas plutot de flicker ?
lorsque tu utilises CMemDC, tu modifies bien le OnEraseBackground pour qu'il ne fasse rien ?
Marsh Posté le 23-01-2005 à 22:32:00
Oui je fais un retourne false... mais ça n'améliore rien...
Marsh Posté le 23-01-2005 à 22:35:34
tu peux balancer le code de ton OnDraw pour voir ? (avec CMemDC)
Marsh Posté le 23-01-2005 à 22:51:20
SquiZZ a écrit : tu peux balancer le code de ton OnDraw pour voir ? (avec CMemDC) |
Le code est un peu long alors en le racourcissant ça donne ça :
Code :
|
J'ai aussi
Code :
|
Après il me manque rien...
Marsh Posté le 23-01-2005 à 23:06:40
T'as bien un BeginPaint et un EndPaint ?
Et tu n'as pas répondu: c'est un problème de clipping ou de flicker (clignotement) que tu as ?
Marsh Posté le 23-01-2005 à 23:15:47
Un problème de clignotement, à priori je vois le blanc du background quand ça recréé l'image...
BeginPaid et EndPaint ? J'ai jamais utilisé...
Marsh Posté le 23-01-2005 à 23:18:20
Code :
|
CMyView/CHeatDiffusionView => c'est une faute de recopie ou bien ?
Marsh Posté le 23-01-2005 à 23:22:03
Erreur de recopie !
Je cherche toujours le problème
Marsh Posté le 23-01-2005 à 23:27:51
on veut bien aider mais sans avoir plus de code, ca tient plus du tirage de cartes ou de la boule de cristal.
Marsh Posté le 23-01-2005 à 23:35:09
SquiZZ a écrit : on veut bien aider mais sans avoir plus de code, ca tient plus du tirage de cartes ou de la boule de cristal. |
Bon d'accord je balance du code alors Vous allez surement pas trouver ça très propre et très bien mais c'est la première fois que je fait des MFC... voilà le code.
Code :
|
Voilà, je pense que ça vous suffira à me dire "oh que c'est crade" (ou peut etre pas finalement ?..) et à trouver la solution
Merci encore.
Marsh Posté le 23-01-2005 à 23:49:47
je trouve ca plutot propre, manque un peu de commentaires si on veut être vraiment difficile.
tu peux mettre une trace ou un breakpoint dans ton OnEraseBackground pour être sûr que tu passes dedans et pas dans celui par défaut.
(on sait jamais, si ta MESSAGE_MAP avait foiré).
Marsh Posté le 23-01-2005 à 23:55:51
Tu as mis le doigt dessus !
J'avais oublié de catcher l'erasebkgnd dans le message map ! Rhala et tant d'heures passées dessus... je te remercie beaucoup
Marsh Posté le 23-01-2005 à 20:39:21
Bonsoir
Je sais pas comment faire ! J'ai fini tout un programme MFC mais
j'ai beaucoup de clipping... Disons que régulièrement j'ai ma view
qui se réaffiche (OnDraw), et là je redessine tout un tableau de
cases de couleurs (chacune différente). Pourtant le tableau n'est
pas si grand que ça ...
J'utilise CMemDC, à priori c'est conseillé, enfin avec ou sans (si
j'écrit directement sur le CDC reçu par OnDraw) j'ai le même
résultat.
Voici ma méthode de dessin :
-------------------------------
- un SelectObject sur une font
Et pour chaque case du tableau (un total de 100) je fais à chaque fois :
- un pDC->SetBkColor
- un pDC->SelectObject sur un brush
- un pDC->Rectangle (de taille de 3pixels)
C'est tout, bref y'a pas grand chose...
Qu'est ce qui cloche ? Je vous remercie de votre aide