Sdílet prostřednictvím


AfxRegisterWndClass

Umožňuje zaregistrovat vlastní třídy okna.

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

Parametry

  • nClassStyle
    Určuje kombinaci stylů, které jsou vytvořeny pomocí bitového operátoru OR (nebo třída stylu systému Windows**|**) operátor pro třídu okna.Seznam stylů tříd naleznete WNDCLASS struktury v Windows SDK.Pokud NULL, výchozí hodnoty se stanoví takto:

    • Nastaví styl myši CS_DBLCLKS, který odesílá zprávy do procedury okna poklepáním při poklepání myší.

    • Šipka styl kurzoru nastaví standardní Windows IDC_ARROW.

    • Nastaví pozadí stopy NULL, takže okna nesmí smazat jeho pozadí.

    • Určuje ikonu na ikonu logo standard, Mávající příznak Windows.

  • hCursor
    Určuje popisovač prostředku kurzor k montáži do každé okno vytvořené ze třídy okna.Pokud používáte výchozí 0, zobrazí se standardní IDC_ARROW kurzor.

  • hbrBackground
    Určuje popisovač prostředku štětec k montáži do každé okno vytvořené ze třídy okna.Pokud používáte výchozí 0, budete mít NULL pozadí štětec a budou vaše okna, ve výchozím nastavení, nelze vymazat pozadí při zpracování WM_ERASEBKGND.

  • hIcon
    Určuje popisovač k prostředku ikonu pro každé okno vytvořené ze třídy okna.Pokud používáte výchozí 0, zobrazí se ikona standard, Mávající příznak logo systému Windows.

Vrácená hodnota

Řetězec zakončený hodnotou null obsahující název třídy.Předáte název této třídy vytvořit členské funkce v CWnd nebo jiných CWnd -odvozené třídy vytvořit okno.Název je vytvořen pomocí knihovny Microsoft Foundation Class.

[!POZNÁMKA]

Vrácená hodnota je ukazatel na statické.Pokud chcete uložit tento řetězec, je přiřadit CString proměnné.

Poznámky

Knihovny Microsoft Foundation Class automaticky zaregistruje několik tříd standardní okno pro vás.Pokud chcete registrovat vlastní třídy okna, volejte tuto funkci.

Název registrován pro třídu podle AfxRegisterWndClass závisí výhradně na parametry.Pokud zavoláte AfxRegisterWndClass několikrát s stejné parametry pouze registruje třídu na první volání.Následující volání AfxRegisterWndClass s stejné parametry jednoduše vraťte classname již registrován.

Pokud zavoláte AfxRegisterWndClass pro více CWnd odvozené třídy s stejné parametry, místo třídy samostatné okno pro každou třídu, každá třída sdílí stejnou třídu oken.To může způsobit potíže, pokud CS_CLASSDC třídy styl se používá.Místo více CS_CLASSDC okno třídy skončit s jedním CS_CLASSDC okno třídy a všechna okna C++ používající třídy sdílet stejný řadič domény.Chcete-li se tomuto problému vyhnout, volejte AfxRegisterClass zaregistrovat tuto třídu.

Naleznete v technické poznámce TN001: Registrace tříd oken Další informace o registraci třídy oken a AfxRegisterWndClass funkce.

Příklad

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();
}

Požadavky

Hlavička: afxwin.h

Viz také

Referenční dokumentace

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Koncepty

MFC – makra a globální prvky