TN070: nazwy klas okien MFC
Uwaga
Następująca uwaga techniczna nie została zaktualizowana, ponieważ została po raz pierwszy uwzględniona w dokumentacji online. W związku z tym niektóre procedury i tematy mogą być nieaktualne lub nieprawidłowe. Aby uzyskać najnowsze informacje, zaleca się wyszukanie interesującego tematu w indeksie dokumentacji online.
Okna MFC używają dynamicznie utworzonej nazwy klasy, która odzwierciedla funkcje okna. MFC dynamicznie generuje nazwy klas dla okien ramowych, widoków i okien podręcznych utworzonych przez aplikację. Okna dialogowe i kontrolki utworzone przez aplikację MFC mają nazwę podaną przez system Windows dla danej klasy okna.
Możesz zastąpić dynamicznie podaną nazwę klasy, rejestrując własną klasę okien i używając jej w przesłonięciu PreCreateWindow. Ich nazwy klas dostarczone przez MFC pasują do jednej z dwóch następujących form:
Afx:%x:%x
Afx:%x:%x:%x:%x:%x
Cyfry szesnastkowej, które zastępują %x
znaki, są wypełniane z danych ze struktury WNDCLASS . MFC używa tej techniki, aby wiele klas C++ wymagających identycznych struktur WNDCLASS mógł współdzielić tę samą zarejestrowaną klasę okien. W przeciwieństwie do większości prostych aplikacji Win32, aplikacje MFC mają tylko jeden WNDPROC, dzięki czemu można łatwo udostępniać struktury WNDCLASS , aby zaoszczędzić czas i pamięć. Zamienialne wartości dla %x
znaków przedstawionych powyżej są następujące:
WNDCLASS.hInstance
WNDCLASS.style
WNDCLASS.hCursor
WNDCLASS.hbrBackground
WNDCLASS.hIcon
Pierwszy formularz (Afx:%x:%x
) jest używany, gdy hCursor, hbrBackground i hIcon mają wartość NULL.
Zobacz też
Uwagi techniczne według numerów
Uwagi techniczne według kategorii
TN020: konwencje nazewnictwa i numerowania identyfikatorów