Il y a-t-il quelqu'un qui sait dégrader les Fixedrow ?
On a le COLOR des fixedrows, mais rien d'autre.
J'ai essayé la JcvUltimGrid, il y a un DrawcolumnTitle mais il n'accepte pas le degrader la dessus.
Quelque à déjà réussi à le faire ?
Merci
Il y a-t-il quelqu'un qui sait dégrader les Fixedrow ?
On a le COLOR des fixedrows, mais rien d'autre.
J'ai essayé la JcvUltimGrid, il y a un DrawcolumnTitle mais il n'accepte pas le degrader la dessus.
Quelque à déjà réussi à le faire ?
Merci
Bonjour,
Je n'ai jamais utilisé DBGrid, mais pour le cas où le DBGrid possèderait un Canvas accessible voiçi un bout de code qui réalise un dégradé sur un canvas :
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
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
41
42
43
44
45
46
47
48 Procedure Degrader( CanvasCible : TCanvas; Dim : TRect; CoulDeb,CoulFin : Tcolor; Vertical : boolean); // Param CanvasCible = Canvas cible // Param Dim = Rectangle-Dimensions du canvas-cible // Param CoulDeb,CoulFin = couleurs de début et de fin du dégradé // Param Vertical : True pour dégradé vertical sinon dégradé horizontal. type TRGB = record R,G,B : integer; end; var Frange : TRect; // Frange rectangulaire pour tracé couleur courante variable i : Integer; // Compteur pour parcourir la hauteur du canvas cDeb : TRGB; // valeurs RGB de la couleur de Deb cDeg : TRGB; // valeurs RGB de la couleur courante eD_F : TRGB; // écarts de RGB entre couleurs de Deb et de Fin begin // valeurs RGB de la couleur de Deb cDeb.R := GetRValue(ColorToRGB(CoulDeb)); cDeb.G := GetGValue(ColorToRGB(CoulDeb)); cDeb.B := GetBValue(ColorToRGB(CoulDeb)); // écarts RGB entre couleurs de Deb et de Fin eD_F.R := GetRValue(ColorToRGB(CoulFin )) - cDeb.R; eD_F.G := GetgValue(ColorToRGB(CoulFin )) - cDeb.G; eD_F.B := GetbValue(ColorToRGB(CoulFin )) - cDeb.B; // Initialisation des dimensions de la Frange de couleur Frange.Left := Dim.Left; Frange.Right:= Dim.Right - Dim.Left; // Boucle de remplissage en dégradé du canvas with CanvasCible do begin for i:= 0 to 255 do begin // Dimensions de la Frange if Vertical = true then begin Frange.Left := Dim.Left; Frange.Right:= Dim.Right - Dim.Left; Frange.Top := MulDiv(i, Dim.Bottom - Dim.top, 256); Frange.Bottom := MulDiv(i+1, Dim.Bottom - Dim.top, 256); end else begin Frange.Top:=Dim.top; Frange.Bottom:= Dim.Bottom - Dim.top; Frange.left := MulDiv(i, Dim.Right - Dim.Left, 256); Frange.right := MulDiv(i+1 , Dim.Right - Dim.Left, 256); end; // couleur courante dégradée cDeg.R := (cDeb.R + MulDiv(i, eD_F.R, 255)) mod 256; cDeg.G := (cDeb.G + MulDiv(i, eD_F.G, 255)) mod 256; cDeg.B := (cDeb.B + MulDiv(i, eD_F.B, 255)) mod 256; // Tracé sur canvas Brush.color:=RGB(cDeg.R, cDeg.G, cDeg.B); FillRect(Frange); end; end; end;
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
En fait j'utilise déjà cet procedure Degrade dans mon code.
Mais je n'arrive pas à atteindre les titre de colonne.
tu vois ?
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