Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Sender verwenden (https://www.delphipraxis.net/6174-sender-verwenden.html)

JoelH 2. Jul 2003 07:24


Sender verwenden
 
Warum funktioniert folgender Code nicht ?

Delphi-Quellcode:
procedure Tfrm_dlg_farben.inp_pflichtClick(Sender: TObject);
begin
  ColorDialog := TColorDialog.Create(Application);
  try
    ColorDialog.Color := sender.color;
    if ColorDialog.Execute then
      sender.color := ColorDialog.Color;
  finally
    ColorDialog.Free;                                          
  end;
end;
Er meldet
Zitat:

[Error] dlg_farben.pas(58): Undeclared identifier: 'color'
[Error] dlg_farben.pas(60): Undeclared identifier: 'color'
Der Sender ist doch das Editfeld und die hat doch die Property Color.

Es geht hierbei darum die Hintergrundfarben von Editfeldern via Dialog zu verändern, ich wollte nur ein Procedure für alle Editfelder anlegen, weil sich ja ausser dem Sender(??) nichts ändert. Und da braucht es ja dann nicht 10x dieselbe Procedure wo jeweils nur ein Name ausgetauscht ist.

Luckie 2. Jul 2003 07:51

Versuch das mal;
Delphi-Quellcode:
ColorDialog.Color := (Sender as TEdit).color;

sakura 2. Jul 2003 07:51

Es ist nicht zu erkennen, was für ein Klassentyp der Sender sein soll. Deshalb, wenn es z.B. vom Typ TButton ist, dann geht das wie folgt.
Code:
procedure Tfrm_dlg_farben.inp_pflichtClick(Sender: TObject);
begin
  [color=#ff0000]if not Sender is TButton then
    Exit;[/color]
  ColorDialog := TColorDialog.Create(Application);
  try
    ColorDialog.Color := [color=#ff0000]TButton([/color]sender[color=#ff0000])[/color].color;
    if ColorDialog.Execute then
      [color=#ff0000]TButton([/color]sender[color=#ff0000])[/color].color := ColorDialog.Color;
  finally
    ColorDialog.Free;                                          
  end;
end;
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz