Udostępnij za pośrednictwem


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