Bonjour !
En consultant la FAQ, j'ai pu modifier la couleur de la ligne sélectionnée de ma DBGrid en renseignant l'évenement OnDrawColumnCell comme suit :
Hélas, lorsque la DBGrid est en option MultiSelect
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //Application des couleurs à la sélection If (gdSelected In State) Then Begin TDBGrid(Sender).Canvas.Brush.Color := SelectColor; //Nouvelle Propriété TDBGrid(Sender).Canvas.Font.Color := SelectColorFont; TDBGrid(Sender).DefaultDrawColumnCell(rect,datacol,column,state); End;
uniquement la ligne enCours (Focusée) est de la bonne couleur, toutes les autres sont de couleurs de base windows pour la sélection.
En pas à pas on s'apperçoit que seul la ligne en cours a State = [gdSelected] et uniquement la cellule en cours [gdSelected,gdFocused]. Les autres lignes sélectionnées ou pas on leur State vide []
Doit-on passer par une autre méthode que gdSelected in State pour parvenir à coloriser TOUTES les lignes sélectionnées en multiSelect ? J'ai bien des pistes avec SelectedRows mais j'ai peur de passer à coté de quelquechose de simple et de m'embarquer dans une cuisine inutile.
Merci d'avance !
Partager