Subclassed pola kombi

Podklasy jest to procedura, która umożliwia aplikacji do punktu przecięcia z osią i proces wiadomości wysyłane lub zaksięgowane do okna. Przy użyciu podklasy, aplikacja może zastąpić własnym przetwarzania niektórych komunikatów, pozostawiając większość przetwarzania procedury zdefiniowane klasy okno wiadomości.

Gdy system operacyjny tworzy okno, zapisuje informacje o w strukturze danych wewnętrznych, która zawiera dany adres procedury okna. Do podklasy okna aplikacja wywołuje funkcję SetClassLong na adres tej procedury należy zastąpić adres instancji procedury zdefiniowane przez aplikację podklasy. Po tej dacie wszystkie wiadomości, aby oknie są wysyłane do procedury podklasy. Procedura ta następnie używa funkcji CallWindowProc do przekazywania nieprzetworzonych wiadomości oryginalnej procedury okna. Aby zapoznać się z opisem przetwarzania wiadomości, wykonywane przez procedurę okna klasy COMBOBOX, zobacz Domyślne zachowanie pola kombi.

Jeśli pole kombi jest poza okno dialogowe, aplikacji nie procesu karcie, wprowadź i Ucieczka klucze, chyba że zastosowano procedurę podklasy. Kiedy proste lub rozwijanego kombi otrzymuje fokus, niezwłocznie ustawia fokus do jego podrzędne formantu edycyjnego. W związku z tym aplikacja musi podklasy formant edycyjny do przechwycenia klawiatury dla prostych lub rozwijanego kombi. Na przykład zobacz instacji pole kombi.

Jeśli przetwarza procedurę podklasy WM_PAINT wiadomości, to należy użyć BeginPaint funkcji do przygotowania do malowania. Przed wywoływaniem EndPaint funkcji, to przechodzi uchwyt kontekstu urządzenia (DC) jako parametr wParam procedurę okna. Jeśli EndPaint jest wywoływana po raz pierwszy, procedurę okna klasy nie nie malowanie, ponieważ EndPaint sprawdza poprawność całe okno.

Techniki związane z podklasy jest superclassing. Superklasy przypomina inne klasy, z zastrzeżeniem, że jego procedury okna nie wywoływać DefWindowProc do obsługi wiadomości nieprzetworzonych. Zamiast tego przekazaniem nieprzetworzonych wiadomości do procedury okna klasy okno nadrzędne. Postępuj zgodnie z wytycznymi w Oknie procedury w celu uniknięcia problemów, które mogą wystąpić z podklasy i superclassing.

Index