Quelqu'un saurait comment on peut supprimer le cadre pointillé qui apparaît autour des cellules sélectionnées d'une drawgrid ?
Ce fichu cadre perturbe l'affichage des cellules que je mets en place sur le DrawCell.
Merci d'avance pour vos réponses.
Quelqu'un saurait comment on peut supprimer le cadre pointillé qui apparaît autour des cellules sélectionnées d'une drawgrid ?
Ce fichu cadre perturbe l'affichage des cellules que je mets en place sur le DrawCell.
Merci d'avance pour vos réponses.
Salut,
La seule solution c'est de l'enlever après dans OnDrawCell :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if gdFocused in State then begin if goDrawFocusSelected in DrawGrid1.Options then DrawGrid1.Canvas.Pen.Color := clHighlight else DrawGrid1.Canvas.Pen.Color := DrawGrid1.Color; DrawGrid1.Canvas.Brush.Style := bsClear; DrawGrid1.Canvas.Rectangle(Rect); end; end;
L'idée est intéressante mais ne fonctionne pas, car le cadre pointillé est dessiné automatiquement après l'exécution de DrawCell.
Pour complément d'information, j'utilise Delphi6 perso.
Je ne dois pas être le seul à me heurter à ce problème, très simple à mettre en évidence. Mettre une DrawGrid (ou StrinGrid) sur une feuille en mettant sa propriété Align à alClient et RowSelect à True. Si l'on diminue la taille de la fenêtre de manière à masquer quelques colonnes puis qu'on agrandit la fenêtre lentement, des barres pointillés verticales apparaissent dans les cellules.
Pour ceux qui utilisent les StringGrid ou DrawGrid, vous n'avez pas ce problème ?
Salut,
Exacte.
C'est plus compliqué que cela, il faut définir une procédure DefaultDrawCell comme dans le dbgrid. Puis mettre le DefaultDraw à False et appeller cette routine dans OnDrawCell.
Si tu la veux, fait moi signe...![]()
A+
Merci pour ta proposition, mais tu m'as donné la réponse.![]()
J'ai déjà écrit ma propre routine d'affichage des cellules. Il me suffisait de positionner DefaultDrawing à False et tout était ok. Je suis passé à côté de cette propriété et j'ai passé le week-end sur le problème que j'ai exposé, comme un boulet.
Encore une fois merci infiniment. J'aurai peut-être trouvé seul mais dans combien de temps ....![]()
Partager