![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Делаю кнопки дисков для файлменеджера:
Создаю их. Код:
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
|
|||
|
|||
|
И делаю им екшин:
Код:
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 присваивать не в момент нажатия, а в момент создания. |