Bir imleç görüntüleme

Sistem otomatik olarak sınıf imleci (için imleç işaret penceresi ile ilişkilendirilmiş imleç) görüntüler. Pencere sınıfı kaydedilirken bir sınıf imleç atayabilirsiniz. Aşağıdaki örnekte, bir imleç işleci wc parametresi tarafından tanımlanan wndclass yapısı hCursor üyesi atayarak bu gösterilmektedir.

Wndclass wc; 
 
/ / Pencere sınıf yapısı parametreleri ile doldurmak, / / ana penceresini açıklar. 
 
WC.style = null;                        / / sınıf tarzı wc.lpfnWndProc (wndproc) MainWndProc; = / / pencere yordamı wc.cbClsExtra = 0;           / / Hayır sınıf başına ilave veri wc.cbWndExtra = 0;           / / no başına pencere ilave veri wc.hInstance hinst; =        / / sınıf wc.hIcon sahibi uygulamaya = LoadIcon (null, IDI_&APPLICATION);     / / simge wc.hCursor sınıf LoadCursor (hinst, MAKEINTRESOURCE(230)); = / / imleç wc.hbrBackground sınıf = GetStockObject(WHITE_BRUSH); / / arka wc.lpszMenuName class = "GenericMenu";               / / Menü wc.lpszClassName sınıf = "GenericWClass" / / sınıf adı / / pencere sınıfı kayıt. 
 
RegisterClass(amp;wc) dönüş 

 

Pencere sınıfı kaydedildiğinde, 230 uygulamanın kaynak-tanım dosyasında tanımlanan imleç varsayılan imleç tüm pencereleri, sınıfını esas olacak.

Uygulamanız, SetCursor işlevini kullanarak ve farklı imleç tanıtıcı belirterek imleç tasarımını değiştirebilirsiniz. Yeniden imleci hareket ettiğinde, ancak sistem sınıfı imleci yeni konumda çizer. Sınıf imleç yeniden düzenlenmiş önlemek için wm_setcursor ileti işleme gerekir. Her zaman imleç taşır ve fare girişi değil yakalanır, sistemi, imleci hareket ediyor pencereye bu iletiyi gönderir.

Wm_setcursor işlenirken farklı imleçler için farklı koşullar belirtebilirsiniz. Örneğin, aşağıdaki örnek hCurs3 imleç bir simge durumuna küçültülmüş uygulaması simgesinin üzerine imleci taşır zaman görüntülemek gösterilmiştir.

case wm_setcursor: / / hCurs3 imleci pencerenin simge durumuna küçültülmüş çizin. 
    / / Pencere simge durumuna küçültülmüş değil varsayılan çizim / / imleç (sınıf imleç). 
 
    Eğer (IsIconic(hwnd)) {SetCursor(hCurs3); 
        Break; 
    } 

 

Pencere simge durumuna küçültülmüş değil sistem sınıfı imleç görüntüler.

SetClassLong işlevini kullanarak bir sınıfın imleç değiştirebilirsiniz. Bu işlev, belirli bir sınıfın tüm windows varsayılan pencere ayarlarını değiştirir. Aşağıdaki örnek hCurs2 imleç varolan sınıf imleci değiştirir.

/ / Hwnd tarafından temsil edilen pencere sınıfı için imleci değiştirme. 
 
SetClassLong (hwnd, / / pencere kolu gcl_hcursor, / / imleç (uzun) hCurs2 değiştirin);   / / yeni imleç 

 

Daha fazla bilgi için bkz: Pencere sınıfları ve Fare girişi.

Index