Klavye odağını ve etkinleştirme

Sistem klavye iletileri ileti sırası penceresi ile klavye odağını oluşturan ön plan iş parçacığı nakleder. Klavye odağını , pencerenin geçici bir özelliktir. Sistem, kullanıcının yön, tek bir pencereden diğerine, klavye odağını kayması ile arasında tüm windows ekran klavye paylaşır. Klavye odağı olan pencere (ileti sırasından oluşturduğu iş parçacığı) aldığı farklı bir pencereye odağı alıncaya kadar tüm iletileri klavye.

Bir konu ki, Windows (varsa) belirlemek için odaklama işlevini çağırabilirsiniz klavye odağa sahip. Bir iş parçacığı SetFocus işlevini çağırarak klavye odağını pencereleri birine verebilir. Klavye odağını başka bir pencereden değiştiğinde sistem odak kaybetti ve sonra odak kazanmıştır pencereye wm_setfocus mesaj gönderen penceresine WM_KILLFOCUS ileti gönderir.

Klavye odağını kavramı, etkin pencere için ilişkilidir. Etkin pencereyi , kullanıcı ile çalışmakta üst düzey penceredir. Klavye odağını pencere etkin pencere veya etkin pencerenin alt pencere değil. Kullanıcının etkin pencereyi kolayca tanıyabileceğiniz şekilde sistem z sırası üstündeki yerleştirir ve Vurgulu kenarlık ve başlık çubuğu (varsa) yapar.

Kullanıcı bir üst düzey pencere, seçerek alt + sekme veya alt + esc tuş bileşimini kullanarak veya görev listesinden seçerek tıklatarak etkinleştirebilirsiniz. Bir iş parçacığı bir üst düzey pencere SetActiveWindow işlevini kullanarak etkinleştirebilirsiniz. GetActiveWindow işlevi kullanılarak oluşturulan en üst düzey pencere etkin olup olmadığını belirlemek için.

Bir pencere devre dışı kalır ve başka etkin olduğunda, sistem WM_ACTIVATE iletisi gönderir. Alt sıra kelime wParam parametresi sıfır ise, pencere etkinliği ve sıfır olmayan etkinleştirilmekte. Varsayılan pencere yordamı WM_ACTIVATE iletiyi aldığında, etkin pencereyi klavye odağını ayarlar.

Index