Zpracování klávesnice pro ovládací prvky
Ovládací prvek reaguje na akcelerátory klávesnice, aby koncový uživatel mohl zahájit akce prováděné ovládacím prvku. Kontejner spravuje aktivitu klávesnice pro všechny vložené ovládací prvky. U složených dokumentů se akcelerátory klávesnice vztahují pouze na aktuálně aktivní objekt. U ovládacích prvků byl přidán mechanismus, který umožňuje ovládacímu prvku reagovat na své klávesové zkratky, i když není aktuálně aktivní v uživatelském rozhraní.
IOleControl::GetControlInfo a IOleControl::OnMnemonic metody a IOleControlSite::OnControlInfoChanged metody zpracovávají klávesová mnemonika ovládacího prvku. Struktura CONTROLINFO popisuje mnemonické akcelerátory ovládacího prvku a příznaky, které jsou předány zpět prostřednictvím metody GetControlInfo, popisují chování ovládacího prvku s klávesami Enter a Esc. Když ovládací prvek změní své mnemoniky, volá OnControlInfoChanged, aby kontejner mohl v případě potřeby znovu načíst strukturu.
Pokud je ovládací prvek aktivní v uživatelském rozhraní, je to také ovládací prvek s fokusem. Při aktivaci a deaktivaci ovládacích prvků mezi místní aktivní a aktivní stavy uživatelského rozhraní ovládací prvek volá IOleControlSite::OnFocus informovat kontejner o těchto změnách.
Kromě toho, když je ovládací prvek aktivní v uživatelském rozhraní, bude mít první šanci zpracovat jakékoli stisknutí kláves. Chcete-li kontejneru dát příležitost zpracovat stisknutí klávesy před ovládacím prvku, ovládací prvek volá IOleControlSite::TranslateAccelerator. Pokud kontejner nezpracuje stisknutí kláves, ovládací prvek ho zpracuje.
Související témata