Style używane przez MFC

Użyj następujących flag stylu, aby określić wygląd i zachowanie okna lub kontrolki podczas tworzenia odpowiedniego obiektu MFC. W większości przypadków te style są ustawiane w dwStyle parametrze funkcji klasy Create .

Style przycisku

Style przycisków mają zastosowanie do CButton Class obiektów, takich jak przyciski radiowe, pola wyboru i naciśnięcia. Określ kombinację stylów w parametrze dwStyle .CButton::Create Aby uzyskać więcej informacji na temat stylów przycisków w systemie Windows, zobacz Style przycisków (Windows).

Typy przycisków

W poniższej tabeli wymieniono typy przycisków. Opcjonalnie możesz wybrać jedną z następujących opcji. Jeśli nie określisz typu przycisku, wartość domyślna to BS_PUSHBUTTON.

Type Opis
BS_3STATE Tworzy przycisk pola wyboru z trzema stanami: BST_CHECKED, BST_INDETERMINATEi BST_UNCHECKED. Kliknięcie przycisku powoduje wysłanie BN_CLICKED powiadomienia do okna właściciela, ale nie powoduje zmiany stanu przycisku. Domyślnie skojarzony tekst jest wyświetlany po prawej stronie pola wyboru. Aby wyświetlić tekst po lewej stronie pola wyboru, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_AUTO3STATE Tworzy przycisk pola wyboru z trzema stanami: BST_CHECKED, BST_INDETERMINATEi BST_UNCHECKED. Kliknięcie przycisku spowoduje wysłanie BN_CLICKED powiadomienia do okna właściciela i zmianę stanu przycisku. Stan przycisku jest cyklem w kolejności BST_CHECKED, BST_INDETERMINATEi BST_UNCHECKED. Domyślnie skojarzony tekst jest wyświetlany po prawej stronie pola wyboru. Aby wyświetlić tekst po lewej stronie pola wyboru, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_AUTOCHECKBOX Tworzy przycisk pola wyboru z dwoma stanami: BST_CHECKED i BST_UNCHECKED. Kliknięcie przycisku spowoduje wysłanie BN_CLICKED powiadomienia do okna właściciela i zmianę stanu przycisku. Domyślnie skojarzony tekst jest wyświetlany po prawej stronie pola wyboru. Aby wyświetlić tekst po lewej stronie pola wyboru, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_AUTORADIOBUTTON Tworzy przycisk radiowy z dwoma stanami: BST_CHECKED i BST_UNCHECKED. Przyciski radiowe są zwykle używane w grupach, a każda grupa ma maksymalnie jedną zaznaczoną opcję jednocześnie. Kliknięcie przycisku spowoduje wysłanie BN_CLICKED powiadomienia do okna właściciela, ustawienie stanu klikniętego przycisku radiowego na BST_CHECKED, a następnie ustawienie stanów wszystkich innych przycisków radiowych w grupie przycisków na BST_UNCHECKEDwartość . Domyślnie skojarzony tekst jest wyświetlany po prawej stronie przycisku radiowego. Aby wyświetlić tekst po lewej stronie przycisku radiowego, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_CHECKBOX Tworzy przycisk pola wyboru z dwoma stanami: BST_CHECKED i BST_UNCHECKED. Kliknięcie przycisku powoduje wysłanie BN_CLICKED powiadomienia do okna właściciela, ale nie powoduje zmiany stanu przycisku. Domyślnie skojarzony tekst jest wyświetlany po prawej stronie pola wyboru. Aby wyświetlić tekst po lewej stronie pola wyboru, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_COMMANDLINK Tworzy przycisk linku polecenia. Przycisk linku polecenia jest przyciskiem polecenia specyficznym dla systemu Windows Vista, który wyświetla zieloną strzałkę po lewej stronie głównego tekstu i notatkę poniżej głównego tekstu. Tekst notatki można ustawić przy użyciu polecenia CButton::SetNote.
BS_DEFCOMMANDLINK Tworzy przycisk linku polecenia. Przycisk linku polecenia jest przyciskiem polecenia specyficznym dla systemu Windows Vista, który wyświetla zieloną strzałkę po lewej stronie głównego tekstu i notatkę poniżej głównego tekstu. Tekst notatki można ustawić przy użyciu polecenia CButton::SetNote. Jeśli przycisk znajduje się w oknie dialogowym, naciśnięcie BN_CLICKED klawisza ENTER wysyła powiadomienie do okna dialogowego nawet wtedy, gdy przycisk nie ma fokusu wejściowego.
BS_DEFPUSHBUTTON Tworzy przycisk polecenia, który ma duże czarne obramowanie. Jeśli przycisk znajduje się w oknie dialogowym, naciśnięcie BN_CLICKED klawisza ENTER wysyła powiadomienie do okna dialogowego nawet wtedy, gdy przycisk nie ma fokusu wejściowego.
BS_DEFSPLITBUTTON Tworzy przycisk podziału. Przycisk podziału jest przyciskiem polecenia specyficznym dla systemu Windows Vista, który zawiera przycisk sąsiadujący ze strzałką listy rozwijanej. Po kliknięciu przycisku zostanie wykonane domyślne polecenie. Po kliknięciu strzałki listy rozwijanej zostanie wyświetlone menu dodatkowych poleceń. Jeśli przycisk podziału znajduje się w oknie dialogowym, naciśnięcie BN_CLICKED klawisza ENTER wysyła powiadomienie do okna dialogowego nawet wtedy, gdy przycisk nie ma fokusu wejściowego
BS_GROUPBOX Tworzy prostokąt, w którym można grupować inne przyciski. Tekst skojarzony z tym stylem jest wyświetlany w lewym górnym rogu prostokąta.
BS_OWNERDRAW Tworzy przycisk rysowany przez właściciela. Struktura wywołuje metodę DrawItem po zmianie wizualnego aspektu przycisku. Ten styl należy ustawić podczas korzystania z CBitmapButton klasy .
BS_PUSHBUTTON Tworzy przycisk polecenia, który wysyła BN_CLICKED powiadomienie do okna właściciela po kliknięciu przycisku przez użytkownika.
BS_RADIOBUTTON Tworzy przycisk radiowy z dwoma stanami: BST_CHECKED i BST_UNCHECKED. Przyciski radiowe są zwykle używane w grupach, a każda grupa ma maksymalnie jedną zaznaczoną opcję jednocześnie. Kliknięcie przycisku powoduje wysłanie BN_CLICKED powiadomienia do okna właściciela, ale nie powoduje automatycznej zmiany stanu żadnego przycisku w grupie. Domyślnie skojarzony tekst jest wyświetlany po prawej stronie przycisku radiowego. Aby wyświetlić tekst po lewej stronie przycisku radiowego, użyj BS_LEFTTEXT stylu lub BS_RIGHTBUTTON .
BS_SPLITBUTTON Tworzy przycisk podziału. Przycisk podziału jest przyciskiem polecenia specyficznym dla systemu Windows Vista, który zawiera przycisk sąsiadujący ze strzałką listy rozwijanej. Po kliknięciu przycisku zostanie wykonane domyślne polecenie. Po kliknięciu strzałki listy rozwijanej zostanie wyświetlone menu dodatkowych poleceń.
BS_USERBUTTON Przestarzałe, ale zapewniane zgodność z 16-bitowymi wersjami systemu Windows. Zamiast tego należy używać BS_OWNERDRAW aplikacji opartych na systemie Win32.

Style przycisku radiowego i pola wyboru

W poniższej tabeli wymieniono style specyficzne dla przycisków radiowych i pól wyboru. Te style są ignorowane we wszystkich innych typach przycisków. Opcjonalnie możesz wybrać co najmniej jedną z poniższych opcji.

Styl opis
BS_LEFTTEXT W połączeniu z przyciskiem radiowym lub stylem pola wyboru tekst jest wyświetlany po lewej stronie przycisku radiowego lub pola wyboru.
BS_RIGHTBUTTON W połączeniu z przyciskiem radiowym lub stylem pola wyboru tekst jest wyświetlany po lewej stronie przycisku radiowego lub pola wyboru. Ten styl jest identyczny z stylem BS_LEFTTEXT .
BS_PUSHLIKE Sprawia, że pole wyboru lub przycisk radiowy wygląda i zachowuje się jak przycisk polecenia. Przycisk jest wyświetlany, gdy jego stan to BST_CHECKED, naciśnięty i wygaszony, gdy jego stan to BST_INDETERMINATE, i zwalniany, gdy jego stan to BST_UNCHECKED.

Style wyrównania tekstu przycisku

W poniższej tabeli wymieniono opcje wyrównania tekstu poziomego i pionowego. Opcjonalnie możesz wybrać jedną z następujących opcji.

Styl opis
BS_LEFT Lewy wyrównuje tekst w prostokątze przycisku. Jeśli jednak przycisk jest polem wyboru lub przyciskiem radiowym, który nie ma BS_RIGHTBUTTON stylu, tekst jest wyrównany po prawej stronie pola wyboru lub przycisku radiowego.
BS_RIGHT Prawy wyrównuje tekst w prostokątze przycisku. Jeśli jednak przycisk jest polem wyboru lub przyciskiem radiowym, który nie ma BS_RIGHTBUTTON stylu, tekst jest wyrównany do prawej strony pola wyboru lub przycisku radiowego.
BS_CENTER Wyśrodkuje tekst w poziomie w prostokątze przycisku.
BS_TOP Umieszcza tekst w górnej części prostokąta przycisku.
BS_BOTTOM Umieszcza tekst w dolnej części prostokąta przycisku.
BS_VCENTER Wyśrodkuje tekst w pionie w prostokątie przycisku.

Opcje zawartości przycisku

W poniższej tabeli wymieniono opcje wskazujące, co jest wyświetlane w przycisku. Typy przycisków, które wyświetlają tylko tekst, ignorują te style. Opcjonalnie możesz wybrać jedną z następujących opcji.

Styl opis
BS_BITMAP Określa, że przycisk wyświetla mapę bitową.
BS_ICON Określa, że przycisk wyświetla ikonę.
BS_TEXT Określa, że przycisk wyświetla tekst.

Inne opcje przycisku

W poniższej tabeli wymieniono dodatkowe opcje, których można używać z dowolnym typem przycisku. Opcjonalnie możesz wybrać co najmniej jedną z poniższych opcji.

Styl opis
BS_FLAT Określa, że przycisk jest dwuwymiarowy i nie jest rysowany z domyślnym cieniowaniem, aby utworzyć obraz trójwymiarowy.
BS_MULTILINE Zawija tekst przycisku do wielu wierszy, jeśli ciąg tekstowy jest zbyt długi, aby zmieścić się w jednym wierszu w prostokątze przycisku.
BS_NOTIFY Umożliwia przycisk wysyłania BN_DBLCLKkomunikatów z powiadomieniami , BN_KILLFOCUSi BN_SETFOCUS do okna nadrzędnego. Należy pamiętać, że przyciski wysyłają BN_CLICKED powiadomienie niezależnie od tego, czy ten styl jest określony.

Style pola kombi

Następujące style pola kombi są dostępne w MFC. Aby uzyskać więcej informacji na temat stylów pola kombi w systemie Windows, zobacz Style pól kombi (Windows).

Styl opis
CBS_AUTOHSCROLL Automatycznie przewija tekst w kontrolce edycji po prawej stronie, gdy użytkownik wpisze znak na końcu wiersza. Jeśli ten styl nie jest ustawiony, dozwolony jest tylko tekst pasujący do prostokątnej granicy.
CBS_DISABLENOSCROLL Pole listy zawiera wyłączony pionowy pasek przewijania, gdy pole listy nie zawiera wystarczającej ilości elementów do przewinięcia. Bez tego stylu pasek przewijania jest ukryty, gdy pole listy nie zawiera wystarczającej liczby elementów.
CBS_DROPDOWN Podobnie jak CBS_SIMPLE, z tą różnicą, że pole listy nie jest wyświetlane, chyba że użytkownik wybierze ikonę obok kontrolki edycji.
CBS_DROPDOWNLIST Podobnie jak CBS_DROPDOWN, z tą różnicą, że kontrolka edycji jest zastępowana elementem statycznym tekstowym, który wyświetla bieżące zaznaczenie w polu listy.
CBS_HASSTRINGS Pole kombi owner-draw zawiera elementy składające się z ciągów. Pole kombi przechowuje pamięć i wskaźniki dla ciągów, aby aplikacja mogła użyć GetText funkcji składowej do pobrania tekstu dla określonego elementu.
CBS_LOWERCASE Konwertuje na małe litery we wszystkich tekstach zarówno w polu zaznaczenia, jak i na liście.
CBS_NOINTEGRALHEIGHT Określa, że rozmiar pola kombi jest dokładnie rozmiar określony przez aplikację podczas tworzenia pola kombi. Zwykle system Windows rozmiaruje pole kombi tak, aby pole kombi nie wyświetlało częściowych elementów.
CBS_OEMCONVERT Tekst wprowadzony w kontrolce edycji pola kombi jest konwertowany z zestawu znaków ANSI na zestaw znaków OEM, a następnie z powrotem do ANSI. Zapewnia to właściwą konwersję znaków, gdy aplikacja wywołuje AnsiToOem funkcję systemu Windows, aby przekonwertować ciąg ANSI w polu kombi na znaki OEM. Ten styl jest najbardziej przydatny w przypadku pól kombi zawierających nazwy plików i dotyczy tylko pól kombi utworzonych za pomocą CBS_SIMPLE stylów lub CBS_DROPDOWN .
CBS_OWNERDRAWFIXED Właściciel pola listy jest odpowiedzialny za rysowanie jego zawartości; wszystkie elementy w polu listy są takie same.
CBS_OWNERDRAWVARIABLE Właściciel pola listy jest odpowiedzialny za rysowanie jego zawartości; elementy w polu listy są zmiennej wysokości.
CBS_SIMPLE Pole listy jest wyświetlane przez cały czas. Bieżące zaznaczenie w polu listy jest wyświetlane w kontrolce edycji.
CBS_SORT Automatycznie sortuje ciągi wprowadzone w polu listy.
CBS_UPPERCASE Konwertuje na wielkie litery całego tekstu zarówno w polu zaznaczenia, jak i na liście.

Edytuj style

Edytuj style mają zastosowanie do CEdit obiektów klasy . Określ kombinację stylów w parametrze dwStyle .CEdit::Create Aby uzyskać więcej informacji na temat edycji stylów kontrolek w systemie Windows, zobacz Edytowanie stylów kontrolek (Windows).

Styl opis
ES_AUTOHSCROLL Automatycznie przewija tekst po prawej stronie o 10 znaków, gdy użytkownik wpisze znak na końcu wiersza. Gdy użytkownik naciśnie klawisz ENTER, kontrolka przewija cały tekst z powrotem do pozycji 0.
ES_AUTOVSCROLL Automatycznie przewija tekst w górę o jedną stronę, gdy użytkownik naciska klawisz ENTER w ostatnim wierszu.
ES_CENTER Wyśrodkuje tekst w kontrolce edycji jednowierszowej lub wielowierszowej.
ES_LEFT Tekst wyrównany do lewej w kontrolce edycji jednowierszowej lub wielowierszowej.
ES_LOWERCASE Konwertuje wszystkie znaki na małe litery, gdy są wpisywane do kontrolki edycji.
ES_MULTILINE Wyznacza wielowierszową kontrolkę edycji. (Wartość domyślna to pojedynczy wiersz). ES_AUTOVSCROLL Jeśli styl jest określony, kontrolka edycji wyświetla jak najwięcej wierszy i przewija się w pionie, gdy użytkownik naciska klawisz ENTER. Jeśli ES_AUTOVSCROLL nie zostanie podana, kontrolka edycji wyświetla jak najwięcej wierszy i sygnałów dźwiękowych, jeśli klawisz ENTER jest naciskany, gdy nie można wyświetlić więcej wierszy. ES_AUTOHSCROLL Jeśli styl zostanie określony, kontrolka edycji wielowierszowej automatycznie przewija się w poziomie, gdy daszek przechodzi obok prawej krawędzi kontrolki. Aby uruchomić nowy wiersz, użytkownik musi nacisnąć klawisz ENTER. Jeśli ES_AUTOHSCROLL nie zostanie podana, kontrolka automatycznie opakowuje wyrazy na początku następnego wiersza, gdy jest to konieczne. W przypadku naciśnięcia klawisza ENTER zostanie również uruchomiony nowy wiersz. Położenie zawijania wyrazów zależy od rozmiaru okna. Jeśli rozmiar okna zmieni się, pozycja zawijania wyrazów zmieni się i tekst zostanie ponownie odtworzona. Kontrolki edycji wielu wierszy mogą zawierać paski przewijania. Kontrolka edycji z paskami przewijania przetwarza własne komunikaty paska przewijania. Edytuj kontrolki bez pasków przewijania zgodnie z opisem powyżej i przetwarzaj wszystkie komunikaty przewijania wysyłane przez okno nadrzędne.
ES_NOHIDESEL Zwykle kontrolka edycji ukrywa zaznaczenie, gdy kontrolka traci fokus wejściowy i odwraca zaznaczenie, gdy kontrolka odbiera fokus wejściowy. Określanie ES_NOHIDESEL tej akcji domyślnej powoduje usunięcie tej akcji domyślnej.
ES_NUMBER Umożliwia wprowadzenie tylko cyfr do kontrolki edycji.
ES_OEMCONVERT Tekst wprowadzony w kontrolce edycji jest konwertowany z zestawu znaków ANSI na zestaw znaków OEM, a następnie z powrotem na ANSI. Zapewnia to właściwą konwersję znaków, gdy aplikacja wywołuje AnsiToOem funkcję systemu Windows, aby przekonwertować ciąg ANSI w kontrolce edycji na znaki OEM. Ten styl jest najbardziej przydatny w przypadku kontrolek edycji zawierających nazwy plików.
ES_PASSWORD Wyświetla wszystkie znaki jako gwiazdkę (*), ponieważ są wpisywane w kontrolce edycji. Aplikacja może użyć funkcji składowej SetPasswordChar , aby zmienić wyświetlany znak.
ES_READONLY Uniemożliwia użytkownikowi wprowadzanie lub edytowanie tekstu w kontrolce edycji.
ES_RIGHT Wyrównuje tekst w prawo w kontrolce edycji jednowierszowej lub wielowierszowej.
ES_UPPERCASE Konwertuje wszystkie znaki na wielkie litery, gdy są wpisywane do kontrolki edycji.
ES_WANTRETURN Określa, że powrót karetki jest wstawiany, gdy użytkownik naciska klawisz ENTER podczas wprowadzania tekstu do kontrolki edycji wielu wierszy w oknie dialogowym. Bez tego stylu naciśnięcie klawisza ENTER ma taki sam efekt, jak naciśnięcie domyślnego klawisza okna dialogowego. Ten styl nie ma wpływu na kontrolkę edycji jednowierszowej.

Style okien ramowych

Style okien ramowych mają zastosowanie do CFrameWnd obiektów klasy . Określ kombinację stylów w parametrze dwStyle .CFrameWnd::Create

Styl opis
FWS_ADDTOTITLE Określa informacje, które mają być dołączane na końcu tytułu okna ramki. Na przykład "Microsoft Draw — Rysunek w dokumencie Document1". Możesz określić ciągi wyświetlane na karcie Ciągi szablonu dokumentu w Kreatorze aplikacji. Jeśli chcesz wyłączyć tę opcję, przesłoń funkcję składową CWnd::PreCreateWindow .
FWS_PREFIXTITLE Wyświetla nazwę dokumentu przed nazwą aplikacji w tytule okna ramowego. Na przykład "Dokument — WordPad". Możesz określić ciągi wyświetlane na karcie Ciągi szablonu dokumentu w Kreatorze aplikacji. Jeśli chcesz wyłączyć tę opcję, przesłoń funkcję składową CWnd::PreCreateWindow .
FWS_SNAPTOBARS Określa rozmiar okna ramowego, który otacza pasek sterowania, gdy znajduje się w przestawnym oknie, a nie zadokowany do okna ramowego. Ten styl określa rozmiar okna tak, aby pasował do paska sterowania.

Style pól listy

Style pól listy mają zastosowanie do CListBox obiektów klasy . Określ kombinację stylów w parametrze dwStyle .CListBox::Create Aby uzyskać więcej informacji na temat stylów pól listy w systemie Windows, zobacz List Box Styles (Windows).

Styl opis
LBS_DISABLENOSCROLL Pole listy zawiera wyłączony pionowy pasek przewijania, gdy pole listy nie zawiera wystarczającej ilości elementów do przewinięcia. Bez tego stylu pasek przewijania jest ukryty, gdy pole listy nie zawiera wystarczającej liczby elementów.
LBS_EXTENDEDSEL Użytkownik może wybrać wiele elementów przy użyciu klawisza SHIFT i kombinacji klawisza myszy lub klawisza specjalnego.
LBS_HASSTRINGS Określa pole listy właściciel-rysowanie, które zawiera elementy składające się z ciągów. Pole listy przechowuje pamięć i wskaźniki dla ciągów, aby aplikacja mogła użyć GetText funkcji składowej do pobrania tekstu dla określonego elementu.
LBS_MULTICOLUMN Określa pole listy wielokolumnowej, które jest przewijane w poziomie. Funkcja SetColumnWidth składowa ustawia szerokość kolumn.
LBS_MULTIPLESEL Wybór ciągu jest przełączany za każdym razem, gdy użytkownik kliknie lub dwukrotnie kliknie ciąg. Można wybrać dowolną liczbę ciągów.
LBS_NODATA Określa pole listy brak danych. Określ ten styl, gdy liczba elementów w polu listy przekroczy tysiąc. Pole listy bez danych musi mieć również LBS_OWNERDRAWFIXED styl, ale nie może mieć LBS_SORT stylu ani LBS_HASSTRINGS .

Pole listy bez danych przypomina pole listy narysowanej przez właściciela, z tą różnicą, że nie zawiera żadnych danych ciągów ani map bitowych dla elementu. Polecenia dodawania, wstawiania lub usuwania elementu zawsze ignorują wszystkie dane danego elementu; żądania znalezienia ciągu w polu listy zawsze kończą się niepowodzeniem. System wysyła WM_DRAWITEM komunikat do okna właściciela, gdy element musi zostać narysowany. Element itemID składowa DRAWITEMSTRUCT struktury przekazanej z komunikatem WM_DRAWITEM określa numer wiersza elementu, który ma zostać narysowany. Pole listy brak danych nie wysyła komunikatu WM_DELETEITEM .
LBS_NOINTEGRALHEIGHT Rozmiar pola listy jest dokładnie rozmiarem określonym przez aplikację podczas tworzenia pola listy. Zazwyczaj system Windows rozmiaruje pole listy, tak aby pole listy nie wyświetlało częściowych elementów.
LBS_NOREDRAW Wyświetlanie pola listy nie jest aktualizowane po wprowadzeniu zmian. Ten styl można zmienić w dowolnym momencie, wysyłając WM_SETREDRAW wiadomość.
LBS_NOSEL Określa, że pole listy zawiera elementy, które można wyświetlić, ale nie są zaznaczone.
LBS_NOTIFY Okno nadrzędne odbiera komunikat wejściowy za każdym razem, gdy użytkownik kliknie lub kliknie dwukrotnie ciąg.
LBS_OWNERDRAWFIXED Właściciel pola listy jest odpowiedzialny za rysowanie jego zawartości; elementy w polu listy mają taką samą wysokość.
LBS_OWNERDRAWVARIABLE Właściciel pola listy jest odpowiedzialny za rysowanie jego zawartości; elementy w polu listy są zmiennej wysokości.
LBS_SORT Ciągi w polu listy są sortowane alfabetycznie.
LBS_STANDARD Ciągi w polu listy są sortowane alfabetycznie, a okno nadrzędne otrzymuje komunikat wejściowy za każdym razem, gdy użytkownik kliknie lub dwukrotnie kliknie ciąg. Pole listy zawiera obramowania po wszystkich stronach.
LBS_USETABSTOPS Umożliwia pole listy rozpoznawanie i rozwijanie znaków tabulacji podczas rysowania ciągów. Domyślne pozycje kart to 32 jednostki okien dialogowych. (Jednostka okna dialogowego to odległość pozioma lub pionowa. Jedna pozioma jednostka okna dialogowego jest równa jednej czwartej bieżącej jednostki szerokości bazowej okna dialogowego. Jednostki podstawowe okna dialogowego są obliczane na podstawie wysokości i szerokości bieżącej czcionki systemowej. Funkcja GetDialogBaseUnits systemu Windows zwraca bieżące jednostki podstawowe okna dialogowego w pikselach. Ten styl nie powinien być używany z LBS_OWNERDRAWFIXED.
LBS_WANTKEYBOARDINPUT Właściciel pola listy odbiera WM_VKEYTOITEM lub WM_CHARTOITEM komunikaty za każdym razem, gdy użytkownik naciska klawisz, gdy pole listy ma fokus wejściowy. Dzięki temu aplikacja może wykonywać specjalne przetwarzanie danych wejściowych klawiatury.

Style okna komunikatów

Style okna komunikatów mają zastosowanie do AfxMessageBox elementów. Określ kombinację stylów w parametrze nType .AfxMessageBox Aby uzyskać więcej informacji na temat stylów okien komunikatów w systemie Windows, zobacz MessageBox Funkcja (Windows).

Dostępne są następujące style okna komunikatów.

Typy pól komunikatów

Styl opis
MB_ABORTRETRYIGNORE Pole komunikatu zawiera trzy przyciski push: Abort, Retry i Ignore.
MB_OK Pole komunikatu zawiera jeden przycisk pushbutton: OK.
MB_OKCANCEL Pole komunikatu zawiera dwa przyciski push: OK i Anuluj.
MB_RETRYCANCEL Pole komunikatu zawiera dwa przyciski push: Ponów próbę i Anuluj.
MB_YESNO Pole komunikatu zawiera dwa przyciski push: Tak i Nie.
MB_YESNOCANCEL Pole komunikatu zawiera trzy przyciski push: Tak, Nie i Anuluj.

Modalność pola komunikatów

Styl opis
MB_APPLMODAL Użytkownik musi odpowiedzieć na okno komunikatu przed kontynuowaniem pracy w bieżącym oknie. Użytkownik może jednak przejść do okien innych aplikacji i pracować w tych oknach. Wartość domyślna to MB_APPLMODAL , jeśli ani nie zostanie określona, ani MB_SYSTEMMODALMB_TASKMODAL nie zostanie określona.
MB_SYSTEMMODAL Wszystkie aplikacje są zawieszone, dopóki użytkownik nie odpowie na okno komunikatu. Modalne pola komunikatów są używane do powiadamiania użytkownika o poważnych, potencjalnie szkodliwych błędach, które wymagają natychmiastowej uwagi i powinny być używane oszczędnie.
MB_TASKMODAL Podobnie jak MB_APPLMODALelement , ale nie jest przydatny w aplikacji klasy Microsoft Foundation. Ta flaga jest zarezerwowana dla aplikacji wywołującej lub biblioteki, która nie ma dostępnego uchwytu okna.

Ikony okna komunikatów

Styl opis
MB_ICONEXCLAMATION Ikona wykrzyknika jest wyświetlana w polu komunikatu.
MB_ICONINFORMATION Ikona składająca się z "I" w okręgu pojawia się w polu komunikatu.
MB_ICONQUESTION W polu komunikatu zostanie wyświetlona ikona znaku zapytania.
MB_ICONSTOP W oknie komunikatu zostanie wyświetlona ikona zatrzymania.

Przyciski domyślne pola komunikatów

Styl opis
MB_DEFBUTTON1 Pierwszy przycisk jest domyślny. Należy pamiętać, że pierwszy przycisk jest zawsze domyślny, chyba że MB_DEFBUTTON2 określono lub MB_DEFBUTTON3 jest określony.
MB_DEFBUTTON2 Drugi przycisk jest domyślny.
MB_DEFBUTTON3 Trzeci przycisk jest domyślny.

Style paska przewijania

Style paska przewijania mają zastosowanie do CScrollBar obiektów klasy . Określ kombinację stylów w parametrze dwStyle .CScrollBar::Create Aby uzyskać więcej informacji na temat stylów kontrolek paska przewijania w systemie Windows, zobacz Style kontrolek paska przewijania (Windows).

Styl opis
SBS_BOTTOMALIGN Używany ze stylem SBS_HORZ . Dolna krawędź paska przewijania jest wyrównana do dolnej krawędzi prostokąta określonego w funkcji składowej Create . Pasek przewijania ma domyślną wysokość pasków przewijania systemu.
SBS_HORZ Wyznacza poziomy pasek przewijania. Jeśli nie określono ani SBS_BOTTOMALIGNSBS_TOPALIGN stylu, pasek przewijania ma wysokość, szerokość i położenie podane w funkcji składowej Create .
SBS_LEFTALIGN Używany ze stylem SBS_VERT . Lewa krawędź paska przewijania jest wyrównana do lewej krawędzi prostokąta określonego w funkcji składowej Create . Pasek przewijania ma domyślną szerokość pasków przewijania systemu.
SBS_RIGHTALIGN Używany ze stylem SBS_VERT . Prawa krawędź paska przewijania jest wyrównana do prawej krawędzi prostokąta określonego w funkcji składowej Create . Pasek przewijania ma domyślną szerokość pasków przewijania systemu.
SBS_SIZEBOX Wyznacza pole rozmiaru. Jeśli nie określono ani stylu, pole rozmiaru SBS_SIZEBOXBOTTOMRIGHTALIGNSBS_SIZEBOXTOPLEFTALIGN ma wysokość, szerokość i położenie podane w funkcji składowej Create .
SBS_SIZEBOXBOTTOMRIGHTALIGN Używany ze stylem SBS_SIZEBOX . Prawy dolny róg pola rozmiaru jest wyrównany do prawego dolnego rogu prostokąta określonego w funkcji składowej Create . Pole rozmiaru ma domyślny rozmiar pól rozmiaru systemu.
SBS_SIZEBOXTOPLEFTALIGN Używany ze stylem SBS_SIZEBOX . Lewy górny róg pola rozmiaru jest wyrównany do lewego górnego rogu prostokąta określonego w funkcji składowej Create . Pole rozmiaru ma domyślny rozmiar pól rozmiaru systemu.
SBS_SIZEGRIP Taki sam jak SBS_SIZEBOX, ale z podniesioną krawędzią.
SBS_TOPALIGN Używany ze stylem SBS_HORZ . Górna krawędź paska przewijania jest wyrównana do górnej krawędzi prostokąta określonego w funkcji składowej Create . Pasek przewijania ma domyślną wysokość pasków przewijania systemu.
SBS_VERT Wyznacza pionowy pasek przewijania. Jeśli nie określono ani SBS_RIGHTALIGNSBS_LEFTALIGN stylu, pasek przewijania ma wysokość, szerokość i położenie podane w funkcji składowej Create .

Style statyczne

Style statyczne mają zastosowanie do CStatic obiektów klasy . Określ kombinację stylów w parametrze dwStyle .CStatic::Create Aby uzyskać więcej informacji na temat statycznych stylów kontrolek w systemie Windows, zobacz Statyczne style kontrolek (Windows).

Styl opis
SS_BITMAP Określa, że mapa bitowa ma być wyświetlana w kontrolce statycznej. Podany tekst jest nazwą mapy bitowej (a nie nazwy pliku) zdefiniowanej gdzie indziej w pliku zasobu. Styl ignoruje parametry nWidth i nHeight; kontrolka automatycznie rozmiaruje się, aby pomieścić mapę bitową.
SS_BLACKFRAME Określa pole z ramką rysowaną z tym samym kolorem co ramki okienne. Wartość domyślna to czarny.
SS_BLACKRECT Określa prostokąt wypełniony kolorem używanym do rysowania ramek okien. Wartość domyślna to czarny.
SS_CENTER Wyznacza prosty prostokąt i wyświetla dany tekst wyśrodkowany w prostokąt. Tekst jest sformatowany przed jego wyświetleniem. Wyrazy, które rozszerzałyby koniec wiersza, są automatycznie owinięte na początku następnego wyśrodkowanego wiersza.
SS_CENTERIMAGE Określa, że jeśli mapa bitowa lub ikona jest mniejsza niż obszar klienta statycznej kontrolki, reszta obszaru klienta jest wypełniona kolorem piksela w lewym górnym rogu mapy bitowej lub ikony. Jeśli kontrolka statyczna zawiera pojedynczy wiersz tekstu, tekst jest wyśrodkowany w pionie w obszarze klienta kontrolki.
SS_ENDELLIPSIS lub SS_PATHELLIPSIS zastępuje część danego ciągu wielokropkiem, jeśli to konieczne, aby wynik mieścił się w określonym prostokątze.

Można określić SS_END_ELLIPSIS , aby zastąpić znaki na końcu ciągu lub SS_PATHELLIPSIS zastąpić znaki w środku ciągu. Jeśli ciąg zawiera znaki ukośnika odwrotnego (\), SS_PATHELLIPSIS zachowuje jak najwięcej tekstu po ostatnim ukośniku odwrotnym.
SS_ENHMETAFILE Określa rozszerzony metaplik ma być wyświetlany w kontrolce statycznej. Podany tekst jest nazwą metapliku. Ulepszona kontrolka statyczna metapliku ma stały rozmiar; metaplik jest skalowany w celu dopasowania do obszaru klienta kontrolki statycznej.
SS_ETCHEDFRAME Rysuje ramkę kontrolki statycznej przy użyciu EDGE_ETCHED stylu krawędzi.
SS_ETCHEDHORZ Rysuje górne i dolne krawędzie kontrolki statycznej przy użyciu EDGE_ETCHED stylu krawędzi.
SS_ETCHEDVERT Rysuje lewe i prawe krawędzie kontrolki statycznej przy użyciu EDGE_ETCHED stylu krawędzi.
SS_GRAYFRAME Określa pole z ramką rysowaną z tym samym kolorem co tło ekranu (pulpit). Wartość domyślna to szary.
SS_GRAYRECT Określa prostokąt wypełniony kolorem używanym do wypełnienia tła ekranu. Wartość domyślna to szary.
SS_ICON Wyznacza ikonę wyświetlaną w oknie dialogowym. Podany tekst jest nazwą ikony (nie nazwy pliku) zdefiniowanej gdzie indziej w pliku zasobu. Parametry nWidth i nHeight są ignorowane; ikona automatycznie rozmiaruje się.
SS_LEFT Wyznacza prosty prostokąt i wyświetla tekst z lewej strony w prostokątze. Tekst jest sformatowany przed jego wyświetleniem. Wyrazy, które rozszerzałyby koniec wiersza, są automatycznie opakowane na początku następnego wiersza z lewej strony.
SS_LEFTNOWORDWRAP Wyznacza prosty prostokąt i wyświetla tekst z lewej strony w prostokątze. Karty są rozwinięte, ale wyrazy nie są opakowane. Tekst, który rozszerza koniec wiersza, jest obcięty.
SS_NOPREFIX Jeśli ten styl nie zostanie określony, system Windows zinterpretuje wszelkie znaki ampersand (&) w tekście kontrolki jako znaki prefiksu akceleratora. W tym przypadku znak ampersand jest usuwany, a następny znak w ciągu jest podkreślony. Jeśli kontrolka statyczna ma zawierać tekst, w którym ta funkcja nie jest poszukiwana, SS_NOPREFIX może zostać dodana. Ten styl statycznej kontrolki może być dołączony do dowolnych zdefiniowanych kontrolek statycznych. Możesz połączyć SS_NOPREFIX się z innymi stylami przy użyciu operatora bitowego OR. Jest to najczęściej używane, gdy nazwy plików lub inne ciągi, które mogą zawierać znaki i muszą być wyświetlane w statycznej kontrolce w oknie dialogowym.
SS_NOTIFY Wysyła okno STN_CLICKEDnadrzędne , , STN_DBLCLKSTN_DISABLEi STN_ENABLE powiadomienia, gdy użytkownik kliknie lub kliknie dwukrotnie kontrolkę.
SS_OWNERDRAW Określa, że właściciel kontrolki statycznej jest odpowiedzialny za rysowanie kontrolki. Okno właściciela otrzymuje WM_DRAWITEM komunikat za każdym razem, gdy kontrolka musi zostać narysowana.
SS_REALSIZEIMAGE Zapobiega zmianie rozmiaru statycznej ikony lub kontrolki mapy bitowej (czyli statycznych kontrolek mających SS_ICON styl lub SS_BITMAP ) podczas ładowania lub narysowania. Jeśli ikona lub mapa bitowa jest większa niż obszar docelowy, obraz zostanie obcięty.
SS_RIGHT Wyznacza prosty prostokąt i wyświetla dany tekst w prawo w prostokątze. Tekst jest sformatowany przed jego wyświetleniem. Wyrazy, które rozszerzałyby koniec wiersza, są automatycznie owinięte na początku następnego wiersza z prawej strony.
SS_RIGHTJUST Określa, że prawy dolny róg kontrolki statycznej z SS_BITMAP stylem lub SS_ICON ma pozostać stały po zmianie rozmiaru kontrolki. Tylko górna i lewa strona są dostosowywane, aby pomieścić nową mapę bitową lub ikonę.
SS_SIMPLE Wyznacza prosty prostokąt i wyświetla pojedynczy wiersz tekstu w lewo w prostokątze. Nie można w żaden sposób skrócić ani zmienić wiersza tekstu. (Okno nadrzędne lub okno dialogowe kontrolki nie może przetworzyć komunikatu WM_CTLCOLOR ).
SS_SUNKEN Rysuje pół zatopione obramowanie wokół statycznej kontrolki.
SS_USERITEM Określa element zdefiniowany przez użytkownika.
SS_WHITEFRAME Określa pole z ramką rysowaną z tym samym kolorem co tło okna. Wartość domyślna to biały.
SS_WHITERECT Określa prostokąt wypełniony kolorem używanym do wypełnienia tła okna. Wartość domyślna to biały.
SS_WORDELLIPSIS Obcina tekst, który nie pasuje i dodaje wielokropek.

Style okien

Style okien mają zastosowanie do CWnd obiektów klasy . Określ kombinację stylów w parametrze dwStyle elementu CWnd::Create lub CWnd::CreateEx. Aby uzyskać więcej informacji na temat stylów okien w systemie Windows, zobacz Style okien (Windows).

Styl opis
WS_BORDER Tworzy okno z obramowaniem.
WS_CAPTION Tworzy okno z paskiem tytułu (oznacza WS_BORDER styl). Nie można używać z stylem WS_DLGFRAME .
WS_CHILD Tworzy okno podrzędne. Nie można używać z stylem WS_POPUP .
WS_CHILDWINDOW Tak samo jak WS_CHILD styl.
WS_CLIPCHILDREN Wyklucza obszar zajmowany przez okna podrzędne podczas rysowania w oknie nadrzędnym. Używane podczas tworzenia okna nadrzędnego.
WS_CLIPSIBLINGS Klipy okien podrzędnych względem siebie; oznacza to, że gdy określone okno podrzędne otrzymuje komunikat malowania, WS_CLIPSIBLINGS style klipy wszystkie pozostałe nakładające się okna podrzędne poza region okna podrzędnego, które mają zostać zaktualizowane. (Jeśli WS_CLIPSIBLINGS okna podrzędne nie nakładają się na siebie, podczas rysowania w obszarze klienta okna podrzędnego można rysować w obszarze klienta sąsiedniego okna podrzędnego). Do użycia tylko z stylem WS_CHILD .
WS_DISABLED Tworzy okno, które jest początkowo wyłączone.
WS_DLGFRAME Tworzy okno z podwójnym obramowaniem, ale bez tytułu.
WS_GROUP Określa pierwszą kontrolkę grupy kontrolek, w której użytkownik może przejść z jednej kontrolki do następnej za pomocą klawiszy strzałek. Wszystkie kontrolki zdefiniowane za pomocą WS_GROUP stylu FALSE po pierwszej kontrolce należą do tej samej grupy. Następna kontrolka ze stylem WS_GROUP rozpoczyna następną grupę (czyli jedną grupę kończy się, gdzie rozpoczyna się następny).
WS_HSCROLL Tworzy okno z poziomym paskiem przewijania.
WS_ICONIC Tworzy okno, które jest początkowo zminimalizowane. Tak samo jak WS_MINIMIZE styl.
WS_MAXIMIZE Tworzy okno o maksymalnym rozmiarze.
WS_MAXIMIZEBOX Tworzy okno z przyciskiem Maksymalizuj.
WS_MINIMIZE Tworzy okno, które jest początkowo zminimalizowane. Do użycia tylko z stylem WS_OVERLAPPED .
WS_MINIMIZEBOX Tworzy okno z przyciskiem Minimalizuj.
WS_OVERLAPPED Tworzy nakładające się okno. Nakładające się okno zwykle ma podpis i obramowanie.
WS_OVERLAPPEDWINDOW Tworzy nakładające się okno z stylami WS_OVERLAPPED, , WS_CAPTION, WS_SYSMENUWS_THICKFRAME, WS_MINIMIZEBOXi WS_MAXIMIZEBOX .
WS_POPUP Tworzy okno podręczne. Nie można używać z stylem WS_CHILD .
WS_POPUPWINDOW Tworzy okno podręczne z stylami WS_BORDER, WS_POPUPi WS_SYSMENU . Styl WS_CAPTION musi być połączony ze stylem WS_POPUPWINDOW , aby menu Kontrolka było widoczne.
WS_SIZEBOX Tworzy okno z obramowaniem rozmiaru. Tak samo jak WS_THICKFRAME styl.
WS_SYSMENU Tworzy okno z polem Menu sterowania na pasku tytułu. Używane tylko w przypadku okien z paskami tytułu.
WS_TABSTOP Określa jedną z dowolnej liczby kontrolek, za pomocą których użytkownik może poruszać się przy użyciu klawisza TAB. Klawisz TAB przenosi użytkownika do następnej kontrolki określonej przez WS_TABSTOP styl.
WS_THICKFRAME Tworzy okno z grubą ramką, której można użyć do rozmiaru okna.
WS_TILED Tworzy nakładające się okno. Nakładające się okno ma pasek tytułu i obramowanie. Tak samo jak WS_OVERLAPPED styl.
WS_TILEDWINDOW Tworzy nakładające się okno z stylami WS_OVERLAPPED, , WS_CAPTION, WS_SYSMENUWS_THICKFRAME, WS_MINIMIZEBOXi WS_MAXIMIZEBOX . Tak samo jak WS_OVERLAPPEDWINDOW styl.
WS_VISIBLE Tworzy okno, które początkowo jest widoczne.
WS_VSCROLL Tworzy okno z pionowym paskiem przewijania.

Rozszerzone style okien

Rozszerzone style okien mają zastosowanie do CWnd obiektów klasy . Określ kombinację stylów w parametrze dwExStyle .CWnd::CreateEx Aby uzyskać więcej informacji na temat rozszerzonych stylów okien w systemie Windows, zobacz Rozszerzone style okien (Windows).

Styl opis
WS_EX_ACCEPTFILES Określa, że okno utworzone za pomocą tego stylu akceptuje pliki przeciągania i upuszczania.
WS_EX_APPWINDOW Wymusza okno najwyższego poziomu na pasku zadań, gdy okno jest widoczne.
WS_EX_CLIENTEDGE Określa, że okno ma wygląd 3D — czyli obramowanie ze zatopioną krawędzią.
WS_EX_CONTEXTHELP Zawiera znak zapytania na pasku tytułu okna. Gdy użytkownik kliknie znak zapytania, kursor zmieni się na znak zapytania ze wskaźnikiem. Jeśli użytkownik kliknie okno podrzędne, element podrzędny otrzyma WM_HELP komunikat.
WS_EX_CONTROLPARENT Umożliwia użytkownikowi nawigowanie między oknami podrzędnym okna okna przy użyciu klawisza TAB.
WS_EX_DLGMODALFRAME Wyznacza okno z podwójnym obramowaniem, które może (opcjonalnie) zostać utworzone z paskiem tytułu podczas określania WS_CAPTION flagi stylu w parametrze dwStyle .
WS_EX_LAYERED Okno to okno warstwowe. Nie można użyć tego stylu, jeśli okno ma stylCS_OWNDC klasy lub CS_CLASSDC. Jednak system Microsoft Windows 8 obsługuje WS_EX_LAYERED styl dla okien podrzędnych, gdzie poprzednie wersje systemu Windows obsługują go tylko w przypadku okien najwyższego poziomu.
WS_EX_LEFT Nadaje właściwości ogólne okna wyrównane do lewej. Jest to opcja domyślna.
WS_EX_LEFTSCROLLBAR Umieszcza pionowy pasek przewijania po lewej stronie obszaru klienta.
WS_EX_LTRREADING Wyświetla tekst okna z właściwościami kolejności odczytu od lewej do prawej. Jest to opcja domyślna.
WS_EX_MDICHILD Tworzy okno podrzędne MDI.
WS_EX_NOPARENTNOTIFY Określa, że okno podrzędne utworzone za pomocą tego stylu nie będzie wysyłać komunikatu WM_PARENTNOTIFY do okna nadrzędnego po utworzeniu lub zniszczeniu okna podrzędnego.
WS_EX_OVERLAPPEDWINDOW Łączy style WS_EX_CLIENTEDGE i WS_EX_WINDOWEDGE
WS_EX_PALETTEWINDOW Łączy style WS_EX_WINDOWEDGE i .WS_EX_TOPMOST
WS_EX_RIGHT Nadaje okno ogólne właściwości wyrównane do prawej. Zależy to od klasy okna.
WS_EX_RIGHTSCROLLBAR Umieszcza pionowy pasek przewijania (jeśli jest obecny) po prawej stronie obszaru klienta. Jest to opcja domyślna.
WS_EX_RTLREADING Wyświetla tekst okna przy użyciu właściwości kolejności odczytu od prawej do lewej.
WS_EX_STATICEDGE Tworzy okno z trójwymiarowym stylem obramowania, które ma być używane dla elementów, które nie akceptują danych wejściowych użytkownika.
WS_EX_TOOLWINDOW Tworzy okno narzędzia, które jest oknem przeznaczonym do użycia jako przestawny pasek narzędzi. Okno narzędzia ma pasek tytułu krótszy niż normalny pasek tytułu, a tytuł okna jest rysowany przy użyciu mniejszej czcionki. Okno narzędzia nie jest wyświetlane na pasku zadań lub w oknie wyświetlanym po naciśnięciu klawisza ALT+TAB przez użytkownika.
WS_EX_TOPMOST Określa, że okno utworzone za pomocą tego stylu powinno zostać umieszczone powyżej wszystkich nietopernych okien i pozostać nad nimi nawet wtedy, gdy okno jest dezaktywowane. Aplikacja może użyć funkcji składowej SetWindowPos , aby dodać lub usunąć ten atrybut.
WS_EX_TRANSPARENT Określa, że okno utworzone za pomocą tego stylu ma być przezroczyste. Oznacza to, że wszystkie okna, które znajdują się pod oknem, nie są zasłonięte przez okno. Okno utworzone za pomocą tego stylu odbiera WM_PAINT komunikaty dopiero po zaktualizowaniu wszystkich okien równorzędnych.
WS_EX_WINDOWEDGE Określa, że okno ma obramowanie z podniesioną krawędzią.

Zobacz też

Omówienie klasy MFC
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
Style przycisków (Windows)
Style pola kombi (Windows)
Edytowanie stylów kontrolek (Windows)
Style pola listy (Windows)
MessageBox Funkcja (Windows)
Style kontrolek paska przewijania (Windows)
Statyczne style kontrolek (Windows)
Style okien (Windows)
Rozszerzone style okien (Windows)