Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.02.2011, 18:31
Аватар для Yurgen
Yurgen Yurgen вне форума
Прохожий
 
Регистрация: 09.12.2010
Адрес: Киев
Сообщения: 13
Репутация: 10
По умолчанию Прием внешних параметров TAction'a

Делаю кнопки дисков для файлменеджера:
Создаю их.
Код:
  for i := 0 to ( Drives.Count - 1 ) do
  begin
       NewBtn := TToolButton.Create ( stlbrLeft );
       with NewBtn do begin
           Parent := stlbrLeft;
           Tag    := i;
           Action := actChDisk;
       end;
  end;

И делаю им екшин:
Код:
procedure TMainForm.actChDiskExecute(Sender: TObject);
var n : Integer;
begin
     if not ( Sender is TToolButton ) then exit;
     n := ( Sender as TToolButton ).Tag;
     Caption := Drives.GetChar ( n ) + ':\';
     SetCurrentDir ( Caption );
     actRefresh.Execute;
end;

Дабы вас не отвликало клас TDrives самописен, и работает нормально
Как не странно но Sender is TToolButton возвращает False.
Плюс не знаю правильно ли я прописиваю Caption.
Ответить с цитированием
  #2  
Старый 14.02.2011, 13:55
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

И делаю им екшин:
Код:
procedure TMainForm.actChDiskExecute(Sender: TObject);
var n : Integer;
begin
     if not ( Sender is TToolButton ) then exit;
     n := ( Sender as TToolButton ).Tag;
     Caption := Drives.GetChar ( n ) + ':\';
     SetCurrentDir ( Caption );
     actRefresh.Execute;
end;

Как не странно но Sender is TToolButton возвращает False.

В данном случае Sender is TAction.
Чтобы добраться до кнопки, нужно TAction(Sender).ActionComponent.
И Caption присваивать не в момент нажатия, а в момент создания.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter