Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как горячими клавишами переключать пункты в 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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо