Aracılığıyla paylaş


Kontroller için Klavye İşleme

Bir denetim, son kullanıcının denetim tarafından gerçekleştirilen eylemleri başlatabilmesi için klavye hızlandırıcılarına yanıt verir. Kapsayıcı, tüm gömülü bileşenler için klavye etkinliğini yönetir. Bileşik belgelerle, klavye hızlandırıcıları yalnızca şu anda etkin olan nesneye uygulanır. Denetimlerle bir mekanizma eklenmiştir, böylece bir denetim, şu anda UI etkin olmasa bile, klavye anımsatıcılarına yanıt verebilir.

IOleControl::GetControlInfo ve IOleControl::OnMnemonic yöntemleri ve IOleControlSite::OnControlInfoChanged yöntemi denetimin klavye anımsatıcılarını işler. CONTROLINFO yapısı bir denetimin anımsatıcı hızlandırıcılarını açıklar ve GetControlInfo yöntemi aracılığıyla onunla birlikte geçirilen bayraklar Enter ve Esc tuşlarıyla denetim davranışını açıklar. Bir denetim, anımsatıcılarını değiştirdiğinde, gerekirse kapsayıcının yapıyı yeniden yükleyebilmesi için OnControlInfoChanged çağırır.

Denetim bir kullanıcı arabiriminde etkin olduğunda, odakta olan denetim de odur. Denetimler yerinde etkin ve kullanıcı arabirimi etkin durumları arasında etkinleştirilip devre dışı bırakıldığından, denetim kapsayıcıya bu tür değişiklikleri bildirmek için IOleControlSite::OnFocus çağırır.

Ayrıca, bir denetim kullanıcı arabirimi etkin olduğunda, herhangi bir tuş vuruşlarını işlemek için ilk şansa sahip olur. Bir kapsayıcıya tuş vuruşunu denetimden önce işleme fırsatı vermek için, denetim IOleControlSite::TranslateAcceleratorçağırır. Kapsayıcı tuş vuruşunu işlemezse, kontrol bunu işler.

ActiveX Denetimleri