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