AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sender verwenden

Ein Thema von JoelH · begonnen am 2. Jul 2003 · letzter Beitrag vom 2. Jul 2003
Antwort Antwort
JoelH
(Gast)

n/a Beiträge
 
#1

Sender verwenden

  Alt 2. Jul 2003, 07:24
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 2. Jul 2003, 07:51
Versuch das mal;
ColorDialog.Color := (Sender as TEdit).color;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 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;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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