![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как горячими клавишами переключать пункты в MainMenu? [D7]
BadTester © (2006-10-02 20:50:00)Как горячими клавишами переключать пункты в MainMenu?
На Ctrl +Alt + (+) и (-)
Делаю так
procedure TForm1.FormCreate(Sender: TObject);
const
MOD_ALT = 1;
MOD_CONTROL = 2;
begin
// Register Hotkey Ctrl + Alt + (-)
id1 := GlobalAddAtom('Hotkey1');
RegisterHotKey(Handle, id1, MOD_CONTROL + MOD_Alt, $BD);
// Register Hotkey Ctrl + Alt + (+)
id2 := GlobalAddAtom('Hotkey2');
RegisterHotKey(Handle, id2, MOD_CONTROL + MOD_Alt, $BB);
end;
// Trap Hotkey Messages
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
var
ThreadId: Cardinal;
M: TWMMenuSelect;
begin
//Back---------------------------------------
if Msg.HotKey = id1 then
ShowMessage('Ctrl + Alt + (-) BACK >>');
//Next----------------------------------------
if Msg.HotKey = id2 then
ShowMessage('Ctrl + Alt + (+) NEXT >>');
end;
Как сделать так чтоб можно было переключать пункты меню назад и вперед?
Leonid Troyanovsky (2006-10-04 13:17:00) [1]
> BadTester (04.10.06 11:54) [2]
> А если у меня в меню 20 пунктов? как переключать их поочередности
Стрелка вверх/вниз.
--
Regards, LVT.
BadTester (2006-10-04 11:58:00) [2]Например нажимаю CTRL+ALT+(+) то переключает на следующий пункт меню, а если CTRL+ALT+(-) то на предедущий. Как осущевствить? Помогите.
BadTester (2006-10-04 11:54:00) [3]А если у меня в меню 20 пунктов? как переключать их поочередности ?
Leonid Troyanovsky (2006-10-02 22:29:00) [4]
> BadTester (02.10.06 20:50)
> Как горячими клавишами переключать пункты в MainMenu?
MenuItemN.ShortCut := TextToShortCut('Ctrl+Alt+N'); // Next
MenuItemP.ShortCut := TextToShortCut('Ctrl+Alt+P'); // Prev
--
Regards, LVT.