Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1917 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++Builder] Message Windows de rafraichissement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++Builder] Message Windows de rafraichissement

n°127370
lkolrn
<comment ça marche?>
Posté le 17-04-2002 à 18:01:38  profilanswer
 

j'aimerais capter le message zindoz ki indique que l'appli se "redessine"... Comment s'appelle-t-il...?
 
MERCI D'AVANCE

mood
Publicité
Posté le 17-04-2002 à 18:01:38  profilanswer
 

n°127372
LetoII
Le dormeur doit se réveiller
Posté le 17-04-2002 à 18:03:41  profilanswer
 

WM_PAINT


---------------
Le Tyran
n°127385
lkolrn
<comment ça marche?>
Posté le 17-04-2002 à 18:31:19  profilanswer
 

ouais, mais c pas celui-la ki m'interesse... Il doit y avoir un autre message ki permet de savoir quand l'ecran se rafraichit...

n°127389
LetoII
Le dormeur doit se réveiller
Posté le 17-04-2002 à 18:36:10  profilanswer
 

Je vois pas trop où tu veux en venir, peux tu être plus précis?


---------------
Le Tyran
n°127395
lkolrn
<comment ça marche?>
Posté le 17-04-2002 à 18:51:47  profilanswer
 

Je t'explik le pb: en gros, lorsk je passe avec le pointeur de la souris, une image doit venir par dessus une autre... Seulement lorsk je passe la souris rapidement au dessus de l'image en question, le fait de faire "remonter" une autre image au premier plan provok des parasites, les 2 images se superposant pendant une période tres courte. Le fait d'intercepter un message de rafraichissement permettrait ptet de redessiner l'image avant ou apres le moment crucial ki fé foirer le truk...

n°127396
LetoII
Le dormeur doit se réveiller
Posté le 17-04-2002 à 18:56:54  profilanswer
 

Le truc c d'appeler invalidate où ivalidaterect au bon moment, c tout. Ces fonction permettent de forcer une fenêtre ou un bout de celle ci à se redessiner, à près faut que tu programme corectemnt l'événement OnPaint (tu travail bien avec C++Builder?)


---------------
Le Tyran
n°127596
lkolrn
<comment ça marche?>
Posté le 18-04-2002 à 09:40:21  profilanswer
 

ouais, c ca, avec C++Builder...

n°127649
lkolrn
<comment ça marche?>
Posté le 18-04-2002 à 10:56:46  profilanswer
 

en fait, mon programme fait apparaitre une boite de dialogue (graphismes maison et non zindoz-like) dans laquelle je fais des rollover sur deux images-boutons (oui et non). J'ai donc mis un booléen à true uniquement lorsk cette fenetre est apparente, et dans mon Form::Paint() je lui dis:
 
SI (booléen vaut true) ALORS
{
    imageOui->Invalidate();
    imageNon->Invalidate();
}
 
le resultat est pas génial, cad ke ca "saute" toujours...
tu me parlais justement de la méthode Paint() pour ma Form, ptet tu as une idée...?

n°127652
LetoII
Le dormeur doit se réveiller
Posté le 18-04-2002 à 11:02:01  profilanswer
 

Comme c un bug graphique c assez dure de répondre sans le voir. J'ai un peu de mal à saisir quel est le problème en fait.


---------------
Le Tyran
n°127675
lkolrn
<comment ça marche?>
Posté le 18-04-2002 à 11:15:42  profilanswer
 

Je t'explik avec le + de clarté possible:
 
a 1 certain moment déterminé dans mon programme, celui-ci affiche une image-fenetre qui pose une question à l'utilisateur.
Ce dernier peut répondre par 'oui' ou par 'non', et lorsk'il pose son curseur de souris sur 'oui' ou 'non', je fé apparaitre une image-bouton 'oui' ou 'non' illuminée. Et c le fait de faire apparaitre ces images superposées aux images derriere elles sur la Form qui bug. En gros, lorsk je pointe sur 'oui', il y a une image 'oui' illuminée ki vient par dessus, seulement elle "clignote" ou "saute" (en fait, je crois qu' o moment ou je me pose dessus elle doit traverser plusieurs couches d'images pour venir au premier plan, seulement ca se voit et ca fé un effet de pseudo-clignotement tres dégueu...).
C pour ca ke je demandais si il y avait une solution à ca, et la methode 'Invalidate()' à l'air sympa, mais je c pas m'en servir...

mood
Publicité
Posté le 18-04-2002 à 11:15:42  profilanswer
 

n°127688
LetoII
Le dormeur doit se réveiller
Posté le 18-04-2002 à 11:20:37  profilanswer
 

Je crois savoir pourquoi ça fais ça, tu fais trop de Invalidate.
Tu doit faire un invalidate au moment ou le curseur entre sur le bouton ce qui provoque son redessinement mais tu ne dois pas en faire quand le curseur reste sur le boutton. Il faut pas que tu mette le Invalidate dans le OnPaint du form à mo avis.


---------------
Le Tyran
n°127695
youdontcar​e
Posté le 18-04-2002 à 11:27:14  profilanswer
 

letoII a écrit a écrit :

Il faut pas que tu mette le Invalidate dans le OnPaint du form à mo avis.


:ouch: surtout pas !

n°127718
lkolrn
<comment ça marche?>
Posté le 18-04-2002 à 11:40:35  profilanswer
 

cad...?  :pt1cable:

n°127736
LetoII
Le dormeur doit se réveiller
Posté le 18-04-2002 à 11:48:42  profilanswer
 

Cherche un peu c'est ton apli après tout! :)


---------------
Le Tyran
n°127758
lkolrn
<comment ça marche?>
Posté le 18-04-2002 à 12:07:18  profilanswer
 

ct po pour toi cette kestion...
t'as pas vu ce ke dit 'youdontcare'...?

n°127761
LetoII
Le dormeur doit se réveiller
Posté le 18-04-2002 à 12:09:46  profilanswer
 

ha si, ben si tu fais un invalidate dans to OnPaint tu risque une boucle infini, mais bon ça dépend sur quoi tu fais le Invalidate


---------------
Le Tyran

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++Builder] Message Windows de rafraichissement

 

Sujets relatifs
c++ buildercollaboration site web delphi, c++ builder et jbuilder
[C++Builder] Messages WindowsEn quel langage sont ecrit les windows ??
[BCB] Capturer un message envoyé à un compo sans le dériver..[C++ builder 6] y'a quoi sur les 6 CD de la version entreprise ???
[C++] Apiz Windows pour connection socket[Delphi] Afficher la version de windows
[C++ Builder] Pb dur à expliquer ...faire ecran de vielle sous windows
Plus de sujets relatifs à : [C++Builder] Message Windows de rafraichissement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR