Aracılığıyla paylaş


AfxRegisterWndClass

Kendi pencere sınıflarına kaydetmenizi sağlar.

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

Parametreler

  • nClassStyle
    Windows sınıfı stili veya Bitsel or () kullanarak oluşturduğunuz stiller birleşimini belirtir.|) operatörü, pencere sınıfı. Sınıf stiller listesi için bkz: wndclass , yapı Windows SDK. null, varsayılan değerler aşağıdaki gibi ayarlayın:

    • Fare stilini ayarlar cs_dblclks, kullanıcı fareyi çift tıklattığında hangi gönderdiği iletileri pencere yordamı için çift tıklatın.

    • Windows standart imleç ok stilini ayarlar IDC_ARROW.

    • Arka plan fırça ayarlar null, böylece pencere arka silecek değil.

    • Standart, waving bayrağı Windows logo simgesini simge ayarlar.

  • hCursor
    Her pencere pencere sınıftan oluşturulmuş yüklenecek imleç kaynak tanıtıcısını belirtir. Varsayılan değerini kullanırsanız, 0, standart alırsınız IDC_ARROW imleç.

  • hbrBackground
    Her pencere pencere sınıftan oluşturulmuş yüklenecek fırça kaynak tanıtıcısını belirtir. Varsayılan değerini kullanırsanız, 0, sahip bir null arka fırça ve varsayılan değer olarak, kendi penceresinde değil silmek, arka plan işleme sırasında wm_erasebkgnd.

  • hIcon
    Pencere sınıftan oluşturulmuş her pencerede yüklenmiş simge kaynak tanıtıcısını belirtir. Varsayılan değerini kullanırsanız, 0, standart, waving bayrağı Windows logo simgesi alır.

Dönüş Değeri

Sınıf adı içeren bir boşlukla sonlandırılmış dize. Bu sınıf adı geçirebilirsiniz Create üye işlev CWnd veya diğer CWnd -türetilmiş sınıfları bir pencere oluşturmak için. Ad, Microsoft Foundation Class Library tarafından oluşturulur.

Not

Dönüş değeri, statik bir arabellek bir işaretçidir.Bu dize kaydetmek için ona atadığınız bir CString değişkeni.

Notlar

Microsoft Foundation Class Library birçok standart pencere sınıflarını sizin için otomatik olarak kaydeder. Kendi pencere sınıflarına kaydetmek isterseniz, bu işlevini çağırın.

Adı kayıtlı bir sınıf için AfxRegisterWndClass parametreleri yalnızca bağlıdır. Çağırırsanız, AfxRegisterWndClass birden çok kez aynı parametrelerle, yalnızca ilk çağrısında sınıf kaydeder. Sonraki aramalar için AfxRegisterWndClass ile aynı parametreleri yalnızca zaten kayıtlı SınıfAdı dönmek.

Çağırırsanız, AfxRegisterWndClass her sınıf için birden çok CWnd türetilmiş sınıfları her sınıf için ayrı pencere sınıfı almak yerine, aynı parametrelerle aynı pencere sınıfı paylaşır. Bu, sorunlara yol açabilir cs_classdc class stili kullanılır. Birden fazla yerine cs_classdc pencere sınıfı, nolu biriyle cs_classdc pencere sınıfı ve sınıf aynı dc paylaşmak kullanan tüm C++ windows. Bu sorunu önlemek için arama AfxRegisterClass sınıfını kaydedemiyor.

Teknik Notu'na bakın TN001: Pencere sınıf kaydı pencere sınıfı kayıt hakkında daha fazla bilgi ve AfxRegisterWndClass işlevi.

Örnek

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

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Kavramlar

mfc makrolar ve Globals