FORM TRÉS PERSONNEL (DESIGN)

cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 17 sept. 2007 à 06:47
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 1 oct. 2007 à 09:33
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

cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
1 oct. 2007 à 09:33
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
cs_Slander Messages postés 26 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 14 décembre 2009
21 sept. 2007 à 09:15
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
cs_matrix1 Messages postés 169 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 15 avril 2008
18 sept. 2007 à 10:52
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.
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
17 sept. 2007 à 06:47
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
Rejoignez-nous