![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать, кто является Sender'ом? [D7, XP]
Alex_C © (2008-06-20 10:38:00)Допустим: при вызове PupUp меню, нужно изменить цвет или font компонента, который его вызвал.
Пробовал так:
(Sender as TControl).Font := FontDialog1.Font - возникает ошибка при компиляции "Undeclared identifier: font", хотя у TContro по хелпу св-во font есть.
Игорь Шевченко (2008-06-20 11:06:00) [1]
> Самое простое так:
> (PopupMenu.PopupComponent as TLabel).Font.Assign(FontDialog.
> Font);
Самое некривое через GetObjectProp и Assign
Ega23 (2008-06-20 11:04:00) [2]
> (PopupMenu.PopupComponent as TLabel).Font.Assign(FontDialog.
> Font);
if (PopupMenu.PopupComponent is TLabel) then
TLabel(PopupMenu.PopupComponent).Font.Assign(...)
Alex_C (2008-06-20 11:02:00) [3]Всем спасибо! Все понял!
Самое простое так:
(PopupMenu.PopupComponent as TLabel).Font.Assign(FontDialog.Font);
TUserClass (2008-06-20 11:01:00) [4]Удалено модератором
Ega23 (2008-06-20 10:58:00) [5]
> тока не знаю хорошо ли :
Не хорошо.
TUserClass (2008-06-20 10:52:00) [6]Можно так ... тока не знаю хорошо ли :
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Label1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ChangeFont (Sender : TObject);
end;
var
Form1: TForm1;
implementation
procedure TForm1.ChangeFont (Sender : TObject);
begin
If Sender.ClassName = 'TLabel' then begin
(Sender as TLabel).Font.Style := (Sender as TLabel).Font.Style + [fsBold];
end else If Sender.ClassName = 'TButton' then begin
(Sender as TButton).Font.Style := (Sender as TButton).Font.Style + [fsBold];
end else If Sender.ClassName = ...
end;
{$R *.dfm}
procedure TForm1.Label1Click(Sender: TObject);
begin
ChangeFont (Sender);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ChangeFont (Sender);
end;
Ega23 (2008-06-20 10:43:00) [7]
> хотя у TContro по хелпу св-во font есть.
Только оно у TControl - protected property
clickmaker (2008-06-20 10:40:00) [8]PopupComponent?