Hallo!
Ich bastel mir gerade ein Panel, auf dem dann ein Label erscheint.
Panel mit Label (war mal Edit) drauf
Nun stehe ich vor dem nächsten Problem. Ich möchte, im OnResize Event des Panels die Labelgröße ändern. Vorgestellt hatte ich mir das wie folgt:
Delphi-Quellcode:
unit DatPanel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type TDatPanel =
class(TPanel)
private
fLabel1 : TLabel ;
public
constructor Create(AOwner: TComponent);
override ;
procedure PanelResize(Sender: TObject);
override ;
// [FEHLER] Methode 'PanelResize' nicht in Basisklasse gefunden
end ;
implementation
constructor TDatPanel.Create(AOwner: TComponent);
begin
inherited;
fLabel1 := TLabel.Create(self);
with fLabel1
do begin
Parent := self ;
Top := 2 ;
Left := 2 ;
Font.Size := 8 ;
Caption := '
Hallo' ;
end ;
end;
procedure TDatPanel.PanelResize(Sender: TObject);
begin
inherited ;
fLabel1.Width := Parent.ClientWidth
div 2 ;
end;
end.
Es komt immer zu dem Fehler "[FEHLER] Methode 'PanelResize' nicht in Basisklasse gefunden" in der kommentierten Zeile. Wie komme ich denn an den richtigen Methodennamen des OnResize Events heran? In der ExtCtrls.pas finde ich diese Methode nicht.
Auf "procedure PanelResize(Sender: TObject);" kam ich, indem ich ein Panel als Komponente auf eine Form gelegt habe und dan den Eventhandler bearbeitet habe. Analog dazu habe ich das in meiner
Unit gemacht, aber das funzt nicht.
Tipps, Ratschläge?
Gruß und Dank!
glunzl