W tym poradniku opiszę część styli MFC w Visual C++. Nie są to wszystkie style, jest ich bardzo dużo, tutaj zademonstruję, tylko te, na które można się natrafić, modyfikując w pliki systemowe w Resource Hack'u, jest to świetny, darmowy program stworzony do modyfikacji plików źródłowych systemu Windows. Jeśli chcesz się dowiedzieć więcej o modyfikacji kodu plików systemowych, zapraszam do przeczytania
Resource Hacker - modyfikowanie plików systemowych. .
(Pominąłem również część styli okna WS (wymienię te, które wiążą się, z wymienionymi powyżej klasami) oraz style Dialogu.)
Nazwy klas
STATIC - zwykły statyczny element, zalicza się do niego: zwykły tekst, bitmapę, ikonę, i inne elementy, które po prostu są i oprócz tego nie mają żadnych funkcji.
EDIT - umieszcza pole, w którym trzeba wpisać jakiś tekst, np. lokalizację do pliku.
BUTTON - Tak jak w nazwie, jest to przycisk, np. typu "ok", "anuluj", "przeglądaj".
Style okna - Style okna tyczą się głównie budowy okna, lecz również wszystkich CONTROLi, (pominąłem te tyczące się okna).
Style odpowiadają za wygląd danych elementów, każda klasa, ma swoje własne style, a oto one:
STATIC
Styl |
Opis |
Styl |
Opis |
SS_LEFT |
wyrównuje tekst do lewej |
SS_NOPREFIX |
nie parsuje podkreślenia przed literą (jeśli wpiszemy "&" przed jakąś literą, podkreśli się) |
SS_CENTER |
wyśrodkowuje tekst |
SS_NOTIFY |
wysyła powiadomienia, nie używany dla normalnego tekstu |
SS_RIGHT |
wyrównuje tekst do prawej |
SS_CENTERIMAGE |
jeśli bitmapa jest za duża, w stosunku do szerokości CONTROLi, jest środkowana, a brzegi są obcinane |
SS_ICON |
odpowiada za umieszczenie ikony, w nazwie wpisujemy nazwę ikony zawartej w pliku |
SS_RIGHTJUST |
jeśli obrazek jest pomniejszany, wyrównuje się do lewego-górnego rogu |
SS_BLACKRECT |
dodaje czarne tło |
SS_REALSIZEIMAGE |
zalecane dla każdej bitmapy, lub innego pliku graficznego, określa rzeczywisty rozmiar obrazka |
SS_GRAYRECT |
dodaje szare tło |
SS_SUNKEN |
obrysowuje element pół-ramką od lewej do góry |
SS_WHITERECT |
dodaje białe tło |
SS_ENDELLIPSIS |
jeśli koniec tekstu nie mieści się w prostokącie, jest ucinany |
SS_BLACKFRAME |
dodaje czarną ramkę |
SS_PATHELLIPSIS |
skraca tekst, jeśli zawiera jakiś backslash (\), np. Ścieżkę do pliku |
SS_GRAYFRAME |
dodaje szarą ramkę |
SS_WORDELLIPSIS |
obcina każde słowo, które nie mieści się w prostokącie |
SS_WHITEFRAME |
dodaje białą ramkę |
SS_OWNERDRAW |
bierze odpowiedzialność za rysowanie |
SS_USERITEM |
określa rzecz zdefiniowaną przez użytkownika |
SS_ENHMETAFILE |
dodaje plik metafile, jest to plik graficzny, lecz używany w starszych systemach Windows |
SS_SIMPLE |
definiuje zwykły tekst, nie jest wyśrodkowywany itp. |
SS_ETCHEDHORZ |
rysuje dwie krawędzie na górze i na dole |
SS_LEFTNOWORDWRAP |
sprawia, że pisany tekst, nie bedzie zawijany, pod względem szerokości okna |
SS_ETCHEDVERT |
rysuje dwie krawędzie po lewej i po prawej |
SS_BITMAP |
odpowiada za umieszczenie bitmapy, w nazwie wpisujemy nazwę bitmapy zawartej w pliku |
SS_ETCHEDFRAME |
rysuje ramkę |
EDIT
Styl |
Opis |
Styl |
Opis |
ES_LEFT |
wyrównuje tekst do lewej |
ES_AUTOVSCROLL |
automatycznie przewija tekst w górę, kiedy użytkownik wciśnie ENTER, działa jeśli użyjemy ES_MULTILINE |
ES_CENTER |
wyśrodkowywuje tekst |
ES_AUTOHSCROLL |
przewija tekst w prawo, działa jeśli użyjemy ES_MULTILINE |
ES_RIGHT |
wyrównuje tekst do prawej |
ES_NOHIDESEL |
usuwa akcję ukrywania zaznaczenia |
ES_MULTILINE |
definiuje użycie wielu linii, na raz (domyślnie, to tylko jedna) |
ES_OEMCONVERT |
wpsiany tekst zamieniany jest z kodowania ANSI do OEM |
ES_UPPERCASE |
wszystkie litery wpisywane w pole, są zamieniane na duże litery |
ES_READONLY |
uniemożliwia użytkownikowi wpisanie czegokolwiek w pole |
ES_LOWERCASE |
wszystkie litery wpisywane w pole, są zamieniane na małe litery |
ES_WANTRETURN |
daje efekt, tylko przy użyciu wielu linii, bez tego stylu, naciśnięcie ENTER, spowoduje użycie domyślnego przycisku |
ES_PASSWORD |
wpisywany tekst jest zastępowywany gwiazdkami (*******) |
ES_NUMBER |
pozwala na użycie tylko, i wyłącznie cyfr w polu |
BUTTON
Styl |
Opis |
Styl |
Opis |
BS_PUSHBUTTON |
tworzy zwykły przycisk |
BS_ICON |
określa, że ikona może być użyta jako przycisk |
BS_DEFPUSHBUTTON |
tworzy przycisk z czarnym obramowaniem |
BS_BITMAP |
określa, że bitmapa może być użyta jako przycisk |
BS_CHECKBOX |
tworzy mały kwadrat do zaznaczenia |
BS_LEFT |
tekst w przycisku wyrównywany jest do lewej |
BS_AUTOCHECKBOX |
oznacza, że tylko jeden CHECKBOX w danej grupie można zaznaczyć |
BS_RIGHT |
tekst przycisku wyrównymwany jest do prawej |
BS_3STATE |
tworzy kwadrat do zaznaczenia, który może być odznaczony, zaznaczony, i w części zaznaczony |
BS_CENTER |
tekst w przycisku, jest wyśrodkowywany (w poziomie) |
BS_AUTO3STATE |
oznacza, że tylko jeden 3STATE można zaznaczyć w danej grupie |
BS_TOP |
tekst w przycisku jest obniżony do dołu |
BS_RADIOBUTTON |
tworzy małe kółko do zaznaczenia |
BS_BOTTOM |
tekst w przycisku jest podwyżony do góry |
BS_AUTORADIOBUTTON |
oznacza, że można zaznaczyć, tylko jeden RADIOBUTTON, w danej grupie |
BS_VCENTER |
wyśrodkowywuje tekst w pionie |
BS_GROUPBOX |
tworzy grupę przycisków do zaznaczenia, które mogą być zależne od siebie |
BS_PUSHLIKE |
kiedy najedziemy myszką na przycisk, podświetli się |
BS_USERBUTTON |
przestarzały styl, używany w 16-bitowych systemach, jego odpowiednikiem jest BS_OWNERDRAW |
BS_MULTILINE |
jeśli tekst nie mieści się w przycisku w jednej linii, pozwala na dodanie tekstu w kilku |
BS_OWNERDRAW |
tworzy przycisk typu OWNERDRAW |
BS_NOTIFY |
umożliwia przyciskowi wysyłanie powiadomień do okna rodzica |
BS_LEFTTEXT |
w kombinacji z przyciskami zaznaczenia, tekst zamiast po prawej, leży po lewej stronie od przycisku |
BS_FLAT |
określa, że przycisk jest dwuwymiarowy, nie tworzy cieni pod nim |
Style okna
Styl |
Opis |
Styl |
Opis |
WS_DISABLED |
tekst wygląda jak nieaktywny element (szara czcionka) |
WS_VISIBLE |
niezbędny do wyświetlenia elementu, określa widoczność |
WS_GROUP |
definiuje grupę CONTROLi |
WS_CHILD |
również niezbędny element linii, jeśli go nie wpiszemy, i tak automatycznie podczas kompilacji się doda |
WS_TABSTOP |
zatrzymuje działanie klawisza TAB, w oknie, nie jest używany dla statycznej CONTROLi, a dla stylu okna |
WS_BORDER |
podobnie jak SS_ETCHEDHORT, rysuje dwie krawędzie |
WS_VSCROLL |
dodaje pasek przewijania (pionowy), używany dla styli okna |
WS_CLIPSIBLINGS |
sprawia, że element jest na samym spodzie, inne wyświetlają się na nim |
WS_HCSROLL |
dodaje pasek przewijania (poziomy), używany dla styli okna |
|
|
Copyright © koleś git