複製鏈接
請複製以下鏈接發送給好友

AfxRegisterWndClass

鎖定
AfxRegisterWndClass是函數原型為UINT nClassStyle的函數,AfxRegisterWndClass使您可以註冊您的窗口類。
外文名
AfxRegisterWndClass
函數原型
UINT nClassStyle
函數參數
nClassStyle
函數返回值
一個 NULL 終止的字符串

AfxRegisterWndClass函數原型

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

AfxRegisterWndClass函數參數

nClassStyle:指定樣式的窗口類樣式或組合,創建使用按位或 ( |) 運算符,窗口類的。 有關類樣式列表,請參見。 Windows SDK的 WNDCLASS 結構。 如果 該參數為NULL,窗口將會設置以下的默認值
*設置鼠標格式為CS_DBLLCKS,設置該屬性意味着當在窗口上雙擊的時候窗口處理函數將會受到雙擊消息
*設置鼠標的光標形式為Windows的標準的IDC_ARROW
*設置窗口的背景為NULL,也就是指該窗口不會擦除它的背景
*設置窗口的ICON為Windows標準的waving_flag的ICON
hCursor:指定句柄在每個窗口上安裝光標資源創建從窗口類。 如果使用 0默認值,您將收到標準 IDC_ARROW 光標。
hbrBackground:指定句柄在每個窗口上安裝畫筆資源創建從窗口類。 如果使用 0默認值,您將具有一個 NULL 背景畫筆,並且,如果您的窗口中,默認情況下,在處理 WM_ERASEBKGND時,不會清除其背景。
hIcon:指定句柄在每個窗口上安裝圖標資源創建從窗口類。 如果使用 0默認值,您將收到該條件,揮動標誌 windows 徽標圖標。

AfxRegisterWndClass函數返回值

包含類名稱的一個 NULL 終止的字符串。 可以將該類命名為在 CWnd 或其他 CWnd-派生類的 創建 成員函數創建一個窗口。

AfxRegisterWndClass其他信息

多個 Microsoft 基礎類庫的註冊標準 windows 為您自動類別。 ,如果需要註冊窗口類,請調用此函數。
類註冊的名稱由 AfxRegisterWndClass 僅取決於參數。 如果調用 AfxRegisterWndClass 具有相同的參數的多次,它在的類第一次調用只註冊。 對的後續調用具有相同的參數的AfxRegisterWndClass 返回已註冊的 classname。
如果調用 CWnd 派生的多線程的 AfxRegisterWndClass 類具有相同的參數,而不是獲取每個類的單獨窗口類,每個類都共享相同的窗口類。 ,如果使用,則可能會出現問題CS_CLASSDC 類樣式。 而不是多個 CS_CLASSDC 窗口類,則最終獲取一 CS_CLASSDC 窗口類和使用該類共享相同的 DC 的所有 C++ 窗口。 若要避免此問題,請調用註冊類。
請參見技術説明 TN001:windows選件類註冊 有關 windows 類註冊和 AfxRegisterWndClass 功能的更多信息。

AfxRegisterWndClass示例

CString strMyClass;// load stock cursor, brush, and icon for// my own window classtry{ 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( );}

AfxRegisterWndClass要求

Header: afxwin.h

AfxRegisterWndClass參考

CWnd::Create
CWnd::PreCreateWindow
WNDCLASS
AfxRegisterClass

AfxRegisterWndClass概念

MFC宏和Globals