Bonjour,
Je suis à la recherche de la méthode permettant de changer la couleur et l'épaisseur de la bordure des cellules de la TStringGrid.
Merci pour votre aide,
ZiP
Bonjour,
Je suis à la recherche de la méthode permettant de changer la couleur et l'épaisseur de la bordure des cellules de la TStringGrid.
Merci pour votre aide,
ZiP
Bonjour,
J'ai changé ma TStringGrid par une TDrawGrid.
BorderStyle = bsNone
ColCount = 9
DefaultColWidth = 50
DefaultDrawing = False
DefaultRowHeight = 50
FixedCols = 0
FixedRows = 0
Height = 450
Options = tout est décoché
RowCount = 9
ScrollBars = ssNone
Width = 450
J'utilise le code suivant :
De cette manière, j'ai une belle grille de Sudoku
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin DrawGrid1.Canvas.Pen.Color := clBlack; DrawGrid1.Canvas.MoveTo(Rect.Left, Rect.Top); DrawGrid1.Canvas.LineTo(Rect.Left, Rect.Bottom); DrawGrid1.Canvas.MoveTo(Rect.Left, Rect.Top); DrawGrid1.Canvas.LineTo(Rect.Right, Rect.Top); if (ACol = 8) then begin DrawGrid1.Canvas.MoveTo(Rect.Right-1, Rect.Top); DrawGrid1.Canvas.LineTo(Rect.Right-1, Rect.Bottom); end; if (ARow = 8) then begin DrawGrid1.Canvas.MoveTo(Rect.Left, Rect.Bottom-1); DrawGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom-1); end; if (ACol = 2) or (ACol = 5) then begin DrawGrid1.Canvas.MoveTo(Rect.Right-1, Rect.Top); DrawGrid1.Canvas.LineTo(Rect.Right-1, Rect.Bottom); DrawGrid1.Canvas.MoveTo(Rect.Right+1, Rect.Top); DrawGrid1.Canvas.LineTo(Rect.Right+1, Rect.Bottom); end; if (ARow = 3) or (ARow = 6) then begin DrawGrid1.Canvas.MoveTo(Rect.Left, Rect.Top-1); DrawGrid1.Canvas.LineTo(Rect.Right, Rect.Top-1); DrawGrid1.Canvas.MoveTo(Rect.Left, Rect.Top+1); DrawGrid1.Canvas.LineTo(Rect.Right, Rect.Top+1); end; end;
Est-ce que ma méthode de dessin est correcte ?
Est-il possible de l'optimiser un peu ?
Merci,
ZiP
Le StringGrid contient le même événement
Ce qu'on peut dire d'un coup d'oeil est que tes lignes épaisses ne seront pas bien rafraîchies à la sortie de la cellule puisque tu "piles" sur les cellules avoisinantes (+1, -1)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager