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
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. |
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.
LpszClassName bir dize ise, o pencere sınıfı adını belirtir.
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.
Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT