Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pour les balèzes - Problème de rafraîchissement de boîte de dialogue. [ Archives / Au secours ] (liv)

jeudi 16 septembre 2004 à 11:17:18 | Pour les balèzes - Problème de rafraîchissement de boîte de dialogue.

liv

Bonjour,

J'ai un problème assez désagréable au niveau du rafraîchissement de ma boîte de dialogue lorsque j'effectue un redimensionnement.
Je m'explique...

-1- J'ai une boîte de dialogue permettant de lire des fichiers vidéo.

-2- Des boutons de type CBitmapButton sont placés en dessous de ma zone d'affichage de la vidéo.

-3- Un rectangle CRect m_cadreB est définit au niveau de mes boutons dans la fonction OnPaint() afin de définir une zone grahique dans laquelle seront intégrées, soit une image, soit une couleur de fond différentes du reste de l'application.

Code:
m_cadreB.SetRect(0,rect.bottom-40,rect.right,rect.bottom);
CBrush fond_cadreB(RGB(237,237,237));
dc.FillRect( &m_cadreB, &fond_cadreB);


-4- Afin de respecter les bonnes proportions d'affichage de mon rectangle et de mes boutons lors d'un redimensionnement de ma Dlg, je force l'appel à OnPaint() grâce à la fonction InvalidateRect(m_cadreB, TRUE); à la fin de OnSize().

PROBLEME
La fonction InvalideRect() est bien pratique voir même indispensable, sauf qu'elle provoque un scintillement très désagréable au niveau de la zone du rectangle et plus particulièrement au niveau de mes boutons, à chaque fois que je redimensionne ma Dlg.

J'imagine que ce problème n'est pas nouveau pour la pluspart d'entre vous, mais moi je galère.
Je comprends sa cause...à chaque fois que je redimensionne ma Dlg, Windows se tape tous les calculs de position pour tous mes éléments définis dans OnPaint();

Est-ce qu'il y aurait quelqu'un de balèze pour m'aider ?

jeudi 16 septembre 2004 à 19:57:59 | Re : Pour les balèzes - Problème de rafraîchissement de boîte de dialogue.

PrX

Salut,

S'il s'agit seulement de remettre la video a la bonne taille un
Invalidate(FALSE)
suffit.

Si, par contre, il faut remapper toute la fenetre, un
Invalidate(TRUE)
est obligatoire.
Le probleme est que, alors la video clignote, et qu'il n"y a pas a priori de solution, comme tu l'a dis, Windows est oblige de calculer

Essaie donc la premiere solution sinon prends ton mal en patiente.

PrX, [bold]Always dream your future![/bold]

vendredi 17 septembre 2004 à 09:26:56 | Re : Pour les balèzes - Problème de rafraîchissement de boîte de dialogue.

liv

Je vais prendre mon mal en patience alors...parceque je crois avoir tout essayé.



Cette discussion est classé dans : problème, dialogue, niveau, boîte, cadreb


Répondre à ce message

Sujets en rapport avec ce message

Problème avec la barre de progres [ par Kinkajou ] Bonjour,Voila j'ai crée une petite application qui lance un boîte de dialogue puis effectue un gros calcul en affichant la progression dans une barre Boîte de dialogue sans fichier .RC [ par Jeffray ] Bonjour,J'apprends la programmation win32 et j'utilise le compilateur gratuit de Borland (bcc55).Pour le moment, j'ai créé une fenêtre principale avec Boîte de dialogue dans une dll [ par Mad_Doc ] Bonjour,Je souhaiterais, à l'initialisation d'une dll, afficher une boîte de dialogue contenant un texte pendant une dizaine de secondes.Quelqu'un a d Problème avec un Bitmap [ par nauss ] Je veux afficher un bitmap en niveau de gris sous visual C++ en MFC.Pour l'instant j'arrive à l'afficher mais en niveau de rouge!!Y doit y avoir une h Dialogue à onglets [ par bzouli ] Bonjour,j'ai un problème: je veux faire une boite de dialogue avec 2 onglets, et ce n'est vraiment pas intuitif en VC++ !!J'ai créer mes deux classes MFC & OpenGL [ par wallid23 ] Voila j'ai crée une boîte de dialogue sous MFC puis j'ai inséré une fenêtre Opengl.J'ai plusieurs champs dans ma boître de dialogue et lorsque que je Boîte de dialogue à onglet [ par koiki ] Bonjour,Quelqu'un saurait-il comment "capturer" les messages des boutons Ok et Cancel qui sont générés dynamiquement par la classe CPropertySheet d'un PB de positionnement d'une boîte de dialogue.... [ par liv ] Bonjour à tous,Voilà....j'ai une boîte de dialogue principale (corps de mon programme) et je cré une enfant (classique et non modale)...J'aimerai lors bitmap qui n'apparait plus [ par oceax ] Hello !J'ai un big problème sous VC++,Je crée une boite de dialogue avec une bitmap dedans, je compile tout se passe bien mon image est bien place !!C Probleme d affichage boite de dialogue et directdraw [ par Otacon87 ] Salut, j'ai un problème je programme en mfc sous msvc6 et je fait une animation avec directdraw. Il faut que j'affiche l'animation en plein écran et


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,810 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.