IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Rafraichissement de la fiche ainsi que de tous les objets


Sujet :

Composants VCL Delphi

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut Rafraichissement de la fiche ainsi que de tous les objets
    Voila , je fais une application avec quelques effets niveau graphique. Lorsque je déplace des composants (tedit) , ça me laisse des trainées qui sont très génantes. J'utilise pour autant "application.processmessages" pendant le deplacement et que je fasse "Compo.refresh"ou"Compo.repaint" pendant le deplacement n'y change rien non plus.
    Y a t'il une fonction miracle pour cela, du genre qui rafraichit toute la fiche.
    Du genre quand mon appli est rétressie sur la barre des taches, lorsque je la fait réapparaitre, il y a un refresh général.

  2. #2
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    salut,

    j'avais fait la même chose et ça me faisait pareil, j'ai pu supprimer ces trainées, si je me souviens bien en utilisant Parent.Update qui, d'après l'aide, traite immédiatement tous les messages de réaffichage en attente.

    à vérifier...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 43
    Points : 52
    Points
    52
    Par défaut
    devrait fonctionner ?

  4. #4
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Vi ... ce probleme viens pas de l'affichage du composant (puisqu'a chaque iteration de ton deplacement le compo s'affiche bien ....) mais de l'affichage de la Form !

    C'est son canvas a elle, sur lequel est dessine le composant, qui ne se reactualise pas.

    Un Form.Refresh (ou repaint) sera le bienvenu ... ;p
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  5. #5
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    j'ai vérifié, c'est bien parent.update qui devrait résoudre ton problème

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    bonsoir à tous, j'ai essayé un peu tout les update et refresh ainsi que repaint avec un peu tout les objets qui foiraient mais rien, ca va tj pas.
    Dix minutes plus tard....
    Voila j'ai refait des test sur un nouvelle appli et j'ai trouvé ce fameux probleme (mais tj pas la solution).
    Comme je le disait , mon appli est un peu design , j'utilise pour cela la transparence, pour avoir une fiche de style N-Gage (enfin je pense) et a ce que je vois , ca bouffe pas mal de ressource la transparence d'une couleur. Et donc , cette gourmandise en ressource se replique sur cela zut fait ch??? , pour une fois que j'avait une bonne idée
    Mais bon , si quelqu'un a une autre solution, je vois pas la quelle mais bon , on sait jamais.

    Merci quand meme et bonne soirée.

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Là, croyez moi , je me marre. Oui, je rigole assez jaune, j'ai envie de casser du Delphi. je m'explique : essayant de trouver un autre moyen pour la transparence, j'ai essayé avec le composant de la JVCL Jvtransparentform passant que ca allait allez vu que ca n'utilise pas le meme principe. Mais rien , tj ce foutu probleme. Et desespérement, mon esprit pensait a rien (oui ca m'arrive de pense de temps en temps) , je commence a supprimer dans la boucle de l'animation les elements suivants :
    en gros j'avais au debut ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       while panel2.left<0 do begin
         panel2.Left := panel2.Left+5;
         panel2.Update;
         application.ProcessMessages;
       end;
    qui ne marche pas
    et ensuite je suis arrivé a cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       while panel2.left<0 do begin
         panel2.Left := panel2.Left+5;
       end;
    qui marche nikel, c'est a y rien comprendre

  8. #8
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Ben je vois qu'une chose : A force de trop vouloir forcer le raffaichissement des donnees, tu en est arrive a lancer trop de boucles d'attente pour gerer les messages (comme application.process message) et a force de reafficher plusieurs fois le meme dessins (voie normale + Update qui reaffiche et peut etre meme process message qui sais ..) tu as fini par rendre visible le temps entre tes 2 iterations ;pp

    "L'abus de refresh est dangeureux pour la santee ... des programmes"
    A mediter ....

    ;p
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment donner des droits sur tous les objets d'un schéma
    Par farenheiit dans le forum Administration
    Réponses: 2
    Dernier message: 07/06/2007, 16h27
  2. afficher tous les objets d'un formulaire
    Par sebhm dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/01/2007, 15h09
  3. [Débutant] Initialiser les propriétés de tous les objets d'une ArrayList
    Par Tententai dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 23/05/2006, 20h24
  4. [VB.NET][2.0]retirer en une fois tous les objets d'un panel
    Par Golzinne dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/03/2006, 15h06
  5. Trouver tous les objets d'un certain type dans un document?
    Par kobe dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 03/11/2005, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo