Einzelnen Beitrag anzeigen

Lich

Registriert seit: 17. Aug 2006
43 Beiträge
 
#3

Re: Fragen zu Assigned und Handle

  Alt 14. Sep 2006, 16:43
Das ist der Code, der zu der Komponente ColerGrid gehört

Delphi-Quellcode:
unit Clrgrid;

interface
uses winTypes, classes, Graphics, grids;

type
  TColorEvent = procedure (Sender: TObject; ARow, ACol: Longint;
                           AState: TGridDrawState;
                           ABrush: TBrush; AFont: TFont ) of object;

  TColorStringGrid = class(TStringGrid)
  private
    FonGetCellColor: TColorEvent;
  protected
    procedure DrawCell(ACol, ARow: Longint; ARect: TRect;
              AState: TGridDrawState); override;
  Published
    property OnGetCellColor: TColorEvent read FOnGetCellColor
                                         write FOnGetCellColor;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples',[TColorStringGrid]);
end;

procedure TColorStringGrid.DrawCell(ACol, ARow: Longint; ARect: TRect;
          AState: TGridDrawState);
begin
  if Assigned(FOnGetCellColor) then
    FOnGetCellColor(Self, ARow, ACol, AState, Canvas.Brush, Canvas.Font);
  inherited DrawCell(ACol, ARow, ARect, AState);
end;[/quote]

Und hier wird überprüft, ob FOnGetCellColor Assigned ist, bevor die Funktion zum Ausfüllen der Grid gestartet wird:

[quote]if Assigned(FOnGetCellColor) then
    FOnGetCellColor(Self, ARow, ACol, AState, Canvas.Brush, Canvas.Font);
  inherited DrawCell(ACol, ARow, ARect, AState);
Bei mir ist das ganze irgentwie nie Assigned und ich weiß nicht wodran es liegen könnte?

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat