Udostępnij za pośrednictwem


AfxRegisterWndClass

Umożliwia rejestrowanie własne klasy okna.

LPCTSTR AFXAPI AfxRegisterWndClass(
   UINT nClassStyle,
   HCURSOR hCursor = 0,
   HBRUSH hbrBackground = 0,
   HICON hIcon = 0 
); 

Parametry

  • nClassStyle
    Określa styl klasy systemu Windows lub kombinacji style utworzone za pomocą logiczną lub)|) operator dla klasy okna.Listy stylów klasy, zobacz WNDCLASS struktury w Windows SDK.Jeśli NULL, domyślnych zostanie ustawiony w następujący sposób:

    • Ustawia styl myszy CS_DBLCLKS, który wysyła kliknij dwukrotnie wiadomości do procedury okna, gdy użytkownik kliknie dwukrotnie myszą.

    • Ustawia styl strzałki kursor standardowy Windows IDC_ARROW.

    • Ustawia tło pędzla na NULL, więc okna nie wymaże jego tła.

    • Ustawia ikona ikony standardowe, Flaga Macha logo systemu Windows.

  • hCursor
    Określa dojścia do zasobu kursor ma być zainstalowany w każde okno utworzony z klasy okna.Jeśli korzystasz z domyślnego 0, otrzymasz standard IDC_ARROW kursora.

  • hbrBackground
    Określa dojścia do zasobu pędzla do zainstalowania każdego okna utworzony z klasy okna.Jeśli korzystasz z domyślnego 0, będzie miał NULL pędzla tła i sieci będzie okno domyślnie nie wymazywania jego tła podczas przetwarzania WM_ERASEBKGND.

  • hIcon
    Określa dojścia do zasobu ikona ma być zainstalowany w każde okno utworzony z klasy okna.Jeśli korzystasz z domyślnego 0, zostanie wyświetlony standardowy, Flaga Macha ikona logo Windows.

Wartość zwracana

Ciąg zakończony zerem, zawierający nazwę klasy.Można przekazać nazwę tej klasy do Tworzenie funkcji składowej w CWnd lub innych CWnd -klasy utworzyć okna pochodne.Nazwa jest generowana przez Biblioteka klas Microsoft Foundation.

[!UWAGA]

Wartość zwracana jest wskaźnik do buforu statyczne.Aby zapisać ten ciąg, należy przypisać go do CString zmienna.

Uwagi

Biblioteka klas Microsoft Foundation automatycznie rejestruje kilka klas standardowego okna.Wywołanie tej funkcji, jeśli chcesz zarejestrować swoje własne klasy okna.

Nazwa zarejestrowana dla klasy przez AfxRegisterWndClass zależy wyłącznie od parametrów.Jeśli zadzwonisz AfxRegisterWndClass wiele razy z identycznymi parametrami rejestrowane tylko klasy na pierwsze wywołanie.Kolejne wywołania AfxRegisterWndClass z identycznymi parametrami po prostu zwrócenia classname już zarejestrowany.

Jeśli zadzwonisz AfxRegisterWndClass dla wielu klas pochodnych CWnd z identycznymi parametrami, zamiast pobierania klasy oddzielne okno dla każdej klasy każdej klasy udziałów tej samej klasy okna.Może to powodować problemy, jeśli CS_CLASSDC jest używany styl klasy.Zamiast wielu CS_CLASSDC na klasy okien końcu jedną CS_CLASSDC klasy okna i wszystkich okien C++ używające, że klasa udziału w tym samym kontrolerze domeny.Aby uniknąć tego problemu, należy wywołać AfxRegisterClass zarejestrować klasy.

Odnoszą się do Uwaga techniczna TN001: Rejestracja klas okno więcej informacji na temat rejestracji klasy okna i AfxRegisterWndClass funkcji.

Przykład

CString strMyClass;

// load stock cursor, brush, and icon for
// my own window class

try
{
   strMyClass = AfxRegisterWndClass(
      CS_VREDRAW | CS_HREDRAW,
      ::LoadCursor(NULL, IDC_ARROW),
      (HBRUSH) ::GetStockObject(WHITE_BRUSH),
      ::LoadIcon(NULL, IDI_APPLICATION));
}
catch (CResourceException* pEx)
{
   AfxMessageBox(_T("Couldn't register class! (Already registered?)"));
   pEx->Delete();
}

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Koncepcje

Makra MFC i Globals