GESTION DE CASES À COCHER PERSONNALISÉES DANS UN STRINGGRID

asciidefond Messages postés 8 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 7 septembre 2007 - 5 juin 2009 à 18:54
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 - 8 juin 2009 à 16:08
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/50116-gestion-de-cases-a-cocher-personnalisees-dans-un-stringgrid

cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
8 juin 2009 à 16:08
@ Cirec.
En effet, DrawFrameControl semble intéressant et plus optimal pour des marques traditionnelles; plus universel aussi sur toutes sortes de controles. Par contre pour des graphismes spécifiques (la méthode du listImage me sembleplus intéressant.
@ AscciDeFond.
Ton source est-il de toi? Tu as du t'inspirer du la même que moi car je suis sûr que ça n'est pas sur DelphiFr que je l'avais vu. Il y a de nombreux snippets un peu partout!
C'est vrai que l'on ne réinvente pas la roue, ce quine nous empêche pas defaire preuve de créativité.
Merci pour vos remarques.
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
6 juin 2009 à 17:34
Salut,

pour dessiner les boutons checkbox et autres controles regarde du coté de DrawFrameControl :
http://msdn.microsoft.com/en-us/library/dd162480(VS.85).aspx
c'est beaucoup plus simple et complet ;)
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
5 juin 2009 à 19:26
Merci Asciidefond pour ton commentaire!
En fait, j'ai trouvé pour les couleurs.
j'avais mis with StringGrid1 do Canvas.Brush.Style := bsClear; ce qui empêche évidemment l'attribution d'autres couleurs.
On peut donc faire par exemple pour augmenter la visibilité des lignes une couleur pour les lignes paires et une autre pour les lignes impairs.

Donc dans le DrawCell...
With StringGrid1.Canvas Do
Begin
If gdSelected In State
Then Brush.Color := clNavy // sélection
Else If Odd(ARow) then Brush.Color := Clyellow
else Brush.Color := ClSilver;
...
End
...
Je regarderai quand même tes liens...
J'attends de perfectionner un peu le source pour le republier
Rejoignez-nous