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