FORM TRÉS PERSONNEL (DESIGN)

Signaler
Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
-
Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44057-form-tres-personnel-design

Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
2
Bonjour à toutes et à tous,

@ Slander, bien vu et logique, d'habitude je le place dans le oncréate de la fiche, mais comme j'avais vu le problème dans le resize, je l'avais placé la par inadvertance.

@+,

Cincap
Messages postés
26
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
14 décembre 2009

Bonjour à tous et toutes,

Pour information:
le ".Doublebuffered" d'un composant est un état bistable (soit activé soit désactivé) qui se caractérise par un booléen dans le code Delphi.

Il n'est donc pas "nécessaire" de le placer dans un event récurent (tel que l'évènement "OnResize" d'une fiche). En effet, à chaque redimensionnement de la fiche vous le redéfinissez à "True" sans l'avoir au préalable changé d'état, ce qui ne sert à rien...

Il aurait donc été plus judicieux de le placer dans l'évènement "OnCreate" de la Fiche par exemple, car une fois passé à "True", il n'en bougera plus faites moi confiance :p...

Ceci étant dit, à bon entendeur...

Slander
Messages postés
169
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
15 avril 2008

Merci, c gentil,il y à sûrement d'autres améliorations (rien n'est parfait) ça c sure.
pour les deux ligne que t'as ajouté M.cincap , tu peut enlevé la premier, car ça donne la même résulta


//Panel5.doublebuffered := true;
Pmidl.doublebuffered := true;

et Merci encore, ça fai plaisire.
Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
2
Bonjour à toutes et à tous,

@ Matrix1, très bonne source, j'ai rajouté dans le onresize de la fiche :

procedure TFarticl.FormResize(Sender: TObject);
begin
Panel5.doublebuffered := true;
Pmidl.doublebuffered := true;

SetWindowRgn(farticl.handle,CreateRoundRectRgn(0,0,farticl.Width,farticl.Height,14,14),true);
imx.Anchors:=[Akright,AKtop];
imr.Anchors:=[Akright,Aktop];
end;

Lors du resize, il y a un léger mieux.

@+,

Cincap