Niestandardowe formanty

Aplikacje można utworzyć niestandardowe formanty do wykonywania zadań nie obsługiwane przez formanty wstępnie zdefiniowanych. Win32 API udostępnia następujące sposoby przy tworzeniu niestandardowych formantów:

Użycie ciągnieniu na właściciela formantów

Przyciski, pola listy i pola kombi ma rysowane właściciela stylów dostępnych które bezpośrednich kontroli wysyłania wiadomości do okna nadrzędnego kontroli musi być narysowana. Ta funkcja pozwala aplikacji zmieniać wygląd formantu. W przypadku przycisków styl rysowania przez właściciela wpływa, jak system rysuje cały formant. Dla pola listy i pola kombi okno nadrzędne rysuje elementy wewnątrz formantu i kontroli rysuje własnej konspektu. Na przykład aplikacji można dostosować pole listy, tak aby wyświetlone bitmapę małych obok każdej pozycji na liście.

Aplikację można wyznaczyć pola listy, pola kombi i przyciski jako rysowane właściciela formantów tworząc je z odpowiedni styl. Jeśli formant ma styl rysowania przez właściciela, system obsługi interakcji użytkownika z kontrolą w zwykły sposób, wykonywanie takich zadań, jak wykrywanie, gdy użytkownik wybrał przycisku i powiadomienie właściciela przycisku zdarzenia. Jednakże ponieważ formant jest właścicielem rysowane, okno nadrzędne formantu jest odpowiedzialny za wygląd formantu. Aby uzyskać więcej informacji na temat rysowania przez właściciela formantów zobacz rysowane właściciel przycisków, pól rysowane właściciel listyi pola kombi rysowane właściciela.

Instacji klasy okno istniejącego formantu

Instacji istniejący formant jest innym sposobem tworzenia niestandardowego formantu. Procedura podklasy można zmieniać wybrane zachowania kontroli przez przetwarzanie tych wiadomości, które wpływają na wybranych zachowania. Wszystkie inne komunikaty przekazać do oryginalnej procedury okna dla formantu. Na przykład, aplikacja można wyświetlić bitmapę małych obok tekstu w formancie edycji tylko do odczytu, jednowierszowy instacji kontroli i przetwarzania WM_PAINT wiadomości. Aby uzyskać więcej informacji zobacz Okno procedury podklasy.

Chociaż aplikacja może podklasy wstępnie zdefiniowany formant, opiera się na procedurę okna formantu, aby dostarczyć wszelkich innych aspektów zachowanie formantu. Aby uzyskać więcej informacji o zachowanie formantu zobacz temat indywidualnych predefiniowanych kontroli.

Wdrażanie zdefiniowanych przez aplikację klasy okna

Proces rejestracji klasy zdefiniowane przez aplikację okna dla formantu niestandardowego jest taka sama dla rejestracji klasy dla zwykłego okna. Aby utworzyć formant niestandardowy, określając nazwę klasy okna w funkcji funkcji CreateWindowEx lub w szablonie pole dialogowe. Każda klasa musi mieć unikatową nazwę, odpowiednie procedury okna i innych informacji.

Co najmniej procedurę okna rysuje kontroli. Jeśli aplikacja używa formantu, aby umożliwić typu informacje, procedurę okna również przetworzy komunikaty wejściowe z klawiatury i myszy i wysyła komunikaty powiadamiające okno nadrzędne. Ponadto jeśli formant obsługuje komunikaty sterujące, procedurę okna przetwarza wiadomości wysyłane do niej przez okno nadrzędne lub innych okien. Na przykład formanty często przetwarzają wiadomość WM_GETDLGCODE wysyłane przez oknach dialogowych bezpośrednich okno dialogowe przetwarzania klawiatury w dany sposób.

Index