Bonjour,

dans l'inspecteur d'objet d'un composant, je n'arrive à faire apparaître la couleur par défaut d'une propriété Tcolor : l'inspecteur d'objet me renvoie systématiquement clBlack quand je pose mon composant sur la Form alors que dans le code je l'ai déclaré clRed. Un simple F9 me montre par contre que le composant prend bien en compte que la couleur par défaut est rouge.

Voici l'extrait du code relatif à la propriété en question :

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
49
50
51
52
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Grids,
  FileUtil, StdCtrls,
  LCLIntf {DrawText}, LCLType {DT_CALCRECT or DT_WORDBREAK},
  ExtCtrls;
 
type
  TmyStringGrid = class(TStringGrid)
  private
    { Private declarations }
    // Properties
    FFocusBrush : TColor;
 
    //Procedures
    procedure SetFocusBrush(Value: TColor);
 
  protected
 
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
 
  published
    { Published declarations }
     property FocusBrush :TColor Read FFocusBrush Write SetFocusBrush default clRed;
end;
 
procedure Register;
 
implementation
 
constructor TmyStringGrid.Create(AOwner: TComponent);
var
 iLoc : integer;
begin
    Inherited Create(AOwner);
 
    FFocusBrush := clRed;
end;
 
procedure TmyStringGrid.SetFocusBrush(Value: TColor);
begin
 if FFocusBrush <> Value then begin
  FFocusBrush:= Value;
  Invalidate;
 end;
end;
 
end.
Où est le problème ?

Merci. Cordialement. Gilles