Einzelnen Beitrag anzeigen

Keks

Registriert seit: 25. Mai 2005
122 Beiträge
 
#6

AW: TCategoryPanelGroup modifizieren

  Alt 2. Apr 2011, 14:27
Strg+Linksklick auf TCategoryPanelGroup
Das geht imho aber nur, wenn der Pfad zu der pas in den Library-Angabenenthalten ist. Da bei mir der "[...]\RAD Studio\8.0\source\vcl" Pfad dort nicht drin war, hat das mit dem Klicken auch nicht funktioniert.

Ich komme allerdings gerade nicht weiter mit dem Überschreiben einer Funktion der Basiskomponente.
Ich habe jetzt folgendes:
Delphi-Quellcode:
unit MyCategoryPanelGroup;

interface

uses
  SysUtils, Classes, Controls, Forms, ExtCtrls, Graphics;

type
  TMyCategoryPanelGroup = class(TCategoryPanelGroup)
  private
    { Private declarations }
  protected
    { Protected declarations }
    procedure DrawHeaderChevron(ACanvas: TCanvas); override;
  public
    { Public declarations }
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('My', [TMyCategoryPanelGroup]);
end;

procedure TCategoryPanelGroup.DrawHeaderChevron(ACanvas: TCanvas);
begin
  //
end;

end.
Damit sollte der Pfeil doch schon mal nicht gezeichnet werden, oder? Jedenfalls erhalte ich beim Kompilieren die Meldung: "Method 'DrawHeaderChevron' not found in base class". DrawHeaderChevron ist Teil von TCustomCategoryPanel von dem TCategoryPanel abgeleitet ist. Ich denke für meinen Fall ist es einfacher von TCategoryPanel abzuleiten statt von TCustomCategoryPanel, da ich sonst erst alles, was fehlt, selbst nachrüsten müsste.
Warum wird DrawHeaderChevron also nicht gefunden?
  Mit Zitat antworten Zitat