共用方式為


AfxRegisterWndClass

可讓您註冊您自己的視窗類別。

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

參數

  • nClassStyle
    指定的視窗類別樣式或樣式,使用位元 OR (所建立的組合**|**) 運算子,該視窗類別。 如需類別樣式的清單,請參閱 WNDCLASS 結構Windows SDK。 如果 NULL,將設定預設值,如下所示:

    • 將滑鼠樣式設定成 CS_DBLCLKS,哪一個會傳送使用者按兩下滑鼠時,請按兩下視窗程序的訊息。

    • 將箭頭的游標樣式設定為 [Windows 標準 IDC_ARROW

    • 若要設定背景筆刷 NULL,所以視窗將不會清除其背景。

    • 將以標準且在旗標的 Windows 標誌圖示的圖示。

  • hCursor
    指定游標資源安裝在每個視窗類別建立的視窗控制代碼。 如果您使用預設值是 0,就會出現標準的 IDC_ARROW 資料指標。

  • hbrBackground
    指定安裝在每個視窗從該視窗類別建立的筆刷資源的控制代碼。 如果您使用預設值是 0,您必須 NULL 背景筆刷和視窗精神,根據預設,不能刪除其背景處理時 WM_ERASEBKGND

  • hIcon
    指定要安裝從該視窗類別建立的每個視窗的圖示資源的控制代碼。 如果您使用預設值是 0,就會出現標準且在旗標的 Windows 標誌圖示。

傳回值

包含類別名稱的 null 結尾字串。 您可以傳遞至這個類別名稱建立成員函式,在CWnd或其他 CWnd-衍生類別建立視窗。 名稱是由 Mfc 程式庫產生的。

注意事項注意事項

傳回值是靜態的緩衝區指標。若要儲存此字串,指派至CString變數。

備註

Mfc 程式庫會自動登錄數個標準視窗類別,讓您。 如果您想要註冊您自己的視窗類別,請呼叫此函式。

藉由類別名稱註冊AfxRegisterWndClass參數廣度而定。 如果您呼叫AfxRegisterWndClass多次具相同參數,它只能註冊類別上第一次的呼叫。 後續呼叫AfxRegisterWndClass具相同參數就只會傳回已註冊類別的名稱。

如果您呼叫AfxRegisterWndClass具相同參數,而不是為每個類別,取得另一個視窗類別的多個 CWnd 衍生類別的每個類別會共用相同的視窗類別。 這會造成問題,如果 CS_CLASSDC ,會使用類別樣式。 而不是多個 CS_CLASSDC 視窗類別之外,您最後得到一個 CS_CLASSDC 視窗類別,並使用類別共用相同的 DC 的所有 C++ 視窗。 若要避免這個問題,呼叫 AfxRegisterClass 來註冊類別。

請參閱技術提示TN001: 視窗類別註冊如需有關視窗類別註冊和AfxRegisterWndClass函式。

範例

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

需求

標頭: afxwin.h

請參閱

參考

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

概念

MFC 巨集和全域變數