![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбор "горичих" клавиш [D7, WinXP]
kyn66 © (2007-03-12 12:24:00)В некоторых программах для некоторых операций предлагаетя выбрать ряд горячих клавиш для обеспечения определенных действий. Подскажите, каким образом это делается. Точнее как выглядит этот механизм от предложения комбинаций до воплощения их в своем коде. Где и ак должны эти комбинации храниться. Спасибо.
MsGuns (2007-03-13 21:36:00) [1]Используйте TAction, которым можно назначать "горячие" клавиши и в рантайме.
kyn66 (2007-03-13 09:13:00) [2]Вот вот справку то смотрел, однако там есть примры с заранее указанными комбинациями и нигде нет, как использовать комбинацию типа TShortCut. А в указанном здесь примере присвоение пункту меню не совсем удачное предложение.
Думкин (2007-03-13 06:25:00) [3]А справку посмотреть?
To use this example, create a form with a main menu component and a HotKey component. At design time, use the Menu designer to add menu items, including a "File" menu with subitems that includes a "New" menu item. Add the following code to the OnCreate method of the form and the OnClick event of the File menu item.
procedure TForm1.File1Click(Sender: TObject);
begin
// Assign hotkey to the menu's File "New" item.
New1.ShortCut := HotKey1.HotKey;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Default to "Ctrl + A"
HotKey1.Modifiers := [hkCtrl];
// Don't allow shift or alt
HotKey1.InvalidKeys := [hcShift, hcAlt];
end;
kyn66 (2007-03-12 14:40:00) [4]Наполовину разобрался. Вот только как его теперь применить в форме?
Сразу делел так
procedure TGenTFrm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if ((Shift = [ssCtrl, ssShift]) and (Key = 67)) then
begin
...мой код...
end;
end;
А как теперь, имея код типа TShortCut его использовать?
kyn66 (2007-03-12 14:27:00) [5]Ага, возможно это подойдет.
Думкин (2007-03-12 12:41:00) [6]THotKey?
kyn66 (2007-03-12 12:30:00) [7]Не совсем то. Необходимо юзеру предложить на выбор создать свою комбинацию, а затем ее использовать в программе.
Думкин (2007-03-12 12:25:00) [8]TActionList, TAction