WNDCLASS

wndclass yapısı RegisterClass işlevi tarafından kaydedilen pencere sınıfı öznitelikleri içerir.

Bu yapı RegisterClassEx işleviyle kullanılan wndclassex yapısı yerini almıştır. Pencere sınıfı ile ilgili küçük bir simge gerekmiyorsa wndclass ve RegisterClass kullanmaya devam edebilirsiniz.

typedef struct _wndclass {UINT tarzı; 
    wndproc lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    TANITICI HINSTANCE; 
    HICON hIcon; 
    hcursor hCursor; 
    hbrush hbrBackground; 
    lpctstr lpszMenuName; 
    lpctstr lpszClassName; 
} WNDCLASS 

 

Üyeler

stil
Sınıf tarzı belirtir. Bitsel or kullanarak stilleri birleştirilebilir (|) işleci. Bu üye aşağıdaki değerlerden herhangi bir birleşimi olabilir:
Değer Eylem
CS_BYTEALIGNCLIENT Pencerenin istemci alanı bayt sınırının (x yönünde) hizalar. Bu tarz pencere ve yatay konumunu görüntüleme genişliğini etkiler.
CS_BYTEALIGNWINDOW Bir bayt sınırının (x yönde) bir pencere hizalar. Bu tarz pencere ve yatay konumunu görüntüleme genişliğini etkiler.
CS_CLASSDC Sınıfta tüm windows tarafından paylaşılacak bir aygıt içeriğini ayırır. Pencere sınıflarını süreci belirli olduğundan, aynı sınıfın bir pencere oluşturmak için uygulama birden çok iş parçacığı için mümkündür. Aygıt içeriğini aynı anda kullanmak iş parçacıkları için mümkündür. Bu olduğunda, sistem onun çizim işlemini başarıyla tamamlamak yalnızca bir iş parçacığının sağlar. Daha fazla bilgi için bkz: Aygıt bağlamları.
CS_DBLCLKS Süre imleç sınıfına ait bir pencerede fare kullanıcı tıklattığında gönderdiği ileti penceresinin yordam çift tıklatın.
CS_GLOBALCLASS Cw_usedefault veya CreateWindowEx işlevine geçirilen HINSTANCE parametresinin değeri dikkate alınmaksızın sınıfının bir pencere oluşturmak için uygulama sağlar. Bu tarz belirtmezseniz, HINSTANCE parametresi Cw_usedefault (veya CreateWindowEx) işlevine geçirilen RegisterClass işleve HINSTANCE parametresi ile aynı olmalı.
Pencere sınıfı bir dinamik bağlantı kitaplığı (dll) oluşturup, kayıt defterinde aşağıdaki anahtarları altında dll adını listeleyen genel bir sınıf oluşturabilirsiniz:
HKEY_LOCAL_MACHINE\yazılım
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Bir işlem başlattığında sistem sürecine girdi noktası işlevini çağırmadan önce yeni başlamış süreci kapsamında belirtilen DLL yükler. dll sınıf sırasında onun başlatma yordamı kaydetmeniz gerekir ve cs_globalclass stili belirtmeniz gerekir.
CS_HREDRAW Bir hareketi veya boyutunu ayarlama istemci alanının genişliği değişirse tüm pencereyi yeniden çizer.
CS_NOCLOSE Pencere menüsünde Kapat devre dışı bırakır.
CS_OWNDC Her pencere sınıfı için bir benzersiz aygıt içeriği ayırır.
CS_PARENTDC Alt pencere kırpma bölgesinin üst pencere olan ayarlar, böylece alt üst çizebilirsiniz. cs_parentdc stil bit pencere normal aygıt içeriğini sistemin aygıt bağlamlarda önbellekten alır. O çocuk ebeveynin aygıt içeriğini veya aygıt içerik ayarları vermez. cs_parentdc belirterek, uygulamanın performansını artırır. Daha fazla bilgi için bkz: Aygıt bağlamları.
CS_SAVEBITS , Bir bitmap olarak bir pencere tarafından kapatmamasını ekran görüntüsü kısmını kaydeder. Sistem, pencere kaldırıldığında ekran görüntüsünü yeniden kaydedilmiş bitmap kullanır. Sistemin orijinal konumunda bitmap görüntüler ve does değil göndermek WM_PAINT iletileri Windows bitmap tarafından kullanılan bellek değil atıldı ve diğer ekran eylemlerini değil-geçersiz kılınan saklı resim eğer pencere tarafından kapatmamasını. Bu stili, kısa bir süre görüntülenir ve diğer ekran etkinliği gerçekleşmeden önce kaldırılmış küçük pencereler için (örneğin, menü veya iletişim kutuları) yararlıdır. Bu tarz sistem ilk bit eşlem depolamak için bellek ayırmak gerekir çünkü penceresini görüntülemek için gereken süreyi artırır.
CS_VREDRAW Bir hareketi veya boyutunu ayarlama istemci alanı yüksekliğine değişirse tüm pencereyi yeniden çizer.

lpfnWndProc
Pencere yordamı için işaretçi. Pencere yordamı çağırmak için CallWindowProc işlevini kullanmalısınız. Daha fazla bilgi için bkz: WindowProc.
cbClsExtra
Pencere sınıfı yapısı ek bayt sayısını belirtir. Sıfır bayt sistemi başlatır.
cbWndExtra
Pencere örneği ayrılacak ilave bayt sayısını belirtir. Sistem, sıfır bayt başlatır. Bir uygulama, kayıt kaynak dosyasında class yönergesi kullanılarak oluşturulan bir iletişim kutusu wndclass kullanıyorsa, bu üye DLGWINDOWEXTRA için ayarlanmalıdır.
hINSTANCE
Pencere bu sınıfın içinde yordamdır örneği ele.
hIcon
Sınıf simgesi kolu. Bu üye, bir simge kayna?ynyn bir tanıtıcı olmalıdır. Bu üye null ise, kullanıcı uygulama penceresini simge durumuna küçültür her uygulama simge çizmek gerekir.
hCursor
Sınıf imleç işleci. Bu üye, imleç kaynak tanıtıcı olmalıdır. Bu üye null ise, uygulamanın penceresine fare hareket her uygulama açıkça İmlecin şekli ayarlamalısınız.
hbrBackground
Sınıfın arka fırça için tanıtıcı. Bu üye için arka plan boyama için kullanılacak fiziksel fırça tanıtıcı olabilir veya bir renk değeri olabilir. Bir renk değeri (1 değerini seçtiğiniz renge eklenmelidir) aşağıdaki standart sistem renklerden biri olmalıdır. Bir renk değeri belirtilmezse, aşağıdaki hbrush türlerinden birine dönüştürmelisiniz:

COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT

Sistem otomatik olarak sınıf serbest sınıfın arka fırçalar siler. Bir sınıfın birden bir uygulama tarafından kullanılıyor olabilir çünkü bir uygulama bu fırçalar silmemeniz gerekir.

Bu üye null olduğunda, bir uygulama kendi istemci alanında boyamak için ister istemez kendi arka plan boya gerekir. Arka plan boyalı olup olmadığını belirlemek için bir uygulama wm_erasebkgnd iletiyi işlemek veya fErase üyesi sınav PAINTSTRUCT yapısı dolu tarafından BeginPaint işlevi.

lpszMenuName
Kaynak dosyada adı olarak sınıf menüsü, kaynak adını belirten bir boş sonlandırılmış karakter dize işaretçisi görünür. Menü tanımlamak için bir tamsayı kullanıyorsanız, MAKEINTRESOURCE makrosu kullanın. Bu üye null ise, bu sınıfa ait windows hiçbir varsayılan menü var.
lpszClassName
Bir boş sonlandırılmış dize işaretçisi veya atom. Bu parametre bir atom ise, önceki GlobalAddAtom işlev çağrısı kullanılarak oluşturulan bir küresel atom olmalıdır. Atom, 16 bitlik bir değer lpszClassNamealt sıra Word'de olmalıdır; yüksek sıralı sözcük sıfır olmalıdır.

LpszClassName bir dize ise, o pencere sınıfı adını belirtir.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:WINUSER.h ilan etti.
Unicode:Unicode ve ANSI yapılar tanımlanan.

Ayrıca bkz:

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

Index