Einzelnen Beitrag anzeigen

juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
142 Beiträge
 
Delphi XE5 Professional
 
#1

Prozedur eines anderen Type aufrufen

  Alt 11. Jul 2020, 09:13
Hallo,
ich habe ein Programm (Delphi XE10.3) /Windows10)
in dem ich eigene Typen deklariert habe.
Nun möchte ich aus der Prozedur TExtShape9.MouseDown
die Prozedur TExtShape10.Paint aufrufen.
Ich weiß aber nicht wie?????????????
Danke für die Hilfe.
Gruß Jürgen

Delphi-Quellcode:
type
  TExtShape9 = class(TShape)
  protected
    procedure Paint; override;
    procedure MouseDown(Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;
  published
    property Caption;
    property Font;
  end;
  TExtShape10 = class(TShape)
  protected
    procedure Paint; override;
    procedure MouseDown(Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;
  published
    property Caption;
    property Font;
  end;

var
  Shcol9: TColor;
  Shcol10: TColor;

procedure TExtShape9.Paint;
begin
  inherited Paint;
.......
  Canvas.Brush.Color:=Shcol9;
  Brush.Color:=Shcol9;
..........
end;
procedure TExtShape10.Paint;
begin
  inherited Paint;
.......
  Canvas.Brush.Color:=Shcol10;
  Brush.Color:=Shcol10;
..........
end;
procedure TExtShape9.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  inherited MouseDown(Button, Shift, X, Y);
.......
  Shcol10:=clYellow;
  TExtShape10.Paint; // dieser Befehl geht nicht
end;
procedure TExtShape10.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  inherited MouseDown(Button, Shift, X, Y);
.......
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
......
    with TExtShape9.Create(Form1) do
    begin
      parent:=Form1;
      Caption:='Einzahlen';
    end;
    with TExtShape10.Create(Form1) do
    begin
      parent:=Form1;
      Caption:='Auszahlen';
    end;
......
end;
Jürgen Linder

Geändert von juelin (11. Jul 2020 um 13:50 Uhr)
  Mit Zitat antworten Zitat