Klawisze funkcyjne i menu

0

Prosta aplikacja, jest menu, musze koniecznie korzystac z klawiszy funkcyjnych - samych i w kombinacji z Shift lub Ctrl. Niestety F10 wywoluje mi kazdorazowo menu. Teraz posluzylem sie amatorskim obejsciem - po odczytaniu klawisza, wywoluje procedure obslugi, nastepnie Key przypisuje klawisz VK_ESC, ktorego nie uzywam. No i aplikacja dostaje ten ESC. Jak to powinno wygladac po ludzku?

Pozdrawiam,
Jacek

0

Hm.. Nie wiem co to znaczy po ludzku, ale w czym problem ?

procedure TForm1.KeyDown(var Key:Word);
 begin
   if Key = VK_F10 then Key:=VK_ESC;
end;

Albo nie przepuszczać messegów z WM_CHAR i VK_F10 i tyle :)

0

Po ludzku - ;) Chodzilo mi o to, ze ten moj sposob wydal mi sie taki "na sile", F10 jest standardowo przypisane przez Windows? Myslalem wiec o jakims przemapowaniu na twardo na czas pracy aplikacji... A z tym blokowaniem komunikatow... - mozesz urchylic rabka tajemnicy? :)

Dzieki.
Jacek

0

Hm... rąbka tajemnicy... eh.. :p Sam nie wim do końca jak to zrobić, musisz jaką procedure obługi komunikatu WM_CHAR zadeklarować
np.

procedure komunikat(var Message:TMessage); message WM_CHAR;

i w niej już odpowiednio sprawdzić, czy WParam( LParam ? Nie ort!) nie jest przypadkiem VK_F10, jeśli jest, to nie przepuszczaj komunikatu dalej. i tyle :)

0

Dzieki, powalcze :)

Pozdrawiam,
Jacek

1 użytkowników online, w tym zalogowanych: 0, gości: 1