Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Foundation Sınıf Kitaplığı'ndaki tüm pencere sınıflarının temel işlevselliğini sağlar.
Sözdizimi
class CWnd : public CCmdTarget
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CWnd::CWnd |
Bir CWnd nesne oluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CWnd::accDoDefaultAction |
Nesnenin varsayılan eylemini gerçekleştirmek için çerçeve tarafından çağrılır. |
CWnd::accHitTest |
Ekranın belirli bir noktasında alt öğeyi veya alt nesneyi almak için çerçeve tarafından çağrılır. |
CWnd::accLocation |
Belirtilen nesnenin geçerli ekran konumunu almak için çerçeve tarafından çağrılır. |
CWnd::accNavigate |
Kapsayıcı içindeki başka bir kullanıcı arabirimi öğesine geçiş yapmak ve mümkünse nesnesini almak için çerçeve tarafından çağrılır. |
CWnd::accSelect |
Seçileni değiştirmek veya belirtilen nesnenin klavye odağını taşımak için çerçeve tarafından çağrılır. |
CWnd::AnimateWindow |
İlişkili pencere nesnesine animasyon ekler. |
CWnd::ArrangeIconicWindows |
Simge durumuna küçültülmüş (ikonik) tüm alt pencereleri düzenler. |
CWnd::Attach |
Bir nesneye CWnd Windows tanıtıcısı ekler. |
CWnd::BeginModalState |
Çerçeve penceresini kalıcı hale getirmek için bu üye işlevini çağır. |
CWnd::BeginPaint |
Boyamaya CWnd hazırlanır. |
CWnd::BindDefaultProperty |
Çağıran nesnenin varsayılan basit sınır özelliğini tür kitaplığında işaretlenmiş olarak veri kaynağı denetimiyle ilişkilendirilmiş bir imleçle bağlar. |
CWnd::BindProperty |
Veriye bağlı denetimdeki bir imleç bağlı özelliğini bir veri kaynağı denetimine bağlar ve bu ilişkiyi MFC bağlama yöneticisiyle kaydeder. |
CWnd::BringWindowToTop |
Çakışan pencere yığınının en üstüne getirir CWnd . |
CWnd::CalcWindowRect |
İstemci dikdörtgeninden pencere dikdörtgenini hesaplamak için çağrılır. |
CWnd::CancelToolTips |
Araç ipucu denetimini devre dışı bırakır. |
CWnd::CenterWindow |
Bir pencereyi üst öğeye göre ortalar. |
CWnd::ChangeClipboardChain |
Pano görüntüleyicileri CWnd zincirinden kaldırır. |
CWnd::CheckDlgButton |
Düğme denetiminin yanına onay işareti yerleştirir veya onay işaretini kaldırır. |
CWnd::CheckRadioButton |
Belirtilen radyo düğmesini denetler ve belirtilen düğme grubundaki diğer tüm radyo düğmelerinden onay işaretini kaldırır. |
CWnd::ChildWindowFromPoint |
Alt pencerelerden hangisinin (varsa) belirtilen noktayı içerdiğini belirler. |
CWnd::ClientToScreen |
Ekrandaki belirli bir noktanın veya dikdörtgenin istemci koordinatlarını ekran koordinatlarına dönüştürür. |
CWnd::CloseWindow |
Pencereyi simge durumuna küçültür. |
CWnd::ContinueModal |
Pencerenin kalıcı durumuna devam eder. |
CWnd::Create |
Nesneyle CWnd ilişkili alt pencereyi oluşturur ve başlatır. |
CWnd::CreateAccessibleProxy |
Belirtilen nesne için bir Etkin Erişilebilirlik ara sunucusu oluşturur. |
CWnd::CreateCaret |
Sistem şapka işareti için yeni bir şekil oluşturur ve şapka işaretinin sahipliğini alır. |
CWnd::CreateControl |
Bir nesne tarafından bir MFC programında temsil edilecek bir CWnd ActiveX denetimi oluşturun. |
CWnd::CreateEx |
Windows örtüşen, açılan pencere veya alt pencere oluşturur ve bunu bir CWnd nesneye ekler. |
CWnd::CreateGrayCaret |
Sistem şapka işareti için gri bir blok oluşturur ve şapka işaretinin sahipliğini alır. |
CWnd::CreateSolidCaret |
Sistem şapka işareti için sağlam bir blok oluşturur ve şapka işaretinin sahipliğini alır. |
CWnd::DeleteTempMap |
Boşta kalma zamanı işleyicisi tarafından CWinApp otomatik olarak çağrılır ve tarafından FromHandleoluşturulan geçici CWnd nesneleri siler. |
CWnd::DestroyWindow |
Ekli Windows penceresini yok eder. |
CWnd::Detach |
Bir Nesneden CWnd Bir Windows tutamacını ayırır ve tanıtıcıyı döndürür. |
CWnd::DlgDirList |
Liste kutusunu bir dosya veya dizin listesiyle doldurur. |
CWnd::DlgDirListComboBox |
Birleşik giriş kutusunun liste kutusunu bir dosya veya dizin listesiyle doldurur. |
CWnd::DlgDirSelect |
Liste kutusundan geçerli seçimi alır. |
CWnd::DlgDirSelectComboBox |
Birleşik giriş kutusunun liste kutusundan geçerli seçimi alır. |
CWnd::DragAcceptFiles |
Pencerenin sürüklenen dosyaları kabul edeceği gösterir. |
CWnd::DragDetect |
Fareyi yakalar ve kullanıcı sol düğmeyi serbest bırakana, ESC tuşuna basana veya fareyi belirtilen nokta etrafında sürükleme dikdörtgeninin dışına taşıyana kadar hareketini izler. |
CWnd::DrawAnimatedRects |
Bir tel çerçeve dikdörtgeni çizer ve bir simgenin açılmasını veya bir pencerenin en aza indirilmesi veya en üst düzeye çıkarılması için buna animasyon ekler. |
CWnd::DrawCaption |
Resim yazısı çizer. |
CWnd::DrawMenuBar |
Menü çubuğunu yeniden çizer. |
CWnd::EnableActiveAccessibility |
Kullanıcı tanımlı Active Accessibility işlevleri etkinleştirir. |
CWnd::EnableDynamicLayout |
Kullanıcı pencereyi yeniden boyutlandırdığında alt pencerelerin konumunun ve boyutunun dinamik olarak ayarlanmasını sağlar. |
CWnd::EnableD2DSupport |
Pencere D2D desteğini etkinleştirir veya devre dışı bırakır. Ana pencere başlatılmadan önce bu yöntemi çağırın. |
CWnd::EnableScrollBar |
Kaydırma çubuğunun bir veya her iki oklarını etkinleştirir veya devre dışı bırakır. |
CWnd::EnableScrollBarCtrl |
Eşdüzey kaydırma çubuğu denetimini etkinleştirir veya devre dışı bırakır. |
CWnd::EnableToolTips |
Araç ipucu denetimini etkinleştirir. |
CWnd::EnableTrackingToolTips |
İzleme modunda araç ipucu denetimini etkinleştirir. |
CWnd::EnableWindow |
Fare ve klavye girişini etkinleştirir veya devre dışı bırakır. |
CWnd::EndModalLoop |
Pencerenin kalıcı durumunu sonlandırır. |
CWnd::EndModalState |
Bu üye işlevini çağırarak bir çerçeve penceresini kalıcı olandan modeless olarak değiştirin. |
CWnd::EndPaint |
Boyamanın sonunu işaretler. |
CWnd::ExecuteDlgInit |
bir iletişim kutusu kaynağı başlatır. |
CWnd::FilterToolTipMessage |
İletişim kutusundaki bir denetimle ilişkilendirilmiş başlığı veya metni alır. |
CWnd::FindWindow |
Pencere adı ve pencere sınıfıyla tanımlanan pencerenin tutamacını döndürür. |
CWnd::FindWindowEx |
Pencere adı ve pencere sınıfıyla tanımlanan pencerenin tutamacını döndürür. |
CWnd::FlashWindow |
Pencereyi bir kez yanıp söner. |
CWnd::FlashWindowEx |
Pencereyi ek işlevlerle yanıp söner. |
CWnd::FromHandle |
Pencereye tanıtıcı CWnd verildiğinde nesneye bir işaretçi döndürür. Bir CWnd nesne tanıtıcıya bağlı değilse, geçici CWnd bir nesne oluşturulur ve eklenir. |
CWnd::FromHandlePermanent |
Pencereye tanıtıcı CWnd verildiğinde nesneye bir işaretçi döndürür. |
CWnd::get_accChild |
Belirtilen alt öğenin arabiriminin IDispatch adresini almak için çerçeve tarafından çağrılır. |
CWnd::get_accChildCount |
Bu nesneye ait alt öğe sayısını almak için çerçeve tarafından çağrılır. |
CWnd::get_accDefaultAction |
Nesnenin varsayılan eylemini açıklayan bir dizeyi almak için çerçeve tarafından çağrılır. |
CWnd::get_accDescription |
Belirtilen nesnenin görsel görünümünü açıklayan bir dizeyi almak için çerçeve tarafından çağrılır. |
CWnd::get_accFocus |
Klavye odağı olan nesneyi almak için çerçeve tarafından çağrılır. |
CWnd::get_accHelp |
Bir nesnenin Help özellik dizesini almak için çerçeve tarafından çağrılır. |
CWnd::get_accHelpTopic |
Belirtilen nesneyle ilişkili dosyanın tam yolunu WinHelp ve bu dosya içindeki uygun konunun tanımlayıcısını almak için çerçeve tarafından çağrılır. |
CWnd::get_accKeyboardShortcut |
Belirtilen nesnenin kısayol tuşunu veya erişim tuşunu almak için çerçeve tarafından çağrılır. |
CWnd::get_accName |
Belirtilen nesnenin adını almak için çerçeve tarafından çağrılır. |
CWnd::get_accParent |
Nesnenin üst arabirimini IDispatch almak için çerçeve tarafından çağrılır. |
CWnd::get_accRole |
Belirtilen nesnenin rolünü açıklayan bilgileri almak için çerçeve tarafından çağrılır. |
CWnd::get_accSelection |
Bu nesnenin seçili alt öğelerini almak için çerçeve tarafından çağrılır. |
CWnd::get_accState |
Belirtilen nesnenin geçerli durumunu almak için çerçeve tarafından çağrılır. |
CWnd::get_accValue |
Belirtilen nesnenin değerini almak için çerçeve tarafından çağrılır. |
CWnd::GetActiveWindow |
Etkin pencereyi alır. |
CWnd::GetAncestor |
Belirtilen pencerenin üst pencere nesnesini alır. |
CWnd::GetCapture |
Fare yakalaması CWnd olan öğesini alır. |
CWnd::GetCaretPos |
Şapka işaretinin geçerli konumunun istemci koordinatlarını alır. |
CWnd::GetCheckedRadioButton |
Bir düğme grubundaki o anda denetlenen radyo düğmesinin kimliğini döndürür. |
CWnd::GetClientRect |
İstemci alanının boyutlarını CWnd alır. |
CWnd::GetClipboardOwner |
Pano'nun geçerli sahibine yönelik bir işaretçi alır. |
CWnd::GetClipboardViewer |
Pano görüntüleyicileri zincirindeki ilk pencerenin işaretçisini alır. |
CWnd::GetControlUnknown |
Bilinmeyen bir ActiveX denetiminin işaretçisini alır. |
CWnd::GetDC |
İstemci alanı için bir görüntüleme bağlamı alır. |
CWnd::GetDCEx |
İstemci alanı için bir görüntüleme bağlamı alır ve çizim sırasında kırpmayı etkinleştirir. |
CWnd::GetDCRenderTarget |
Pencere için cihaz bağlamı (DC) işleme hedefini CWnd alır. |
CWnd::GetDescendantWindow |
Tüm alt pencereleri arar ve belirtilen kimliğe sahip pencereyi döndürür. |
CWnd::GetDesktopWindow |
Windows masaüstü penceresini alır. |
CWnd::GetDlgCtrlID |
CWnd bir alt pencereyse, bu işlevin çağrılması kimlik değerini döndürür. |
CWnd::GetDlgItem |
Belirtilen iletişim kutusundan belirtilen kimlikle denetimi alır. |
CWnd::GetDlgItemInt |
Verilen iletişim kutusundaki denetimin metnini tamsayı değerine çevirir. |
CWnd::GetDlgItemText |
Bir denetimle ilişkili resim yazısını veya metni alır. |
CWnd::GetDSCCursor |
Veri kaynağı denetiminin DataSource, UserName, Password ve SQL özellikleri tarafından tanımlanan temel imlecin işaretçisini alır. |
CWnd::GetDynamicLayout |
Dinamik düzen yöneticisi nesnesine bir işaretçi alır. |
CWnd::GetExStyle |
Pencerenin genişletilmiş stilini döndürür. |
CWnd::GetFocus |
CWnd Şu anda giriş odağına sahip olan öğesini alır. |
CWnd::GetFont |
Geçerli yazı tipini alır. |
CWnd::GetForegroundWindow |
Ön plan penceresine (kullanıcının çalışmakta olduğu en üst düzey pencere) bir işaretçi döndürür. |
CWnd::GetIcon |
Tutamacı bir simgeye alır. |
CWnd::GetLastActivePopup |
Sahip olduğu açılır pencerenin CWnd en son etkin olduğunu belirler. |
CWnd::GetLayeredWindowAttributes |
Katmanlı bir pencerenin opaklık ve saydamlık renk anahtarını alır. |
CWnd::GetMenu |
Belirtilen menünün işaretçisini alır. |
CWnd::GetNextDlgGroupItem |
Bir denetim grubu içinde sonraki (veya önceki) denetimi arar. |
CWnd::GetNextDlgTabItem |
Belirtilen denetimi izleyen (veya öncesinde) stile WS_TABSTOP sahip ilk denetimi alır. |
CWnd::GetNextWindow |
Pencere yöneticisinin listesindeki sonraki (veya önceki) pencereyi döndürür. |
CWnd::GetOleControlSite |
Belirtilen ActiveX denetimi için özel siteyi alır. |
CWnd::GetOpenClipboardWindow |
Pano'nun açık olduğu pencerenin işaretçisini alır. |
CWnd::GetOwner |
sahibine yönelik bir CWndişaretçi alır. |
CWnd::GetParent |
(varsa) öğesinin CWnd üst penceresini alır. |
CWnd::GetParentFrame |
Nesnenin CWnd üst çerçeve penceresini alır. |
CWnd::GetParentOwner |
Alt pencerenin üst penceresine bir işaretçi döndürür. |
CWnd::GetProperty |
ActiveX denetimi özelliğini alır. |
CWnd::GetRenderTarget |
Bu pencereyle ilişkili bir işleme hedefi alır. |
CWnd::GetSafeHwnd |
İşaretçi NULL ise this , veya NULL döndürürm_hWnd. |
CWnd::GetSafeOwner |
Verilen pencerenin güvenli sahibini alır. |
CWnd::GetScrollBarCtrl |
Eşdüzey kaydırma çubuğu denetimi döndürür. |
CWnd::GetScrollBarInfo |
Belirtilen kaydırma çubuğu hakkındaki bilgileri alır. |
CWnd::GetScrollInfo |
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLINFO alır. |
CWnd::GetScrollLimit |
Kaydırma çubuğunun sınırını alır. |
CWnd::GetScrollPos |
Kaydırma kutusunun geçerli konumunu alır. |
CWnd::GetScrollRange |
Verilen kaydırma çubuğu için geçerli en düşük ve en yüksek kaydırma çubuğu konumlarını kopyalar. |
CWnd::GetStyle |
Geçerli pencere stilini döndürür. |
CWnd::GetSystemMenu |
Uygulamanın kopyalama ve değiştirme için Denetim menüsüne erişmesine izin verir. |
CWnd::GetTitleBarInfo |
Belirtilen başlık çubuğu hakkındaki bilgileri alır. |
CWnd::GetTopLevelFrame |
Pencerenin en üst düzey çerçeve penceresini alır. |
CWnd::GetTopLevelOwner |
En üst düzey pencereyi alır. |
CWnd::GetTopLevelParent |
Pencerenin en üst düzey üst öğesini alır. |
CWnd::GetTopWindow |
öğesine ait CWndolan ilk alt pencereyi döndürür. |
CWnd::GetUpdateRect |
Güncelleştirme bölgesini tamamen kapsayan en küçük dikdörtgenin koordinatlarını CWnd alır. |
CWnd::GetUpdateRgn |
CWnd Güncelleştirme bölgesini alır. |
CWnd::GetWindow |
Bu pencereyle belirtilen ilişkiyi içeren pencereyi döndürür. |
CWnd::GetWindowContextHelpId |
Yardım bağlamı tanımlayıcısını alır. |
CWnd::GetWindowDC |
Resim yazısı çubuğu, menüler ve kaydırma çubukları dahil olmak üzere tüm pencerenin görüntüleme bağlamını alır. |
CWnd::GetWindowedChildCount |
İlişkili alt pencerelerin sayısını döndürür. |
CWnd::GetWindowInfo |
Pencere hakkındaki bilgileri döndürür. |
CWnd::GetWindowlessChildCount |
İlişkili penceresiz alt pencerelerin sayısını döndürür. |
CWnd::GetWindowPlacement |
Bir pencerenin gösteri durumunu ve normal (geri yüklenen), simge durumuna küçültülmüş ve ekranı kaplamış konumlarını alır. |
CWnd::GetWindowRect |
ekran koordinatlarını CWndalır. |
CWnd::GetWindowRgn |
Pencerenin pencere bölgesinin bir kopyasını alır. |
CWnd::GetWindowText |
Pencere metnini veya resim yazısı başlığını döndürür (varsa). |
CWnd::GetWindowTextLength |
Pencerenin metin veya resim yazısı başlığının uzunluğunu döndürür. |
CWnd::HideCaret |
Ekran ekranından kaldırarak şapka işaretini gizler. |
CWnd::HiliteMenuItem |
Bir üst düzey (menü çubuğu) menü öğesinden vurgulama veya kaldırma. |
CWnd::HtmlHelp |
HTMLHelp uygulamasını başlatmak için çağrıldı. |
CWnd::Invalidate |
İstemci alanının tamamını geçersiz kılma. |
CWnd::InvalidateRect |
Bu dikdörtgeni geçerli güncelleştirme bölgesine ekleyerek verilen dikdörtgenin içindeki istemci alanını geçersiz kılmış. |
CWnd::InvalidateRgn |
Bu bölgeyi geçerli güncelleştirme bölgesine ekleyerek belirtilen bölge içindeki istemci alanını geçersiz kıldığını gösterir. |
CWnd::InvokeHelper |
ActiveX denetim yöntemini veya özelliğini çağırır. |
CWnd::IsChild |
Alt pencere mi yoksa belirtilen pencerenin başka bir doğrudan alt öğesi mi olduğunu CWnd gösterir. |
CWnd::IsD2DSupportEnabled |
D2D desteğinin etkinleştirilip etkinleştirilmediğini belirler. |
CWnd::IsDialogMessage |
Verilen iletinin modsuz iletişim kutusuna yönelik olup olmadığını belirler ve öyleyse işler. |
CWnd::IsDlgButtonChecked |
Düğme denetiminin işaretli olup olmadığını belirler. |
CWnd::IsDynamicLayoutEnabled |
Bu pencerede dinamik düzenin etkinleştirilip etkinleştirilmediğini belirler. Dinamik düzen etkinleştirilirse, kullanıcı üst pencereyi yeniden boyutlandırdığında alt pencerelerin konumu ve boyutu değişebilir. |
CWnd::IsIconic |
Simge durumuna küçültülmüş (simgesel) olup olmadığını CWnd belirler. |
CWnd::IsTouchWindow |
Dokunma desteği olup olmadığını CWnd belirtir. |
CWnd::IsWindowEnabled |
Pencerenin fare ve klavye girişi için etkinleştirilip etkinleştirilmediğini belirler. |
CWnd::IsWindowVisible |
Pencerenin görünür olup olmadığını belirler. |
CWnd::IsZoomed |
Ekranı kaplayıp kaplamayacağını CWnd belirler. |
CWnd::KillTimer |
Sistem zamanlayıcıyı öldürür. |
CWnd::LockWindowUpdate |
Verilen pencerede çizimi devre dışı bırakır veya yeniden etkinleştirir. |
CWnd::MapWindowPoints |
Bir nokta kümesini koordinat alanından CWnd başka bir pencerenin koordinat alanına dönüştürür (eşler). |
CWnd::MessageBox |
Uygulama tarafından sağlanan ileti ve resim yazısı içeren bir pencere oluşturur ve görüntüler. |
CWnd::ModifyStyle |
Geçerli pencere stilini değiştirir. |
CWnd::ModifyStyleEx |
Pencerenin genişletilmiş stilini değiştirir. |
CWnd::MoveWindow |
konumunu ve boyutlarını CWnddeğiştirir. |
CWnd::NotifyWinEvent |
Sisteme önceden tanımlanmış bir olayın gerçekleştiğini bildirir. |
CWnd::OnAmbientProperty |
Ortam özelliği değerlerini uygulama. |
CWnd::OnDrawIconicThumbnailOrLivePreview |
Windows 7 sekmesi küçük resminde veya uygulama özeti için istemcide görüntülenecek bir bit eşlem elde etmesi gerektiğinde çerçeve tarafından çağrılır. |
CWnd::OnHelp |
Uygulama içinde F1 Yardımı'nı işler (geçerli bağlamı kullanarak). |
CWnd::OnHelpFinder |
ve ID_DEFAULT_HELP komutlarını ID_HELP_FINDER işler. |
CWnd::OnHelpIndex |
ID_HELP_INDEX komutunu işler ve varsayılan bir Yardım konusu sağlar. |
CWnd::OnHelpUsing |
Komutu işler ID_HELP_USING . |
CWnd::OnToolHitTest |
Bir noktanın belirtilen aracın sınırlayıcı dikdörtgeninde olup olmadığını belirler ve araç hakkındaki bilgileri alır. |
CWnd::OpenClipboard |
Pano'ya açılır. Windows CloseClipboard işlevi çağrılana kadar diğer uygulamalar Pano'da değişiklik yapamayacaktır. |
CWnd::PaintWindowlessControls |
Denetim kapsayıcısı üzerinde penceresiz denetimler çizer. |
CWnd::PostMessage |
Uygulama kuyruğuna bir ileti yerleştirir, ardından pencerenin iletiyi işlemesini beklemeden döndürür. |
CWnd::PreCreateWindow |
Bu CWnd nesneye eklenmiş Windows penceresi oluşturulmadan önce çağrılır. |
CWnd::PreSubclassWindow |
Çağrılmadan önce SubclassWindow diğer gerekli alt sınıfların oluşmasına izin verir. |
CWnd::PreTranslateMessage |
ve Windows işlevlerine dağıtılana kadar pencere iletilerini filtrelemek için TranslateMessage DispatchMessage tarafından CWinApp kullanılır. |
CWnd::Print |
Belirtilen cihaz bağlamında geçerli pencereyi çizer. |
CWnd::PrintClient |
Belirtilen cihaz bağlamındaki herhangi bir pencereyi çizer (genellikle bir yazıcı cihazı bağlamı). |
CWnd::PrintWindow |
Görsel bir pencereyi belirtilen cihaz bağlamına( genellikle bir yazıcı DC'sine) kopyalar. |
CWnd::RedrawWindow |
İstemci alanında belirtilen dikdörtgeni veya bölgeyi güncelleştirir. |
CWnd::RegisterTouchWindow |
Windows dokunma desteği penceresini kaydetme/kaydını kaldırma. |
CWnd::ReleaseDC |
İstemci ve pencere cihazı bağlamlarını serbest bırakır ve bunları diğer uygulamalar tarafından kullanılmak üzere serbest bırakır. |
CWnd::RepositionBars |
İstemci alanındaki denetim çubuklarını yeniden konumlandırır. |
CWnd::RunModalLoop |
Kalıcı durumdaki bir pencere için iletileri alır, çevirir veya dağıtır. |
CWnd::ScreenToClient |
Ekrandaki belirli bir noktanın veya dikdörtgenin ekran koordinatlarını istemci koordinatlarına dönüştürür. |
CWnd::ScrollWindow |
İstemci alanının içeriğini kaydırıyor. |
CWnd::ScrollWindowEx |
İstemci alanının içeriğini kaydırıyor. ek özelliklere sahip öğesine ScrollWindowbenzer. |
CWnd::SendChildNotifyLastMsg |
Alt pencerenin bir görevi işleyebilmesi için üst pencereden bir alt pencereye bildirim iletisi sağlar. |
CWnd::SendDlgItemMessage |
Belirtilen denetime bir ileti gönderir. |
CWnd::SendMessage |
Nesneye CWnd bir ileti gönderir ve iletiyi işleyene kadar geri dönmez. |
CWnd::SendMessageToDescendants |
Pencerenin tüm alt pencerelerine bir ileti gönderir. |
CWnd::SendNotifyMessage |
Belirtilen iletiyi pencereye gönderir ve çağıran iş parçacığının pencereyi oluşturup oluşturmadığına bağlı olarak en kısa sürede döndürür. |
CWnd::SetActiveWindow |
Pencereyi etkinleştirir. |
CWnd::SetCapture |
Sonraki tüm fare girişinin öğesine gönderilmesine CWndneden olur. |
CWnd::SetCaretPos |
Şapka işaretini belirtilen konuma taşır. |
CWnd::SetClipboardViewer |
Pano'nun içeriği her değiştirildiğinde bildirim alan pencere zincirine ekler CWnd . |
CWnd::SetDlgCtrlID |
Pencerenin penceresini veya denetim kimliğini ayarlar (bu, yalnızca iletişim kutusundaki bir denetim değil herhangi bir alt pencere olabilir). |
CWnd::SetDlgItemInt |
Denetimin metnini tamsayı değerini temsil eden dizeye ayarlar. |
CWnd::SetDlgItemText |
Belirtilen iletişim kutusunda bir denetimin resim yazısını veya metnini ayarlar. |
CWnd::SetFocus |
Giriş odağını talep eder. |
CWnd::SetFont |
Geçerli yazı tipini ayarlar. |
CWnd::SetForegroundWindow |
Pencereyi oluşturan iş parçacığını ön plana yerleştirir ve pencereyi etkinleştirir. |
CWnd::SetIcon |
Tutamacı belirli bir simgeye ayarlar. |
CWnd::SetLayeredWindowAttributes |
Katmanlı bir pencerenin opaklık ve saydamlık renk anahtarını ayarlar. |
CWnd::SetMenu |
Menüyü belirtilen menüye ayarlar. |
CWnd::SetOwner |
bir CWndöğesinin sahibini değiştirir. |
CWnd::SetParent |
Üst pencereyi değiştirir. |
CWnd::SetProperty |
ActiveX denetim özelliğini ayarlar. |
CWnd::SetRedraw |
içindeki CWnd değişikliklerin yeniden çizilmesine izin verir veya değişikliklerin yeniden çizilmesine izin verir. |
CWnd::SetScrollInfo |
Kaydırma çubuğu hakkındaki bilgileri ayarlar. |
CWnd::SetScrollPos |
Kaydırma kutusunun geçerli konumunu ayarlar ve belirtilirse kaydırma çubuğunu yeni konumu yansıtacak şekilde yeniden çizer. |
CWnd::SetScrollRange |
Verilen kaydırma çubuğu için en düşük ve en yüksek konum değerlerini ayarlar. |
CWnd::SetTimer |
Tetiklendiğinde ileti gönderen bir WM_TIMER sistem zamanlayıcı yükler. |
CWnd::SetWindowContextHelpId |
Yardım bağlamı tanımlayıcısını ayarlar. |
CWnd::SetWindowPlacement |
Bir pencere için gösteri durumunu ve normal (geri yüklenen), simge durumuna küçültülmüş ve ekranı kaplamış konumları ayarlar. |
CWnd::SetWindowPos |
Alt, açılır pencere ve üst düzey pencerelerin boyutunu, konumunu ve sırasını değiştirir. |
CWnd::SetWindowRgn |
Pencerenin bölgesini ayarlar. |
CWnd::SetWindowText |
Pencere metnini veya resim yazısı başlığını (varsa) belirtilen metne ayarlar. |
CWnd::ShowCaret |
Ekrandaki şapka işaretini, şapka işaretinin geçerli konumunda gösterir. Gösterildikten sonra şapka işareti otomatik olarak yanıp söner. |
CWnd::ShowOwnedPopups |
Pencereye ait tüm açılır pencereleri gösterir veya gizler. |
CWnd::ShowScrollBar |
Kaydırma çubuğunu görüntüler veya gizler. |
CWnd::ShowWindow |
Pencereyi gösterir veya gizler. |
CWnd::SubclassDlgItem |
Bir nesneye CWnd bir Windows denetimi ekler ve iletileri 'nin ileti haritası üzerinden yönlendirmesini CWndsağlar. |
CWnd::SubclassWindow |
Bir nesneye CWnd pencere ekler ve iletileri 'nin ileti eşlemesi üzerinden yönlendirmesini CWndsağlar. |
CWnd::UnlockWindowUpdate |
ile CWnd::LockWindowUpdatekilitlenmiş bir pencerenin kilidini açar. |
CWnd::UnsubclassWindow |
Bir pencereyi nesneden CWnd ayırır |
CWnd::UpdateData |
bir iletişim kutusundan veri başlatır veya alır. |
CWnd::UpdateDialogControls |
İletişim kutusu düğmelerinin ve diğer denetimlerin durumunu güncelleştirmek için arayın. |
CWnd::UpdateLayeredWindow |
Katmanlı pencerenin konumunu, boyutunu, şeklini, içeriğini ve saydamlığını güncelleştirir. |
CWnd::UpdateWindow |
İstemci alanını güncelleştirir. |
CWnd::ValidateRect |
Dikdörtgeni geçerli güncelleştirme bölgesinden kaldırarak verilen dikdörtgenin içindeki istemci alanını doğrular. |
CWnd::ValidateRgn |
Bölgeyi geçerli güncelleştirme bölgesinden kaldırarak belirtilen bölge içindeki istemci alanını doğrular. |
CWnd::WindowFromPoint |
Verilen noktayı içeren pencereyi tanımlar. |
CWnd::WinHelp |
WinHelp uygulamasını başlatmak için çağrıldı. |
Korumalı Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CWnd::Default |
Bir uygulamanın işlemediği tüm pencere iletileri için varsayılan işleme sağlayan varsayılan pencere yordamını çağırır. |
CWnd::DefWindowProc |
Bir uygulamanın işlemediği tüm pencere iletileri için varsayılan işleme sağlayan varsayılan pencere yordamını çağırır. |
CWnd::DoDataExchange |
İletişim kutusu veri değişimi ve doğrulaması için. tarafından UpdateDataçağrılır. |
CWnd::GetCurrentMessage |
Bu pencerenin şu anda işlediği iletiye bir işaretçi döndürür. Yalnızca bir OnMessage ileti işleyicisi üye işlevinde çağrıldığında çağrılmalıdır. |
CWnd::InitDynamicLayout |
Pencere için dinamik düzeni başlatmak için çerçeve tarafından çağrılır. |
CWnd::LoadDynamicLayoutResource |
Kaynak dosyasından dinamik düzen bilgilerini yükler. |
CWnd::OnActivate |
CWnd Etkinleştirildiğinde veya devre dışı bırakıldığında çağrılır. |
CWnd::OnActivateApp |
Uygulama etkinleştirilmek veya devre dışı bırakmak üzereyken çağrılır. |
CWnd::OnAppCommand |
Kullanıcı bir uygulama komut olayı oluşturduğunda çağrılır. |
CWnd::OnAskCbFormatName |
Pano sahibi Pano içeriğini görüntülediğinde Pano görüntüleyici uygulaması tarafından çağrılır. |
CWnd::OnCancelMode |
CWnd Fare yakalama gibi iç modları iptal etmek için çağrılır. |
CWnd::OnCaptureChanged |
Fare yakalamayı kaybeden pencereye bir ileti gönderir. |
CWnd::OnChangeCbChain |
Belirtilen bir pencerenin zincirden kaldırıldığını bildirir. |
CWnd::OnChangeUIState |
Kullanıcı arabirimi (UI) durumunun değiştirilmesi gerektiğinde çağrılır. |
CWnd::OnChar |
Tuş vuruşu sistem dışı bir karaktere çevrildiğinde çağrılır. |
CWnd::OnCharToItem |
bir iletiye yanıt olarak stiline LBS_WANTKEYBOARDINPUT sahip bir WM_CHAR alt liste kutusu tarafından çağrılır. |
CWnd::OnChildActivate |
Değişikliklerin boyutu veya konumu CWnd değiştiğinde veya CWnd etkinleştirildiğinde birden çok belge arabirimi (MDI) alt penceresi için çağrılır. |
CWnd::OnChildNotify |
Bildirim denetimine bir denetim bildirimine yanıt verme şansı vermek için üst pencere tarafından çağrılır. |
CWnd::OnClipboardUpdate |
Panonun içeriği değiştiğinde çağrılır. |
CWnd::OnClose |
Kapatılması gereken bir sinyal CWnd olarak adlandırılır. |
CWnd::OnColorizationColorChanged |
İstemci olmayan alan için işleme ilkesi değiştiğinde çağrılır. |
CWnd::OnCommand |
Kullanıcı bir komut seçtiğinde çağrılır. |
CWnd::OnCompacting |
Windows sistem belleğinin düşük olduğunu algıladığında çağrılır. |
CWnd::OnCompareItem |
Alt sıralanmış sahip çiz birleşik giriş kutusunda veya liste kutusunda yeni bir öğenin göreli konumunu belirlemek için çağrılır. |
CWnd::OnCompositionChanged |
Masaüstü Pencere Yöneticisi (DWM) bileşimi etkinleştirildiğinde veya devre dışı bırakıldığında tüm üst düzey pencereler için çağrılır. |
CWnd::OnContextMenu |
Kullanıcı pencerede sağ fare düğmesine tıkladığında çağrılır. |
CWnd::OnCopyData |
Verileri bir uygulamadan diğerine kopyalar. |
CWnd::OnCreate |
Pencere oluşturma işleminin bir parçası olarak çağrılır. |
CWnd::OnCtlColor |
Denetim çizilecekken denetimin üst öğesi ise CWnd çağrılır. |
CWnd::OnDeadChar |
Tuş vuruşu sistem dışı bir ölü karaktere (aksan karakterleri gibi) çevrildiğinde çağrılır. |
CWnd::OnDeleteItem |
Sahip çizen alt liste kutusu veya birleşik giriş kutusu yok edildiğinde veya öğeler denetimden kaldırıldığında çağrılır. |
CWnd::OnDestroy |
Yok edilirken CWnd çağrılır. |
CWnd::OnDestroyClipboard |
Pano, Windows EmptyClipboard işlevine yapılan bir çağrı aracılığıyla boşaltıldığında çağrılır. |
CWnd::OnDeviceChange |
Bir uygulamanın veya cihaz sürücüsünün, bir cihazın veya bilgisayarın donanım yapılandırmasında bir değişiklik olduğunu bildirir. |
CWnd::OnDevModeChange |
Kullanıcı cihaz modu ayarlarını değiştirdiğinde tüm üst düzey pencereler için çağrılır. |
CWnd::OnDrawClipboard |
Pano'nun içeriği değiştiğinde çağrılır. |
CWnd::OnDrawItem |
Sahip çizen alt düğme denetiminin, birleşik giriş kutusu denetiminin, liste kutusu denetiminin veya menünün görsel bir yönü çizilmesi gerektiğinde çağrılır. |
CWnd::OnDropFiles |
Kullanıcı sol fare düğmesini bırakılan dosyaların alıcısı olarak kaydedilmiş bir pencerenin üzerine bıraktığında çağrılır. |
CWnd::OnEnable |
Etkinleştirildiğinde veya devre dışı bırakıldığında CWnd çağrılır. |
CWnd::OnEndSession |
Oturum sona erdiğinde çağrılır. |
CWnd::OnEnterIdle |
Bir uygulamanın ana pencere yordamını, kalıcı bir iletişim kutusunun veya menünün boşta durumuna girdiğini bildirmek için çağrılır. |
CWnd::OnEnterMenuLoop |
Menü kalıcı döngüsü girildiğinde çağrılır. |
CWnd::OnEnterSizeMove |
Etkilenen pencere hareketli veya boyutlandırma kalıcı döngüsü girdikten sonra çağrılır. |
CWnd::OnEraseBkgnd |
Pencere arka planının silinmesi gerektiğinde çağrılır. |
CWnd::OnExitMenuLoop |
Bir menü kalıcı döngüsüne çıkıldığında çağrılır. |
CWnd::OnExitSizeMove |
Etkilenen pencere hareketli veya boyutlandırma kalıcı döngüsünden çıktıktan sonra çağrılır. |
CWnd::OnFontChange |
Yazı tipi kaynakları havuzu değiştiğinde çağrılır. |
CWnd::OnGetDlgCode |
Denetimin ok tuşunu ve SEKME tuşu girişini işleyebilmesi için bir denetim için çağrılır. |
CWnd::OnGetMinMaxInfo |
Windows'un ekranı kaplamış konumu veya boyutları ya da minimum veya maksimum izleme boyutunu bilmesi gerektiğinde çağrılır. |
CWnd::OnHelpInfo |
Kullanıcı F1 tuşuna bastığında çerçeve tarafından çağrılır. |
CWnd::OnHotKey |
Kullanıcı sistem genelinde bir kısayol tuşuna bastığında çağrılır. |
CWnd::OnHScroll |
Kullanıcı öğesinin yatay kaydırma çubuğuna tıkladığında çağrılır CWnd. |
CWnd::OnHScrollClipboard |
Pano sahibinin Pano görüntüsünü kaydırması, uygun bölümü geçersiz kılması ve kaydırma çubuğu değerlerini güncelleştirmesi gerektiğinde çağrılır. |
CWnd::OnIconEraseBkgnd |
Simge durumuna küçültüldüğünde CWnd (simgesel) olarak adlandırılır ve simgeyi boyamadan önce simgenin arka planı doldurulmalıdır. |
CWnd::OnInitMenu |
Bir menü etkin olmak üzereyken çağrılır. |
CWnd::OnInitMenuPopup |
Açılır menü etkin olmak üzereyken çağrılır. |
CWnd::OnInputDeviceChange |
G/Ç cihazı eklendiğinde veya sistemden kaldırıldığında çağrılır. |
CWnd::OnInputLangChange |
Uygulamanın giriş dili değiştirildikten sonra çağrılır. |
CWnd::OnInputLangChangeRequest |
Kullanıcı yeni bir giriş dili seçtiğinde çağrılır. |
CWnd::OnKeyDown |
Sistem dışı bir tuşa basıldığında çağrılır. |
CWnd::OnKeyUp |
Sistem dışı anahtar serbest bırakıldığında çağrılır. |
CWnd::OnKillFocus |
Giriş odağını kaybetmeden hemen önce CWnd çağrılır. |
CWnd::OnLButtonDblClk |
Kullanıcı sol fare düğmesine çift tıkladığında çağrılır. |
CWnd::OnLButtonDown |
Kullanıcı sol fare düğmesine bastığında çağrılır. |
CWnd::OnLButtonUp |
Kullanıcı sol fare düğmesini serbest bıraktığında çağrılır. |
CWnd::OnMButtonDblClk |
Kullanıcı ortadaki fare düğmesine çift tıkladığında çağrılır. |
CWnd::OnMButtonDown |
Kullanıcı ortadaki fare düğmesine bastığında çağrılır. |
CWnd::OnMButtonUp |
Kullanıcı ortadaki fare düğmesini serbest bıraktığında çağrılır. |
CWnd::OnMDIActivate |
MDI alt penceresi etkinleştirildiğinde veya devre dışı bırakıldığında çağrılır. |
CWnd::OnMeasureItem |
Denetim oluşturulduğunda sahip çizim alt birleşik giriş kutusu, liste kutusu veya menü öğesi için çağrılır. CWnd Windows'a denetimin boyutlarını bildirir. |
CWnd::OnMenuChar |
Kullanıcı geçerli menüde önceden tanımlanmış hiçbir anımsatıcıyla eşleşmeyen bir menü anımsatıcı karakterine bastığında çağrılır. |
CWnd::OnMenuDrag |
Kullanıcı bir menü öğesini sürüklemeye başladığında çağrılır. |
CWnd::OnMenuGetObject |
Fare imleci bir menü öğesine girdiğinde veya öğenin ortasından öğenin üstüne veya altına geçtiğinde çağrılır. |
CWnd::OnMenuRButtonUp |
İmleç bir menü öğesi üzerindeyken kullanıcı sağ fare düğmesini serbest bıraktığında çağrılır. |
CWnd::OnMenuSelect |
Kullanıcı bir menü öğesi seçtiğinde çağrılır. |
CWnd::OnMouseActivate |
İmleç etkin olmayan bir pencerede olduğunda ve kullanıcı fare düğmesine bastığında çağrılır. |
CWnd::OnMouseHover |
İmleç, önceki çağrısında belirtilen süre boyunca pencerenin istemci alanının üzerine geldiğinde çağrılır TrackMouseEvent. |
CWnd::OnMouseHWheel |
Farenin yatay kaydırma tekerleği eğildiğinde veya döndürüldüğünde çağrılır. |
CWnd::OnMouseLeave |
İmleç, önceki çağrısında belirtilen pencerenin istemci alanından ayrıldığında çağrılır TrackMouseEvent. |
CWnd::OnMouseMove |
Fare imleci hareket ettiğinde çağrılır. |
CWnd::OnMouseWheel |
Kullanıcı fare tekerleğini döndürüyorsa çağrılır. Windows NT 4.0 ileti işlemeyi kullanır. |
CWnd::OnMove |
konumu CWnd değiştirildikten sonra çağrılır. |
CWnd::OnMoving |
Kullanıcının bir nesneyi taşıdığını CWnd gösterir. |
CWnd::OnNcActivate |
etkin veya etkin olmayan bir durumu belirtmek için istemci olmayan alanın değiştirilmesi gerektiğinde çağrılır. |
CWnd::OnNcCalcSize |
İstemci alanının boyutunun ve konumunun hesaplanması gerektiğinde çağrılır. |
CWnd::OnNcCreate |
İstemci olmayan alan oluşturulmadan önce OnCreate çağrılır. |
CWnd::OnNcDestroy |
İstemci olmayan alan yok edilirken çağrılır. |
CWnd::OnNcHitTest |
fare imleci içeriyorsa veya ile fare girişini yakaladıysa CWnd , fare her taşındığında Windows tarafından çağrılır SetCapture. |
CWnd::OnNcLButtonDblClk |
kullanıcı sol fare düğmesine çift tıkladığında, imleç'in istemci olmayan bir alanındayken çağrılır CWnd. |
CWnd::OnNcLButtonDown |
kullanıcı, imleç istemci olmayan bir alanı içindeyken sol fare düğmesine bastığında çağrılır CWnd. |
CWnd::OnNcLButtonUp |
kullanıcı sol fare düğmesini serbest bıraktığında, imleç istemci olmayan bir alanındayken çağrılır CWnd. |
CWnd::OnNcMButtonDblClk |
kullanıcı, imleç istemci olmayan bir alanı içindeyken ortadaki fare düğmesine çift tıkladığında çağrılır CWnd. |
CWnd::OnNcMButtonDown |
kullanıcı, imleç istemci olmayan bir alanı içindeyken orta fare düğmesine bastığında çağrılır CWnd. |
CWnd::OnNcMButtonUp |
kullanıcı, imleç istemci olmayan bir alanı içindeyken orta fare düğmesini serbest bıraktığında çağrılır CWnd. |
CWnd::OnNcMouseHover |
İmleç, önceki çağrısında belirtilen süre boyunca pencerenin istemci olmayan alanının üzerine geldiğinde çağrılır TrackMouseEvent. |
CWnd::OnNcMouseLeave |
çerçeve, imleç önceki çağrısında TrackMouseEventbelirtilen pencerenin istemci dışı alanından ayrıldığında bu üye işlevini çağırır. |
CWnd::OnNcMouseMove |
İmleç' in istemci olmayan bir alanına taşındığında çağrılır CWnd. |
CWnd::OnNcPaint |
İstemci olmayan alanın boyamaya ihtiyacı olduğunda çağrılır. |
CWnd::OnNcRButtonDblClk |
kullanıcı sağ fare düğmesine çift tıkladığında, imleç'in istemci olmayan bir alanındayken çağrılır CWnd. |
CWnd::OnNcRButtonDown |
kullanıcı sağ fare düğmesine bastığında, imleç'in istemci olmayan bir alanındayken çağrılır CWnd. |
CWnd::OnNcRButtonUp |
kullanıcı sağ fare düğmesini serbest bıraktığında, imleç istemci olmayan bir alanındayken çağrılır CWnd. |
CWnd::OnNcRenderingChanged |
İstemci olmayan alan için işleme ilkesi değiştiğinde çağrılır. |
CWnd::OnNcXButtonDblClk |
Kullanıcı çift tıkladığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci olmayan alanındayken çağrılır. |
CWnd::OnNcXButtonDown |
İmleç bir pencerenin istemci olmayan alanındayken kullanıcı fareye veya XBUTTON2 fareye bastığında XBUTTON1 çağrılır. |
CWnd::OnNcXButtonUp |
İmleç bir pencerenin istemci olmayan alanındayken kullanıcı fareyi veya XBUTTON2 fareyi serbest bıraktığında XBUTTON1 çağrılır. |
CWnd::OnNextMenu |
Menü çubuğu ile sistem menüsü arasında geçiş yapmak için sağ veya sol ok tuşu kullanıldığında çağrılır. |
CWnd::OnNotify |
Bir üst pencereye denetimlerinden birinde bir olayın oluştuğunu veya denetimin bilgiye ihtiyacı olduğunu bildirmek için çerçeve tarafından çağrılır. |
CWnd::OnNotifyFormat |
Geçerli pencerenin bildirim iletisinde ANSI veya Unicode yapılarını kabullenip kabul etmediğini belirlemek için çağrılır WM_NOTIFY . |
CWnd::OnPaint |
Pencerenin bir bölümünü yeniden boyamak için çağrılır. |
CWnd::OnPaintClipboard |
Pano görüntüleyicisinin istemci alanının yeniden boyanması gerektiğinde çağrılır. |
CWnd::OnPaletteChanged |
Renk paleti kullanan pencerelerin mantıksal paletlerini gerçekleştirmesine ve istemci alanlarını güncelleştirmesine izin vermek için çağrılır. |
CWnd::OnPaletteIsChanging |
Bir uygulamanın mantıksal paletini ne zaman gerçekleştireceğini diğer uygulamalara bildirir. |
CWnd::OnParentNotify |
Bir alt pencere oluşturulduğunda veya yok edildiğinde veya imleç alt pencerenin üzerindeyken kullanıcı fare düğmesine tıkladığında çağrılır. |
CWnd::OnPowerBroadcast |
Bir güç yönetimi olayı gerçekleştiğinde çağrılır. |
CWnd::OnQueryDragIcon |
Simge durumuna küçültülmüş (simgesel) CWnd kullanıcı tarafından sürüklenmek üzere olduğunda çağrılır. |
CWnd::OnQueryEndSession |
Kullanıcı Windows oturumunu sonlandırmayı seçtiğinde çağrılır. |
CWnd::OnQueryNewPalette |
CWnd Giriş odağını almak üzere olduğunu bildirir. |
CWnd::OnQueryOpen |
Bir simge olduğunda CWnd çağrılır ve kullanıcı simgenin açılmasını istemektedir. |
CWnd::OnQueryUIState |
Bir pencerenin kullanıcı arabirimi (UI) durumunu almak için çağrılır. |
CWnd::OnRawInput |
Geçerli pencere ham giriş aldığında çağrılır. |
CWnd::OnRButtonDblClk |
Kullanıcı sağ fare düğmesine çift tıkladığında çağrılır. |
CWnd::OnRButtonDown |
Kullanıcı sağ fare düğmesine bastığında çağrılır. |
CWnd::OnRButtonUp |
Kullanıcı sağ fare düğmesini serbest bıraktığında çağrılır. |
CWnd::OnRenderAllFormats |
Sahip uygulaması yok edilirken ve tüm biçimlerini işlemesi gerektiğinde çağrılır. |
CWnd::OnRenderFormat |
Gecikmeli işlemeye sahip belirli bir biçimin işlenmesi gerektiğinde Pano sahibi için çağrılır. |
CWnd::OnSessionChange |
Bir uygulamaya oturum durumundaki bir değişikliği bildirmek için çağrılır. |
CWnd::OnSetCursor |
Fare girişi yakalanmazsa ve fare bir pencere içinde imleç hareketlerine neden olursa çağrılır. |
CWnd::OnSetFocus |
Giriş odağını kazandıktan sonra CWnd çağrılır. |
CWnd::OnSettingChange |
Win32 SystemParametersInfo işlevi sistem genelindeki bir ayarı değiştirdiğinde çağrılır. |
CWnd::OnShowWindow |
Ne zaman CWnd gizlenecek veya gösterilecek olarak adlandırılır. |
CWnd::OnSize |
boyutu değiştikten sonra çağrılır CWnd . |
CWnd::OnSizeClipboard |
Pano görüntüleyici penceresinin istemci alanının boyutu değiştiğinde çağrılır. |
CWnd::OnSizing |
Kullanıcının dikdörtgeni yeniden boyutlandırdığını gösterir. |
CWnd::OnSpoolerStatus |
Yazdırma Yöneticisi kuyruğuna bir iş eklendiğinde veya bu kuyruktan kaldırıldığında Print Manager'dan çağrılır. |
CWnd::OnStyleChanged |
Windows işlevinin SetWindowLong pencerenin stillerinden birini veya birkaçını değiştirdiğini gösterir. |
CWnd::OnStyleChanging |
Windows işlevinin SetWindowLong pencerenin stillerinden birini veya birkaçını değiştirmek üzere olduğunu gösterir. |
CWnd::OnSysChar |
Tuş vuruşu bir sistem karakterine çevrildiğinde çağrılır. |
CWnd::OnSysColorChange |
Sistem rengi ayarında bir değişiklik yapıldığında tüm üst düzey pencereler için çağrılır. |
CWnd::OnSysCommand |
Kullanıcı Denetim menüsünden bir komut seçtiğinde veya kullanıcı Ekranı Kapla veya Simge Durumuna Küçült düğmesini seçtiğinde çağrılır. |
CWnd::OnSysDeadChar |
Tuş vuruşu sistem ölü karakterine (aksan karakterleri gibi) çevrildiğinde çağrılır. |
CWnd::OnSysKeyDown |
Kullanıcı ALT tuşunu basılı tuttuğunda ve sonra başka bir tuşa bastığında çağrılır. |
CWnd::OnSysKeyUp |
Kullanıcı, ALT tuşu basılıyken basılan bir anahtarı serbest bıraktığında çağrılır. |
CWnd::OnTCard |
Kullanıcı yazılabilir bir düğmeye tıkladığında çağrılır. |
CWnd::OnTimeChange |
Sistem zamanı değiştikten sonra tüm üst düzey pencereler için çağrılır. |
CWnd::OnTimer |
içinde belirtilen her aralık sonrasında çağrılır SetTimer. |
CWnd::OnTouchInput |
Windows touch'tan tek girişi işleme. |
CWnd::OnTouchInputs |
Windows touch'tan girişleri işleme. |
CWnd::OnUniChar |
Bir tuşa basıldığında çağrılır. Diğer bir ifadeyle, geçerli pencerede klavye odağı bulunur ve bir WM_KEYDOWN ileti işlev tarafından çevrilir TranslateMessage . |
CWnd::OnUnInitMenuPopup |
Açılan menü veya alt menü yok edildiğinde çağrılır. |
CWnd::OnUpdateUIState |
Belirtilen pencerenin ve tüm alt pencerelerinin kullanıcı arabirimi (UI) durumunu değiştirmek için çağrılır. |
CWnd::OnUserChanged |
Kullanıcı oturum açtıktan veya kapattıktan sonra çağrılır. |
CWnd::OnVKeyToItem |
İletiye yanıt olarak sahip olduğu CWnd bir WM_KEYDOWN liste kutusu tarafından çağrılır. |
CWnd::OnVScroll |
Kullanıcı pencerenin dikey kaydırma çubuğuna tıkladığında çağrılır. |
CWnd::OnVScrollClipboard |
Sahibin Pano görüntüsünü kaydırması, uygun bölümü geçersiz kılması ve kaydırma çubuğu değerlerini güncelleştirmesi gerektiğinde çağrılır. |
CWnd::OnWindowPosChanged |
Boyut, konum veya Z sırası, çağrısının SetWindowPos veya başka bir pencere yönetimi işlevinin sonucu olarak değiştiğinde çağrılır. |
CWnd::OnWindowPosChanging |
Boyut, konum veya Z sırası, çağrısının veya başka bir pencere yönetimi işlevinin sonucu olarak değişmek SetWindowPos üzere olduğunda çağrılır. |
CWnd::OnWinIniChange |
Windows başlatma dosyası WIN.INIdeğiştirildikten sonra tüm üst düzey pencereler için çağrılır. |
CWnd::OnWndMsg |
Windows iletisinin işlenip işlenmediğini gösterir. |
CWnd::OnXButtonDblClk |
Kullanıcı çift tıkladığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci alanındayken çağrılır. |
CWnd::OnXButtonDown |
Kullanıcı basıldığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci alanındayken çağrılır. |
CWnd::OnXButtonUp |
Kullanıcı serbest bırakıldığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci alanındayken çağrılır. |
CWnd::PostNcDestroy |
Bu sanal işlev, pencere yok edildikten sonra varsayılan OnNcDestroy işlevi tarafından çağrılır. |
CWnd::ReflectChildNotify |
Bir iletiyi kaynağına yansıtan yardımcı işlevi. |
CWnd::ReflectLastMsg |
Son iletiyi alt pencereye yansıtır. |
CWnd::ResizeDynamicLayout |
Pencere için dinamik düzen etkinse, pencere boyutu alt pencerelerin düzenini ayarlamak üzere değiştiğinde çerçeve tarafından çağrılır. |
CWnd::WindowProc |
için CWndbir pencere yordamı sağlar. Varsayılan, iletileri ileti eşlemesi aracılığıyla dağıtmaktadır. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
CWnd::operator HWND |
Pencere tutamacını almak için arayın. |
CWnd::operator != |
Bir pencerenin, tutamacı m_hWndolan pencereyle aynı olup olmadığını belirler. |
CWnd::operator == |
Bir pencerenin, tutamacı m_hWndolan pencereyle aynı olup olmadığını belirler. |
Ortak Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
CWnd::m_hWnd |
Bu CWndöğesine eklenen HWND'yi gösterir. |
Açıklamalar
Nesne CWnd , Windows penceresinden farklıdır, ancak ikisi sıkı bir şekilde bağlanır. Bir CWnd nesne oluşturucu ve yıkıcı tarafından CWnd oluşturulur veya yok edilir. Öte yandan Windows penceresi, bir üye işlevi tarafından oluşturulan ve sanal yıkıcı tarafından CWnd yok edilen Windows'un içindeki bir Create veri yapısıdır. işlevi, DestroyWindow nesneyi yok etmeden Windows penceresini yok eder.
CWnd sınıfı ve ileti eşleme mekanizması işlevi gizlerWndProc. Gelen Windows bildirim iletileri, ileti eşlemesi aracılığıyla otomatik olarak uygun İletideCWnd üye işlevlerine yönlendirilir. Türetilmiş sınıflarınızda bir üyenin belirli iletisini işlemek için İletide üye işlevini geçersiz kılarsınız.
sınıfı, CWnd uygulamanız için bir Windows alt penceresi oluşturmanıza da olanak tanır. öğesinden CWndbir sınıf türetdikten sonra uygulamanıza özgü verileri depolamak için türetilmiş sınıfa üye değişkenleri ekleyin. İletiler pencereye yönlendirildiğinde ne olacağını belirtmek için türetilmiş sınıfta ileti işleyicisi üye işlevlerini ve ileti eşlemesini uygulayın.
İki adımda bir alt pencere oluşturursunuz. İlk olarak, nesneyi oluşturmak için oluşturucuyu CWnd çağırın CWnd , ardından üye işlevini çağırarak Create alt pencereyi oluşturun ve nesneye CWnd ekleyin.
Kullanıcı alt pencerenizi sonlandırdığında, nesneyi yok CWnd edin veya üye işlevini çağırarak DestroyWindow pencereyi kaldırın ve veri yapılarını yok edin.
Microsoft Foundation Sınıf Kitaplığı'nın içinde, belirli pencere türlerini sağlamak için öğesinden CWnd başka sınıflar türetilir. , CMDIFrameWnd, , CMDIChildWndCViewve CDialogdahil olmak üzere CFrameWndbu sınıfların çoğu daha fazla türetme için tasarlanmıştır. gibi CButtonöğesinden CWndtüretilen denetim sınıfları doğrudan kullanılabilir veya sınıfların daha fazla türetilmesi için kullanılabilir.
kullanma CWndhakkında daha fazla bilgi için bkz Frame Windows . ve Pencere Nesneleri.
Devralma Hiyerarşisi
CWnd
Gereksinimler
Üst bilgi: afxwin.h
CWnd::accDoDefaultAction
Nesnenin varsayılan eylemini gerçekleştirmek için çerçeve tarafından çağrılır.
virtual HRESULT accDoDefaultAction(VARIANT varChild);
Parametreler
varChild
Çağrılacak varsayılan eylemin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre CHILDID_SELF (nesnenin varsayılan eylemini gerçekleştirmek için) veya alt kimlik (nesnenin alt öğelerinden birinin varsayılan eylemini gerçekleştirmek için) olabilir.
Dönüş Değeri
Başarıda S_OK döndürür; hata durumunda com hata kodu. Bkz. Windows SDK'sında IAccessible::accDoDefaultAction'da Dönüş Değerleri.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesnenizin CWndvarsayılan eylemini gerçekleştirmek için türetilmiş sınıfınızda bu işlevi geçersiz kılın. Daha fazla bilgi için bkz . Windows SDK'sında IAccessible::accDoDefaultAction .
CWnd::accHitTest
Ekranın belirli bir noktasında alt öğeyi veya alt nesneyi almak için çerçeve tarafından çağrılır.
virtual HRESULT accHitTest(
long xLeft,
long yTop,
VARIANT* pvarChild);
Parametreler
xLeft
Test edilecek noktanın X koordinatı (ekran birimlerinde).
yTop
Isabet edilecek noktanın Y koordinatı (ekran birimlerinde).
pvarChild
ve yToptarafından xLeft belirtilen noktada nesneyi tanımlayan bilgileri alır. Windows SDK'sında IAccessible::accHitTest bölümüne bakınpvarID.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::accHitTest içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::accHitTest . Windows SDK'sı.
CWnd::accLocation
Belirtilen nesnenin geçerli ekran konumunu almak için çerçeve tarafından çağrılır.
virtual HRESULT accLocation(
long* pxLeft,
long* pyTop,
long* pcxWidth,
long* pcyHeight,
VARIANT varChild);
Parametreler
pxLeft
Nesnenin sol üst köşesinin x koordinatını alır (ekran birimlerinde).
pyTop
Nesnenin sol üst köşesinin y koordinatını alır (ekran birimlerinde).
pcxWidth
Nesnenin genişliğini alır (ekran birimleri cinsinden).
pcyHeight
Nesnenin yüksekliğini alır (ekran birimleri cinsinden).
varChild
Alınacak konumun nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
Dönüş Değeri
Başarıda S_OK döndürür; hata durumunda com hata kodu. Bkz. Windows SDK'sında IAccessible::accLocation içindeki Değer Döndürme.
Açıklamalar
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::accLocation . Windows SDK'sı.
CWnd::accNavigate
Kapsayıcı içindeki başka bir kullanıcı arabirimi öğesine geçiş yapmak ve mümkünse nesnesini almak için çerçeve tarafından çağrılır.
virtual HRESULT accNavigate(
long navDir,
VARIANT varStart,
VARIANT* pvarEndUpAt);
Parametreler
navDir
Gezinecek yönü belirtir. Windows SDK'sında IAccessible::accNavigate bölümüne bakınnavDir.
varStart
Başlangıç nesnesini belirtir. Windows SDK'sında IAccessible::accNavigate bölümüne bakınvarStart.
pvarEndUpAt
Hedef kullanıcı arabirimi nesnesi hakkında bilgi alır. Windows SDK'sında IAccessible::accNavigate bölümüne bakınpvarEnd.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::accNavigate içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::accNavigate . Windows SDK'sı.
CWnd::accSelect
Seçileni değiştirmek veya belirtilen nesnenin klavye odağını taşımak için çerçeve tarafından çağrılır.
virtual HRESULT accSelect(
long flagsSelect,
VARIANT varChild);
Parametreler
flagsSelect
Geçerli seçimin veya odağın nasıl değiştireceğini belirtir. Windows SDK'sında IAccessible::accSelect bölümüne bakınflagsSelect.
varChild
Seçilecek nesneyi belirtir. Bu parametre (nesnenin kendisini seçmek için) veya alt kimlik (nesnenin alt öğelerinden birini seçmek için) olabilir CHILDID_SELF .
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::accSelect içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::accSelect . Windows SDK'sı.
CWnd::AnimateWindow
Pencereleri gösterirken veya gizlerken özel efektler üretir.
BOOL AnimateWindow(
DWORD dwTime,
DWORD dwFlags);
Parametreler
dwTime
Animasyonu oynatmanın ne kadar süreceğini milisaniye cinsinden belirtir. Bir animasyon genellikle 200 milisaniye sürer.
dwFlags
Animasyon türünü belirtir. Olası değerlerin tam listesi için bkz AnimateWindow. .
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin AnimateWindowişlevselliğine öykünmektedir.
CWnd::ArrangeIconicWindows
Simge durumuna küçültülmüş (ikonik) tüm alt pencereleri düzenler.
UINT ArrangeIconicWindows();
Dönüş Değeri
İşlev başarılı olursa bir simge satırının yüksekliği; aksi takdirde 0.
Açıklamalar
Bu üye işlevi ayrıca tüm ekranı kaplayan masaüstü penceresinde simgeler düzenler. GetDesktopWindow Üye işlevi, masaüstü penceresi nesnesine yönelik bir işaretçi alır.
MDI istemci penceresinde simgesel MDI alt pencerelerini düzenlemek için çağrısı yapın CMDIFrameWnd::MDIIconArrange.
Örnek
// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
UINT height = GetParent()->ArrangeIconicWindows();
TRACE(_T("height = %d\n"), height);
}
CWnd::Attach
Bir nesneye CWnd Windows penceresi ekler.
BOOL Attach(HWND hWndNew);
Parametreler
hWndNew
Windows penceresinin tutamacını belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Örnek
Bu örnekte MDI istemci penceresinin nasıl kullanılacağı Attach ve Detach ile nasıl eş kullanılacağı gösterilmektedir.
// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;
// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();
// In CMainFrame::OnCreate, attach MDI client window
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
TRACE(_T("Failed to attach MDIClient.\n"));
return -1; // fail to create
}
CWnd::BeginModalState
Çerçeve penceresini kalıcı hale getirmek için bu üye işlevini çağır.
virtual void BeginModalState();
CWnd::BeginPaint
CWnd Boyama için hazırlanır ve bir PAINTSTRUCT veri yapısını tablo hakkındaki bilgilerle doldurur.
CDC* BeginPaint(LPPAINTSTRUCT lpPaint);
Parametreler
lpPaint
PAINTSTRUCT Resim bilgilerini almak için yapıya işaret eden.
Dönüş Değeri
için CWndcihaz bağlamını tanımlar. İşaretçi geçici olabilir ve kapsamı EndPaintdışında depolanmamalıdır.
Açıklamalar
Boya yapısı, güncelleştirme bölgesini tamamen kapsayan en küçük dikdörtgene sahip bir veri yapısı ve arka plan silinip silinmediğini belirten bir bayrak içerir RECT .
Güncelleştirme bölgesi, , InvalidateRectveya InvalidateRgn üye işlevleri tarafından Invalidateve istemci alanını etkileyen herhangi bir işlemi boyutlandırdıktan, taşır, oluşturur, kaydırdıktan veya gerçekleştirdikten sonra sistem tarafından ayarlanır. Güncelleştirme bölgesi silinmek üzere işaretlenmişse bir BeginPaint WM_ONERASEBKGND ileti gönderir.
Bir iletiye BeginPaint yanıt vermek dışında üye işlevini çağırmayın WM_PAINT . Üye işlevine yapılan her çağrı, BeginPaint üye işlevine eşleşen bir çağrıya EndPaint sahip olmalıdır. Şapka işareti boyanacak bölgedeyse, BeginPaint üye işlevi şapka işaretinin silinmesini önlemek için otomatik olarak gizler.
Örnek
// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
PAINTSTRUCT ps;
CDC *pDC = BeginPaint(&ps);
pDC->Rectangle(CRect(0, 0, 100, 100));
EndPaint(&ps);
// Do not call CView::OnPaint() for painting messages
}
CWnd::BindDefaultProperty
Çağıran nesnenin varsayılan basit sınır özelliğini (düzenleme denetimi gibi) tür kitaplığında işaretlenmiş olarak veri kaynağı denetiminin , , UserNamePasswordve SQL özellikleri tarafından DataSourcetanımlanan temel imleçle bağlar.
void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
Parametreler
dwDispID
Veri kaynağı denetimine DISPID bağlanacak bir veriye bağlı denetimdeki özelliği belirtir.
vtProp
Bağlanacak özelliğin türünü belirtir. Örneğin, VT_BSTR, VT_VARIANTvb.
szFieldName
Özelliğin bağlanacağı veri kaynağı denetimi tarafından sağlanan imleçte sütunun adını belirtir.
pDSCWnd
Özelliğin bağlanacağı veri kaynağı denetimini barındıran pencereyi gösterir. Bu işaretçiyi almak için DCS ana bilgisayar penceresinin kaynak kimliğiyle çağrısı GetDlgItem yapın.
Açıklamalar
CWnd Bu işlevi çağırdığınız nesne, veriye bağlı bir denetim olmalıdır.
Örnek
BindDefaultProperty aşağıdaki bağlamda kullanılabilir:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
return TRUE;
}
CWnd::BindProperty
Veriye bağlı denetimdeki imleç bağlı özelliği (kılavuz denetimi gibi) bir veri kaynağı denetimine bağlar ve bu ilişkiyi MFC bağlama yöneticisiyle kaydeder.
void BindProperty(
DISPID dwDispId,
CWnd* pWndDSC);
Parametreler
dwDispId
Veri kaynağı denetimine DISPID bağlanacak bir veriye bağlı denetimdeki özelliği belirtir.
pWndDSC
Özelliğin bağlanacağı veri kaynağı denetimini barındıran pencereyi gösterir. Bu işaretçiyi almak için DCS ana bilgisayar penceresinin kaynak kimliğiyle çağrısı GetDlgItem yapın.
Açıklamalar
CWnd Bu işlevi çağırdığınız nesne, veriye bağlı bir denetim olmalıdır.
Örnek
BindProperty aşağıdaki bağlamda kullanılabilir:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
pMyBound->BindProperty(0x1, pDSC);
return TRUE;
}
CWnd::BringWindowToTop
Çakışan pencere yığınının en üstüne getirir CWnd .
void BringWindowToTop();
Açıklamalar
Ayrıca açılır pencere, BringWindowToTop üst düzey ve MDI alt pencerelerini etkinleştirir. BringWindowToTop Üye işlevi, çakışan pencereler tarafından kısmen veya tamamen gizlenen herhangi bir pencereyi ortaya çıkarmak için kullanılmalıdır.
Bu işlev yalnızca Win32 BringWindowToTop işlevini çağırır. SetWindowPos Bir pencerenin Z düzenindeki konumunu değiştirmek için işlevini çağırın. İşlev, BringWindowToTop pencere stilini en üst düzey pencere olacak şekilde değiştirmez. Daha fazla bilgi için bkz . ve arasındaki HWND_TOP fark nedir? HWND_TOPMOST
Örnek
// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
GetParentFrame()->BringWindowToTop();
}
CWnd::CalcWindowRect
Belirtilen istemci dikdörtgenini içerebilen pencere dikdörtgenini hesaplar.
virtual void CalcWindowRect(
LPRECT lpClientRect,
UINT nAdjustType = adjustBorder);
Parametreler
lpClientRect
[in, out] Dikdörtgen yapısının işaretçisi. Girişte, bu yapı istemci dikdörtgenini içerir. Yöntem tamamlandıktan sonra, bu yapı belirtilen istemci dikdörtgenini içerebilen pencere dikdörtgenini içerir.
nAdjustType
[in] Stil olmadan WS_EX_CLIENTEDGE pencere koordinatlarını hesaplamak için kullanınCWnd::adjustBorder; aksi takdirde kullanınCWnd::adjustOutside.
Açıklamalar
Hesaplanmış pencere dikdörtgeninin boyutu, menü çubuğu için alan içermez.
Daha fazla kullanım kısıtlaması için bkz AdjustWindowRectEx. .
Örnek
// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
CFrameWnd *pFrameWnd = new CFrameWnd;
CRect myRect;
GetClientRect(myRect);
pFrameWnd->Create(NULL, _T("My Frame"));
pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
pFrameWnd->ShowWindow(SW_SHOW);
}
CWnd::CancelToolTips
Şu anda bir araç ipucu görüntüleniyorsa bir araç ipucunu ekrandan kaldırmak için bu üye işlevini çağırın.
static void PASCAL CancelToolTips(BOOL bKeys = FALSE);
Parametreler
bKeys
TRUE bir tuşa basıldığında araç ipuçlarını iptal etmek ve durum çubuğu metnini varsayılan olarak ayarlamak için; aksi takdirde FALSE.
Açıklamalar
Not
Bu üye işlevinin kullanılması, kodunuz tarafından yönetilen araç ipuçlarını etkilemez. Yalnızca tarafından CWnd::EnableToolTipsyönetilen araç ipucu denetimini etkiler.
Örnek
// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
CRect corner(0, 0, 10, 10);
if (corner.PtInRect(point))
CancelToolTips();
CEdit::OnMouseMove(nFlags, point);
}
CWnd::CenterWindow
Bir pencereyi üst öğeye göre ortalar.
void CenterWindow(CWnd* pAlternateOwner = NULL);
Parametreler
pAlternateOwner
Ortalanacağı alternatif pencere işaretçisi (üst pencere dışında).
Açıklamalar
Genellikle uygulamanın ana penceresine göre merkezden CDialog::OnInitDialog ortaya iletişim kutuları çağrılır. varsayılan olarak, işlev alt pencereleri üst pencerelerine göre, açılır pencereleri ise sahiplerine göre ortalar. Açılan pencere sahip değilse, ekrana göre ortalanır. Bir pencereyi sahip veya üst pencere olmayan belirli bir pencereye göre ortalamak için, pAlternateOwner parametre geçerli bir pencereye ayarlanmış olabilir. Ekrana göre ortalamayı zorlamak için, tarafından CWnd::GetDesktopWindow döndürülen değeri olarak pAlternateOwnergeçirin.
Örnek
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
return TRUE;
}
CWnd::ChangeClipboardChain
CWnd Pano görüntüleyicileri zincirinden kaldırır ve zincirdeki CWnd üst öğe tarafından hWndNext belirtilen pencereyi yapar.
BOOL ChangeClipboardChain(HWND hWndNext);
Parametreler
hWndNext
Pano görüntüleyici zincirinde izleyen CWnd pencereyi tanımlar.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
CWnd::CheckDlgButton
Düğmeyi seçer (yanına onay işareti yerleştirir) veya düğmeyi temizler (onay işaretini kaldırır) veya üç durumlu düğmenin durumunu değiştirir.
void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parametreler
nIDButton
Değiştirilecek düğmeyi belirtir.
nCheck
Gerçekleştirecek eylemi belirtir. nCheck Sıfır değilse, üye işlevi düğmenin CheckDlgButton yanına bir onay işareti yerleştirir; 0 ise onay işareti kaldırılır. Üç durumlu düğmeler için, 2 ise nCheck düğme durumu belirsizdir.
Açıklamalar
İşlev, CheckDlgButton belirtilen düğmeye bir BM_SETCHECK ileti gönderir.
Örnek
// Sets 3 check buttons in various ways. Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
CheckDlgButton(IDC_CHECK1, BST_UNCHECKED); // 0
CheckDlgButton(IDC_CHECK2, BST_CHECKED); // 1
CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}
CWnd::CheckRadioButton
Gruptaki belirli bir radyo düğmesini seçer (onay işareti ekler) ve gruptaki diğer tüm radyo düğmelerini temizler (onay işaretini kaldırır).
void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parametreler
nIDFirstButton
Gruptaki ilk radyo düğmesinin tamsayı tanımlayıcısını belirtir.
nIDLastButton
Gruptaki son radyo düğmesinin tamsayı tanımlayıcısını belirtir.
nIDCheckButton
denetlenecek radyo düğmesinin tamsayı tanımlayıcısını belirtir.
Açıklamalar
İşlev, CheckRadioButton belirtilen radyo düğmesine bir BM_SETCHECK ileti gönderir.
Örnek
// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}
CWnd::ChildWindowFromPoint
Sahip olduğu alt pencerelerden hangilerinin ( varsa) belirtilen noktayı içerdiğini CWnd belirler.
CWnd* ChildWindowFromPoint(POINT point) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags) const;
Parametreler
point
Test edilecek noktanın istemci koordinatlarını belirtir.
nflags
Atlanacak alt pencereleri belirtir. Bu parametre aşağıdaki değerlerin bir bileşimi olabilir:
| Değer | Anlamı |
|---|---|
CWP_ALL |
Alt pencereleri atlamayın |
CWP_SKIPINVISIBLE |
Görünmez alt pencereleri atlama |
CWP_SKIPDISABLED |
Devre dışı bırakılan alt pencereleri atla |
CWP_SKIPTRANSPARENT |
Saydam alt pencereleri atlama |
Dönüş Değeri
Noktayı içeren alt pencereyi tanımlar. NULL Verilen noktanın istemci alanının dışında olması gerekir. Nokta istemci alanının içindeyse ancak herhangi bir alt pencere içinde yer almıyorsa, CWnd döndürülür.
Bu üye işlevi, belirtilen noktayı içeren gizli veya devre dışı bırakılmış bir alt pencere döndürür.
Verilen noktayı birden fazla pencere içerebilir. Ancak, bu işlev yalnızca CWndnoktayı içeren ilk pencerenin * değerini döndürür.
CWndDöndürülen * geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Örnek
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint(
CPoint(rect.Width()/2, rect.Height()/2),
// Top left is always 0, 0.
CWP_SKIPINVISIBLE);
TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}
CWnd::ClientToScreen
Ekrandaki belirli bir noktanın veya dikdörtgenin istemci koordinatlarını ekran koordinatlarına dönüştürür.
void ClientToScreen(LPPOINT lpPoint) const;
void ClientToScreen(LPRECT lpRect) const;
Parametreler
lpPoint
Dönüştürülecek istemci koordinatlarını içeren bir POINT yapıya veya CPoint nesneye işaret eder.
lpRect
Dönüştürülecek istemci koordinatlarını içeren bir RECT yapıya veya CRect nesneye işaret eder.
Açıklamalar
ClientToScreen Üye işlevi, yeni ekran koordinatlarını hesaplamak için veya RECT yapısında veya yapısında POINT ya CPoint da CRect ya da lpRect nesnesinde lpPoint istemci koordinatlarını kullanır; ardından yapıdaki koordinatları yeni koordinatlarla değiştirir. Yeni ekran koordinatları, sistem ekranının sol üst köşesine göre değişir.
Üye işlevi, ClientToScreen verilen noktanın veya dikdörtgenin istemci koordinatlarında olduğunu varsayar.
Örnek
// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
CWnd::CloseWindow
Pencereyi simge durumuna küçültür.
void CloseWindow();
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin CloseWindowişlevselliğine öykünmektedir.
CWnd::ContinueModal
Bu üye işlevi, kalıcı durumdan ne zaman çıkılması gerektiğini belirlemek için tarafından RunModalLoop çağrılır.
virtual BOOL ContinueModal();
Dönüş Değeri
Kalıcı döngü devam edilecekse sıfır olmayan; çağrıldığında EndModalLoop 0.
Açıklamalar
Varsayılan olarak, çağrılana kadar EndModalLoop sıfır olmayan bir değer döndürür.
CWnd::Create
Belirtilen alt pencereyi oluşturur ve nesneye CWnd ekler.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL);
Parametreler
lpszClassName
[in] Kayıtlı bir sistem penceresi sınıfının adını içeren null ile sonlandırılan bir dizenin işaretçisi; veya önceden tanımlanmış bir sistem penceresi sınıfının adı.
lpszWindowName
[in] Pencere görünen adını içeren null ile sonlandırılan bir dizenin işaretçisi; aksi takdirde NULL pencere görünen adı yoktur.
dwStyle
[in] Pencere stillerinin bit düzeyinde bileşimi (VEYA). Bu WS_POPUP seçenek geçerli bir stil değil.
rect
[in] Pencerenin üst pencerenin sol üst köşesine göre boyutu ve konumu.
pParentWnd
[in] Üst pencere işaretçisi.
nID
[in] Pencerenin kimliği.
pContext
[in] Uygulamanın belge görünümü mimarisini özelleştirmek için kullanılan bir CCreateContext yapı işaretçisi.
Dönüş Değeri
TRUE yöntemi başarılı olursa; aksi takdirde FALSE.
Açıklamalar
Uyarı
CWnd::PreCreateWindowşimdi, menü NULL ise ve stil içeriyorsaWS_CHILD, parametresinin this CREATESTRUCT üyesini işaretçiye atarhMenu. Düzgün işlevsellik için, iletişim kutusu denetiminizin olmayan NULLbir kimliği olduğundan emin olun.
Bu değişiklik, yönetilen/yerel birlikte çalışma senaryolarındaki kilitlenmeyi düzeltir. TRACE içindeki CWnd::Create bir deyim, sorunun geliştiricisini uyarır.
Pencere sınıflarını AfxRegisterWndClass kaydetmek için işlevini kullanın. Kullanıcı tanımlı pencere sınıfları, kayıtlı oldukları modülde kullanılabilir.
CWnd::OnCreate yöntemi, yöntem döndürülmeden Create önce ve pencere görünür hale gelmeden önce çağrılır.
Örnek
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
CWnd::CreateAccessibleProxy
Belirtilen nesne için bir Etkin Erişilebilirlik ara sunucusu oluşturur.
virtual HRESULT CreateAccessibleProxy(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parametreler
wParam
Etkin Erişilebilirlik ara sunucusu tarafından erişilen nesneyi tanımlar. Aşağıdaki değerlerden biri olabilir
| Değer | Anlamı |
|---|---|
OBJID_CLIENT |
Pencerenin istemci alanına başvurur. |
lParam
İletiye bağımlı ek bilgiler sağlar.
pResult
Sonuç kodunu depolayan bir LRESULT işaretçi.
Açıklamalar
Belirtilen nesne için bir Etkin Erişilebilirlik ara sunucusu oluşturur.
CWnd::CreateCaret
Sistem şapka işareti için yeni bir şekil oluşturur ve şapka işaretinin sahipliğini talep eder.
void CreateCaret(CBitmap* pBitmap);
Parametreler
pBitmap
Şapka işareti şeklini tanımlayan bit eşlemi tanımlar.
Açıklamalar
Bit eşlem daha önce üye işlevi, CreateDIBitmap Windows işlevi veya CBitmap::LoadBitmap üye işlevi tarafından CBitmap::CreateBitmap oluşturulmuş olmalıdır.
CreateCaret , giriş işaretinin hangi pencereye sahip olduğuna bakılmaksızın, varsa önceki şapka işaretini otomatik olarak yok eder. Oluşturulduktan sonra şapka işareti başlangıçta gizlenir. Şapka işaretini ShowCaret göstermek için üye işlevi çağrılmalıdır.
Sistem şapka işareti paylaşılan bir kaynaktır. CWnd yalnızca giriş odağı olduğunda veya etkin olduğunda bir şapka işareti oluşturmalıdır. Giriş odağını kaybetmeden veya etkin olmadan önce şapka işaretini yok etmelidir.
Örnek
// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
m_pBitmapCaret = new CBitmap;
m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
m_MyEdit.CreateCaret(m_pBitmapCaret);
m_MyEdit.ShowCaret();
}
CWnd::CreateControl
MFC programında bir CWnd nesne tarafından temsil edilecek bir ActiveX denetimi oluşturmak için bu üye işlevini kullanın.
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
Parametreler
pszClass
Bu dize, sınıfı için OLE "kısa adı" (ProgID) içerebilir. Örneğin, "CIRC3.Circ3Ctrl.1". Adın, denetim tarafından kaydedilen adla aynı olması gerekir. Alternatif olarak, dize küme ayraçları içinde bulunan bir CLSIDdize biçimini içerebilir. Örneğin, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Her iki durumda da dizeyi CreateControl ilgili sınıf kimliğine dönüştürür.
pszWindowName
Denetimde görüntülenecek metnin işaretçisi. Denetimin Caption veya Text özelliğinin (varsa) değerini ayarlar. ise NULL, denetimin Caption veya Text özelliği değiştirilmez.
dwStyle
Windows stilleri. Kullanılabilir stiller Açıklamalar altında listelenir.
rect
Denetimin boyutunu ve konumunu belirtir. Nesne veya RECT yapı olabilirCRect.
ppt
Denetimin sol üst köşesini içeren bir POINT yapıyı veya CPoint nesneyi gösterir.
pSize
Denetimin boyutunu içeren bir SIZE yapıyı veya CSize nesneyi gösterir
pParentWnd
Denetimin üst penceresini belirtir. Bu olmamalıdır NULL.
nID
Denetimin kimliğini belirtir.
pPersist
Denetimin kalıcı durumunu içeren bir CFile işaretçi. Varsayılan değer, NULLdenetimin durumunu herhangi bir kalıcı depolama alanından geri yüklemeden başlatıldığını gösterir. değilse NULL, bir akış veya depolama biçiminde denetimin kalıcı verilerini içeren türetilmiş bir nesnenin işaretçisi CFileolmalıdır. Bu veriler istemcinin önceki bir etkinleştirmesinde kaydedilmiş olabilir. CFile başka veriler içerebilir, ancak öğesinin çağrısı CreateControlsırasında okuma-yazma işaretçisinin kalıcı verilerin ilk baytını ayarlamış olması gerekir.
bStorage
içindeki pPersist verilerin olarak mı yoksa IStream veri olarak IStorage mı yorumlanması gerektiğini gösterir. içindeki pPersist veriler bir depolama alanıysa, bStorage olmalıdır TRUE. içindeki pPersist veriler bir akışsa, bStorage olmalıdır FALSE. Varsayılan değer şudur: FALSE.
bstrLicKey
İsteğe bağlı lisans anahtarı verileri. Bu veriler yalnızca çalışma zamanı lisans anahtarı gerektiren denetimler oluşturmak için gereklidir. Denetim lisanslamayı destekliyorsa, denetimin oluşturulmasının başarılı olması için bir lisans anahtarı sağlamanız gerekir. Varsayılan değer şudur: NULL.
clsid
Denetimin benzersiz sınıf kimliği.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
CreateControl , işlevinin CWnd::Create doğrudan analogudur ve bir CWndiçin pencere oluşturur. CreateControl sıradan bir pencere yerine bir ActiveX denetimi oluşturur.
windows bayraklarının dwStyle yalnızca bir alt kümesi için CreateControldesteklenir:
WS_VISIBLEBaşlangıçta görünen bir pencere oluşturur. Denetimin normal pencereler gibi hemen görünür olmasını istiyorsanız gereklidir.WS_DISABLEDBaşlangıçta devre dışı bırakılmış bir pencere oluşturur. Devre dışı bırakılmış bir pencere kullanıcıdan giriş alamaz. Denetimin Enabled özelliği varsa ayarlanabilir.WS_BORDERİnce çizgi kenarlıklı bir pencere oluşturur. Denetimin özelliğiBorderStylevarsa ayarlanabilir.WS_GROUPBir denetim grubunun ilk denetimini belirtir. Kullanıcı yön tuşlarını kullanarak klavye odağını gruptaki bir denetimden diğerine değiştirebilir. İlk denetimdenWS_GROUPsonra stille tanımlanan tüm denetimler aynı gruba aittir. StileWS_GROUPsahip bir sonraki denetim grubu sonlandırır ve sonraki grubu başlatır.WS_TABSTOPKullanıcı SEKME tuşuna bastığında klavye odağını alabilen bir denetim belirtir. SEKME tuşuna basmak klavye odağını stilin bir sonraki denetimineWS_TABSTOPdeğiştirir.
Örnek
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const &GetClsid()
{
static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT &rect, CWnd *pParentWnd, UINT nID,
CCreateContext *pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
CWnd::CreateEx
Belirtilen pencereyi oluşturur ve nesneye CWnd ekler.
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU nIDorHMenu,
LPVOID lpParam = NULL);
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
LPVOID lpParam = NULL);
Parametreler
dwExStyle
Genişletilmiş pencere stillerinin bit düzeyinde bileşimi (VEYA), aksi takdirde NULL varsayılan genişletilmiş pencere stili için.
lpszClassName
Kayıtlı bir sistem penceresi sınıfının adını içeren null ile sonlandırılan bir dizenin işaretçisi; veya önceden tanımlanmış bir sistem penceresi sınıfının adı.
lpszWindowName
Pencere görünen adını içeren null ile sonlandırılan bir dizenin işaretçisi; aksi takdirde NULL pencere görünen adı yoktur.
dwStyle
Pencere stillerinin bit düzeyinde bileşimi (VEYA), aksi takdirde NULL varsayılan pencere stili için.
x
Pencerenin ekranın sol tarafından veya üst pencereden ilk yatay uzaklığı.
y
Pencerenin ekranın en üstünden veya üst pencereden ilk dikey uzaklığı.
nWidth
Pencerenin piksel cinsinden genişliği.
nHeight
Pencerenin piksel cinsinden yüksekliği.
hwndParent
Alt pencere için üst pencerenin tutamacı; aksi takdirde, pencerenin sahibi varsa, sahip penceresinin tutamacı.
nIDorHMenu
Alt pencere için pencere kimliği; aksi takdirde, pencerenin menüsünün kimliği.
lpParam
Alandaki yönteme geçirilen kullanıcı verilerinin CWnd::OnCreate işaretçisi lpCreateParams .
rect
Pencerenin ekrana veya üst pencereye göre boyutu ve konumu.
pParentWnd
Alt pencere için üst pencere işaretçisi; aksi takdirde, pencerenin sahibi varsa, sahip penceresinin işaretçisi.
nID
Alt pencere için pencere kimliği; aksi takdirde, pencerenin menüsünün kimliği.
Dönüş Değeri
TRUE yöntemi başarılı olursa; aksi takdirde FALSE.
Açıklamalar
Uyarı
CWnd::PreCreateWindowşimdi, menü NULL ise ve stil içeriyorsaWS_CHILD, parametresinin this CREATESTRUCT üyesini işaretçiye atarhMenu. Düzgün işlevsellik için, iletişim kutusu denetiminizin olmayan NULLbir kimliği olduğundan emin olun.
Bu değişiklik, yönetilen/yerel birlikte çalışma senaryolarındaki kilitlenmeyi düzeltir. TRACE içindeki CWnd::Create bir deyim, sorunun geliştiricisini uyarır.
Varsayılan genişletilmiş pencere stili şeklindedir WS_EX_LEFT. Varsayılan pencere stili şeklindedir WS_OVERLAPPED.
Pencere sınıflarını AfxRegisterWndClass kaydetmek için işlevini kullanın. Kullanıcı tanımlı pencere sınıfları, kayıtlı oldukları modülde kullanılabilir.
Alt pencerelerin boyutları, üst pencerenin istemci alanının sol üst köşesine göredir. Üst düzey pencerelerin boyutları ekranın sol üst köşesine göre belirlenir.
CWnd::OnCreate yöntemi, yöntem döndürülmeden CreateEx önce ve pencere görünür hale gelmeden önce çağrılır.
Örnek
void CMyDlg::OnCreateExtendedControl()
{
// m_pWndStaticEx is a CWnd* member of CMyDlg
m_pWndStaticEx = new CStatic;
m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), _T("Hi"),
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)2345);
}
CWnd::CreateGrayCaret
Sistem şapka işareti için gri bir dikdörtgen oluşturur ve şapka işaretinin sahipliğini talep eder.
void CreateGrayCaret(
int nWidth,
int nHeight);
Parametreler
nWidth
Şapka işaretinin genişliğini belirtir (mantıksal birimlerde). Bu parametre 0 ise, genişlik sistem tanımlı pencere-kenarlık genişliğine ayarlanır.
nHeight
Şapka işaretinin yüksekliğini belirtir (mantıksal birimlerde). Bu parametre 0 ise, yükseklik sistem tanımlı pencere-kenarlık yüksekliğine ayarlanır.
Açıklamalar
Şapka işareti şekli bir çizgi veya blok olabilir.
parametreleri nWidth ve nHeight giriş işaretinin genişliğini ve yüksekliğini (mantıksal birimlerde) belirtir; tam genişlik ve yükseklik (piksel cinsinden) eşleme moduna bağlıdır.
Sistemin pencere kenarlık genişliği veya yüksekliği, ve SM_CYBORDER dizinleri ile SM_CXBORDER Windows işlevi tarafından GetSystemMetrics alınabilir. Pencere kenarlık genişliğini veya yüksekliğini kullanmak, şapka işaretinin yüksek çözünürlüklü bir ekranda görünür olmasını sağlar.
Üye CreateGrayCaret işlevi, giriş işaretinin hangi pencereye sahip olduğuna bakılmaksızın, varsa önceki şapka işaretini otomatik olarak yok eder. Oluşturulduktan sonra şapka işareti başlangıçta gizlenir. Şapka işaretini ShowCaret göstermek için üye işlevi çağrılmalıdır.
Sistem şapka işareti paylaşılan bir kaynaktır. CWnd yalnızca giriş odağı olduğunda veya etkin olduğunda bir şapka işareti oluşturmalıdır. Giriş odağını kaybetmeden veya etkin olmadan önce şapka işaretini yok etmelidir.
Örnek
// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
m_MyEdit.CreateGrayCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CreateSolidCaret
Sistem şapka işareti için düz bir dikdörtgen oluşturur ve şapka işaretinin sahipliğini talep eder.
void CreateSolidCaret(
int nWidth,
int nHeight);
Parametreler
nWidth
Şapka işaretinin genişliğini belirtir (mantıksal birimlerde). Bu parametre 0 ise, genişlik sistem tanımlı pencere-kenarlık genişliğine ayarlanır.
nHeight
Şapka işaretinin yüksekliğini belirtir (mantıksal birimlerde). Bu parametre 0 ise, yükseklik sistem tanımlı pencere-kenarlık yüksekliğine ayarlanır.
Açıklamalar
Şapka işareti şekli bir çizgi veya blok olabilir.
parametreleri nWidth ve nHeight giriş işaretinin genişliğini ve yüksekliğini (mantıksal birimlerde) belirtir; tam genişlik ve yükseklik (piksel cinsinden) eşleme moduna bağlıdır.
Sistemin pencere kenarlık genişliği veya yüksekliği, ve SM_CYBORDER dizinleri ile SM_CXBORDER Windows işlevi tarafından GetSystemMetrics alınabilir. Pencere kenarlık genişliğini veya yüksekliğini kullanmak, şapka işaretinin yüksek çözünürlüklü bir ekranda görünür olmasını sağlar.
Üye CreateSolidCaret işlevi, giriş işaretinin hangi pencereye sahip olduğuna bakılmaksızın, varsa önceki şapka işaretini otomatik olarak yok eder. Oluşturulduktan sonra şapka işareti başlangıçta gizlenir. Şapka işaretini ShowCaret göstermek için üye işlevi çağrılmalıdır.
Sistem şapka işareti paylaşılan bir kaynaktır. CWnd yalnızca giriş odağı olduğunda veya etkin olduğunda bir şapka işareti oluşturmalıdır. Giriş odağını kaybetmeden veya etkin olmadan önce şapka işaretini yok etmelidir.
Örnek
// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
m_MyEdit.CreateSolidCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CWnd
Bir CWnd nesne oluşturur.
CWnd();
Açıklamalar
Veya Create üye işlevi çağrılana CreateEx kadar Windows penceresi oluşturulmaz ve eklenmez.
CWnd::Default
Varsayılan pencere yordamını çağırır.
LRESULT Default();
Dönüş Değeri
Gönderilen iletiye bağlıdır.
Açıklamalar
Varsayılan pencere yordamı, bir uygulamanın işlemediği tüm pencere iletileri için varsayılan işleme sağlar. Bu üye işlevi her iletinin işlenmesini sağlar.
Örnek
// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
CWnd::Default();
}
CWnd::DefWindowProc
Bir uygulamanın işlemediği tüm pencere iletileri için varsayılan işleme sağlayan varsayılan pencere yordamını çağırır.
virtual LRESULT DefWindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametreler
message
İşlenecek Windows iletisini belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
Dönüş Değeri
Gönderilen iletiye bağlıdır.
Açıklamalar
Bu üye işlevi her iletinin işlenmesini sağlar. Pencere yordamı tarafından alınanlarla aynı parametrelerle çağrılmalıdır.
CWnd::DeleteTempMap
Nesnenin boşta kalma süresi işleyicisi tarafından otomatik olarak çağrılır CWinApp .
static void PASCAL DeleteTempMap();
Açıklamalar
Üye işlevi tarafından FromHandle oluşturulan tüm geçici CWnd nesneleri siler.
Örnek
// DeleteTempMap() is a static member and does not need
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();
CWnd::DestroyWindow
Nesneye bağlı CWnd Windows penceresini yok eder.
virtual BOOL DestroyWindow();
Dönüş Değeri
Pencere yok edilirse sıfır olmayan; aksi takdirde 0.
Açıklamalar
DestroyWindow Üye işlevi, pencereye uygun iletileri göndererek devre dışı bırakır ve giriş odağını kaldırır. Ayrıca pencerenin menüsünü yok eder, uygulama sırasını temizler, bekleyen zamanlayıcıları yok eder, Pano sahipliğini kaldırır ve görüntüleyici zincirinin en üstündeyse CWnd Pano görüntüleyici zincirini kırar. Pencereye ileti gönderir WM_DESTROY ve WM_NCDESTROY gönderir. Nesneyi yok CWnd etmez.
DestroyWindow temizleme gerçekleştirmek için bir yer tutucudur. Bir DestroyWindow sanal işlev olduğundan, Sınıf Görünümü'nde türetilmiş herhangi bir CWndsınıfta gösterilir. Ancak, türetilmiş sınıfınızda CWndDestroyWindow bu işlevi geçersiz kılsanız bile çağrılmaz. DestroyWindow MFC kodunda çağrılmadıysa, çağrılmasını istiyorsanız bunu açıkça kendi kodunuzda çağırmanız gerekir.
Örneğin, türetilmiş bir CViewsınıfta geçersiz kıldığınız DestroyWindow varsayılır. MFC kaynak kodu türetilmiş sınıflarından CFrameWndhiçbirinde çağrı DestroyWindow yapmadığından, açıkça çağırmadığınız sürece geçersiz kılınan DestroyWindow kodunuz çağrılmaz.
Pencere herhangi bir pencerenin üst öğesiyse, üst pencere yok edildiğinde bu alt pencereler otomatik olarak yok edilir. DestroyWindow Üye işlevi önce alt pencereleri, sonra da pencerenin kendisini yok eder.
DestroyWindow Üye işlevi, tarafından CDialog::Createoluşturulan modsuz iletişim kutularını da yok eder.
CWnd Yok edilen bir alt pencereyse ve stil ayarlı değilseWS_EX_NOPARENTNOTIFY, WM_PARENTNOTIFY ileti üst pencereye gönderilir.
Örnek
// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in
// OnOK() & OnCancel() handlers
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(_T("UpdateData failed during dialog termination\n"));
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}
void CModeless::OnCancel()
{
DestroyWindow();
}
CWnd::Detach
Bir Nesneden CWnd Bir Windows tutamacını ayırır ve tanıtıcıyı döndürür.
HWND Detach();
Dönüş Değeri
Windows nesnesine A HWND .
Örnek
örneğine CWnd::Attachbakın.
CWnd::DlgDirList
Liste kutusunu bir dosya veya dizin listesiyle doldurur.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType);
Parametreler
lpPathSpec
Yolu veya dosya adını içeren null olarak sonlandırılan bir dizeyi gösterir. DlgDirList değişiklikleri içerecek kadar uzun olması gereken bu dizeyi değiştirir. Daha fazla bilgi için aşağıdaki "Açıklamalar" bölümüne bakın.
nIDListBox
Liste kutusunun tanımlayıcısını belirtir. 0 ise nIDListBox , DlgDirList liste kutusu olmadığını varsayar ve bir kutu doldurmayı denemez.
nIDStaticPath
Geçerli sürücüyü ve dizini görüntülemek için kullanılan statik metin denetiminin tanımlayıcısını belirtir. 0 ise nIDStaticPath , DlgDirList böyle bir metin denetiminin mevcut olmadığını varsayar.
nFileType
Görüntülenecek dosyaların özniteliklerini belirtir. Aşağıdaki değerlerin herhangi bir bileşimi olabilir:
DDL_READWRITEEk öznitelikleri olmayan okuma-yazma veri dosyaları.DDL_READONLYSalt okunur dosyalar.DDL_HIDDENGizli dosyalar.DDL_SYSTEMSistem dosyaları.DDL_DIRECTORYDizin.DDL_ARCHIVEArşiv.DDL_POSTMSGSLB_DIRbayrak.LB_DIRBayrak ayarlanırsa, Windows tarafındanDlgDirListoluşturulan iletileri uygulamanın kuyruğuna yerleştirir; aksi takdirde, doğrudan iletişim kutusu yordamına gönderilir.DDL_DRIVESSürücü.DDL_DRIVESBayrak ayarlanırsa,DDL_EXCLUSIVEbayrak otomatik olarak ayarlanır. Bu nedenle, sürücüleri ve dosyaları içeren bir dizin listesi oluşturmak için iki kez çağırmalısınızDlgDirList: bir kez bayrak kümesiyleDDL_DRIVESve bir kez de listenin geri kalanı için bayraklarla.DDL_EXCLUSIVEÖzel bit. Özel kullanım biti ayarlanırsa, yalnızca belirtilen türde dosyalar listelenir; aksi takdirde, belirtilen türdeki normal dosyalar ve dosyalar listelenir.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
DlgDirListLB_DIR ve iletileri liste kutusuna gönderirLB_RESETCONTENT. tarafından nIDListBox belirtilen liste kutusunu, tarafından lpPathSpecverilen yolla eşleşen tüm dosyaların adlarıyla doldurur.
lpPathSpec parametresi aşağıdaki forma sahiptir:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Bu örnekte, drive bir sürücü harfi, directory geçerli bir dizin adıdır ve filename en az bir joker karakter içermesi gereken geçerli bir dosya adıdır. Joker karakterler bir soru işaretidir (?), yani herhangi bir karakterle ve yıldız işaretiyle (* ), herhangi bir sayıda karakterle eşleş anlamına gelir.
için lpPathSpec0 uzunluklu bir dize belirtirseniz veya yalnızca bir dizin adı belirtirseniz ancak herhangi bir dosya belirtimi içermiyorsanız, dize "*.*" olarak değiştirilir.
Bir sürücü ve/veya dizin adı içeriyorsa lpPathSpec , liste kutusu doldurulmadan önce geçerli sürücü ve dizin belirlenen sürücü ve dizin olarak değiştirilir. tarafından nIDStaticPath tanımlanan metin denetimi de yeni sürücü ve/veya dizin adıyla güncelleştirilir.
Liste kutusu doldurulduktan sonra, lpPathSpec yolun sürücü ve/veya dizin bölümü kaldırılarak güncelleştirilir.
Örnek
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
CWnd::DlgDirListComboBox
Birleşik giriş kutusunun liste kutusunu bir dosya veya dizin listesiyle doldurur.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType);
Parametreler
lpPathSpec
Yolu veya dosya adını içeren null olarak sonlandırılan bir dizeyi gösterir. DlgDirListComboBox bu dizeyi değiştirir, bu nedenle bu veriler dize değişmez değeri biçiminde olmamalıdır. Aşağıdaki "Açıklamalar" bölümüne bakın.
nIDComboBox
İletişim kutusundaki birleşik giriş kutusunun tanımlayıcısını belirtir. 0 ise nIDComboBox , DlgDirListComboBox birleşik giriş kutusu olmadığını varsayar ve bir kutu doldurmaya çalışmaz.
nIDStaticPath
Geçerli sürücüyü ve dizini görüntülemek için kullanılan statik metin denetiminin tanımlayıcısını belirtir. 0 ise nIDStaticPath , DlgDirListComboBox böyle bir metin denetiminin mevcut olmadığını varsayar.
nFileType
Görüntülenecek dosyaların DOS dosya özniteliklerini belirtir. Aşağıdaki değerlerin herhangi bir bileşimi olabilir:
DDL_READWRITEEk öznitelikleri olmayan okuma-yazma veri dosyaları.DDL_READONLYSalt okunur dosyalar.DDL_HIDDENGizli dosyalar.DDL_SYSTEMSistem dosyaları.DDL_DIRECTORYDizin.DDL_ARCHIVEArşiv.DDL_POSTMSGSCB_DIRbayrak.CB_DIRBayrak ayarlanırsa, Windows tarafındanDlgDirListComboBoxoluşturulan iletileri uygulamanın kuyruğuna yerleştirir; aksi takdirde, doğrudan iletişim kutusu yordamına gönderilir.DDL_DRIVESSürücü.DDL_DRIVESBayrak ayarlanırsa,DDL_EXCLUSIVEbayrak otomatik olarak ayarlanır. Bu nedenle, sürücüleri ve dosyaları içeren bir dizin listesi oluşturmak için iki kez çağırmalısınızDlgDirListComboBox: bir kez bayrak kümesiyleDDL_DRIVESve bir kez de listenin geri kalanı için bayraklarla.DDL_EXCLUSIVEÖzel bit. Özel kullanım biti ayarlanırsa, yalnızca belirtilen türde dosyalar listelenir; aksi takdirde, belirtilen türdeki normal dosyalar ve dosyalar listelenir.
Dönüş Değeri
İşlevin sonucunu belirtir. Bir döküm, hatta boş bir liste yapıldıysa sıfır değildir. 0 dönüş değeri, giriş dizesinin geçerli bir arama yolu içermediğini gösterir.
Açıklamalar
DlgDirListComboBoxbirleşik giriş kutusuna ve CB_DIR iletileri gönderirCB_RESETCONTENT. tarafından belirtilen birleşik giriş kutusunun liste kutusunu, tarafından nIDComboBox lpPathSpecverilen yolla eşleşen tüm dosyaların adlarıyla doldurur.
lpPathSpec parametresi aşağıdaki forma sahiptir:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Bu örnekte, drive bir sürücü harfi, directory geçerli bir dizin adıdır ve filename en az bir joker karakter içermesi gereken geçerli bir dosya adıdır. Joker karakterler bir soru işaretidir (?), yani herhangi bir karakterle ve yıldız işaretiyle ()* eşleşerek herhangi bir sayıda karakterle eşleşilir.
için lpPathSpecsıfır uzunluklu bir dize belirtirseniz, geçerli dizin kullanılır ve lpPathSpec değiştirilmez. Yalnızca bir dizin adı belirtirseniz ancak herhangi bir dosya belirtimi içermiyorsanız, dize "*" olarak değiştirilir.
Bir sürücü ve/veya dizin adı içeriyorsa lpPathSpec , liste kutusu doldurulmadan önce geçerli sürücü ve dizin belirlenen sürücü ve dizin olarak değiştirilir. tarafından nIDStaticPath tanımlanan metin denetimi de yeni sürücü ve/veya dizin adıyla güncelleştirilir.
Birleşik giriş kutusu liste kutusu doldurulduktan sonra, lpPathSpec yolun sürücü ve/veya dizin bölümü kaldırılarak güncelleştirilir.
Örnek
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
CWnd::DlgDirSelect
Liste kutusundan geçerli seçimi alır.
BOOL DlgDirSelect(
LPTSTR lpString,
int nIDListBox);
Parametreler
lpString
Liste kutusunda geçerli seçimi almak için bir arabelleğe işaret eden.
nIDListBox
İletişim kutusundaki bir liste kutusunun tamsayı kimliğini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Liste kutusunun üye işlevi tarafından doldurulduğunu ve seçimin DlgDirList bir sürücü harfi, dosya veya dizin adı olduğunu varsayar.
DlgDirSelect Üye işlevi, seçimi tarafından lpStringverilen arabelleğe kopyalar. Seçim lpString yoksa değişmez.
DlgDirSelectLB_GETTEXT ve iletileri liste kutusuna gönderirLB_GETCURSEL.
Bir liste kutusundan birden fazla dosya adının döndürülebilmesine izin vermez. Liste kutusu birden çok seçimli liste kutusu olmamalıdır.
CWnd::DlgDirSelectComboBox
Birleşik giriş kutusunun liste kutusundan geçerli seçimi alır.
BOOL DlgDirSelectComboBox(
LPTSTR lpString,
int nIDComboBox);
Parametreler
lpString
Seçili yolu almak için bir arabelleğe işaret eden.
nIDComboBox
İletişim kutusundaki birleşik giriş kutusunun tamsayı kimliğini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Liste kutusunun üye işlevi tarafından doldurulduğunu ve seçimin DlgDirListComboBox bir sürücü harfi, dosya veya dizin adı olduğunu varsayar.
DlgDirSelectComboBox Üye işlevi seçimi belirtilen arabelleğe kopyalar. Seçim yoksa, arabelleğin içeriği değiştirilmez.
DlgDirSelectComboBoxbirleşik giriş kutusuna ve CB_GETLBTEXT iletileri gönderirCB_GETCURSEL.
Bir birleşik giriş kutusundan birden fazla dosya adının döndürülebilmesine izin vermez.
CWnd::DoDataExchange
İletişim kutusu verilerini değiştirmek ve doğrulamak için çerçeve tarafından çağrılır.
virtual void DoDataExchange(CDataExchange* pDX);
Parametreler
pDX
Nesne işaretçisi CDataExchange .
Açıklamalar
Bu işlevi hiçbir zaman doğrudan çağırmayın. Üye işlevi tarafından çağrılır UpdateData . bir iletişim kutusunun denetimlerini başlatmak veya bir iletişim kutusundan veri almak için çağrısı UpdateData yapın.
uygulamasından CDialoguygulamaya özgü bir iletişim kutusu sınıfı türetdiğinizde, çerçevenin otomatik veri değişimini ve doğrulamasını kullanmak istiyorsanız bu üye işlevini geçersiz kılmanız gerekir. Değişken Ekle sihirbazı, iletişim kutusu veri değişimi (DDX) ve doğrulama (DDV) genel işlev çağrılarının istenen "veri eşlemesini" içeren bu üye işlevinin geçersiz kılınmış bir sürümünü yazar.
Bu üye işlevinin geçersiz kılınmış bir sürümünü otomatik olarak oluşturmak için, önce iletişim kutusu düzenleyicisiyle bir iletişim kutusu kaynağı oluşturun, ardından uygulamaya özgü bir iletişim kutusu sınıfı türetin. Ardından değişkenleri, verileri ve doğrulama aralıklarını yeni iletişim kutusundaki çeşitli denetimlerle ilişkilendirmek için Değişken Ekle sihirbazını kullanın. Sihirbaz daha sonra geçersiz kılınan DoDataExchangeve bir veri eşlemesi içeren öğesini yazar. Aşağıda, Değişken Ekleme sihirbazı tarafından oluşturulan örnek bir DDX/DDV kod bloğu verilmiştir:
void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}
Geçersiz DoDataExchange kılınan üye işlevi, kaynak dosyanızdaki makro deyimlerinden önce gelmelidir.
İletişim kutusu veri değişimi ve doğrulaması hakkında daha fazla bilgi için bkz . Formda Verileri Görüntüleme ve Düzenleme ve İletişim Kutusu Veri Değişimi ve Doğrulama. Değişken Ekle sihirbazı tarafından oluşturulan DDX_ ve DDV_ makrolarının açıklaması için bkz . Teknik Not 26.
CWnd::DragAcceptFiles
Pencerenin Windows Dosya Yöneticisi'nden veya Dosya Gezgini bırakılan dosyaları kabul ettiğini belirtmek için uygulamanızın CWinApp::InitInstance işlevinde bir işaretçi kullanarak CWnd bu üye işlevini bir pencere içinden çağırın.
void DragAcceptFiles(BOOL bAccept = TRUE);
Parametreler
BAccept
Sürüklenen dosyaların kabul edilip edilmediğini gösteren bayrak.
Açıklamalar
Yalnızca parametresi ayarlanmış TRUE olarak çağıran DragAcceptFiles bAccept pencere, Kendisini Windows iletisini WM_DROPFILESişleyebildi olarak tanımladı. Örneğin, bir MDI uygulamasında, işlev çağrısında CMDIFrameWnd DragAcceptFiles pencere işaretçisi kullanılıyorsa, yalnızca CMDIFrameWnd pencere iletiyi alır WM_DROPFILES . Bu ileti tüm açık CMDIChildWnd pencerelere gönderilmez. Bir CMDIChildWnd pencerenin bu iletiyi alması için pencere işaretçisiyle CMDIChildWnd aramanız DragAcceptFiles gerekir.
Sürüklenen dosyaları almayı durdurmak için olarak ayarlanmış FALSEüye işlevini bAccept çağırın.
CWnd::DragDetect
Fareyi yakalar ve kullanıcı sol düğmeyi serbest bırakana, ESC tuşuna basana veya fareyi belirtilen nokta etrafında sürükleme dikdörtgeninin dışına taşıyana kadar hareketini izler.
BOOL DragDetect(POINT pt) const;
Parametreler
pt
Farenin ekran koordinatlarında ilk konumu. işlevi, bu noktayı kullanarak sürükleme dikdörtgeninin koordinatlarını belirler.
Dönüş Değeri
Kullanıcı fareyi sol düğmeyi basılı tutarak sürükleme dikdörtgeninin dışına taşıdıysa, dönüş değeri sıfır değildir.
Kullanıcı sol düğmeyi basılı tutarken fareyi sürükleme dikdörtgeninin dışına taşımadıysa, dönüş değeri sıfırdır.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin DragDetectişlevselliğine öykünmektedir.
CWnd::DrawAnimatedRects
Bir tel çerçeve dikdörtgeni çizer ve bir simgenin açılmasını veya bir pencerenin en aza indirilmesi veya en üst düzeye çıkarılması için buna animasyon ekler.
BOOL DrawAnimatedRects(
int idAni,
CONST RECT* lprcFrom,
CONST RECT* lprcTo);
Parametreler
idAni
Animasyon türünü belirtir. belirtirsenizIDANI_CAPTION, pencere başlığı tarafından belirtilen konumdan tarafından lprcTobelirtilen lprcFrom konuma animasyon ekler. Bu etki, pencereyi en aza indirmeye veya en üst düzeye çıkarmaya benzer.
lprcFrom
Simgenin veya simge durumuna küçültülmüş pencerenin konumunu ve boyutunu belirten bir RECT yapı işaretçisi.
lprcTo
Geri yüklenen pencerenin konumunu ve boyutunu belirten bir RECT yapı işaretçisi
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin DrawAnimatedRectsişlevselliğine öykünmektedir.
CWnd::DrawCaption
Bir pencere başlığı çizer.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parametreler
pDC
Cihaz bağlamı işaretçisi. işlevi pencere başlığını bu cihaz bağlamına çizer.
lprc
Pencere başlığı için sınırlayıcı dikdörtgeni belirten bir RECT yapı işaretçisi.
uFlags
Çizim seçeneklerini belirtir. Değerlerin tam listesi için bkz DrawCaption. .
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin DrawCaptionişlevselliğine öykünmektedir.
CWnd::DrawMenuBar
Menü çubuğunu yeniden çizer.
void DrawMenuBar();
Açıklamalar
Windows pencereyi oluşturduktan sonra bir menü çubuğu değiştirilirse, değiştirilen menü çubuğunu çizmek için bu işlevi çağırın.
Örnek
örneğine CWnd::GetMenubakın.
CWnd::EnableActiveAccessibility
Kullanıcı tanımlı Etkin Erişilebilirlik işlevlerini etkinleştirir.
void EnableActiveAccessibility();
Açıklamalar
MFC'nin varsayılan Etkin Erişilebilirlik desteği, ActiveX denetimleri dahil olmak üzere standart pencereler ve denetimler için yeterlidir; ancak, türetilmiş sınıfınız CWndiçe aktarılmamış kullanıcı arabirimi öğeleri içeriyorsa MFC'nin bunları bilmesi mümkün değildir. Bu durumda, sınıfınızdaki uygun Etkin Erişilebilirlik üyesi işlevlerini geçersiz kılmanız ve sınıfın oluşturucusunda çağırmanız EnableActiveAccessibility gerekir.
CWnd::EnableDynamicLayout
Dinamik düzen yöneticisini etkinleştirir veya devre dışı bırakır. Dinamik düzen etkinleştirildiğinde, kullanıcı pencereyi yeniden boyutlandırdığında alt pencerelerin konumu ve boyutu dinamik olarak ayarlanabilir.
void EnableDynamicLayout(BOOL bEnable = TRUE);
Parametreler
bEnable
TRUE dinamik düzeni etkinleştirmek için; FALSE dinamik düzeni devre dışı bırakmak için.
Açıklamalar
Dinamik düzeni etkinleştirmek istiyorsanız, bu yöntemi çağırmaktan fazlasını yapmanız gerekir. Ayrıca, penceredeki denetimlerin boyut değişikliklerine nasıl yanıt verdiğine ilişkin dinamik düzen bilgileri sağlamanız gerekir. Bu bilgileri her denetim için kaynak düzenleyicisinde veya program aracılığıyla belirtebilirsiniz. Bkz. Dinamik Düzen.
CWnd::EnableD2DSupport
Pencere D2D desteğini etkinleştirir veya devre dışı bırakır. Ana pencere başlatılmadan önce bu yöntemi çağırın.
void EnableD2DSupport(
BOOL bEnable = TRUE,
BOOL bUseDCRenderTarget = FALSE);
Parametreler
bEnable
D2D desteğinin açılıp açılmayacağını veya kapatılıp kapatılmayacağını belirtir.
bUseDCRenderTarget
Cihaz Bağlamı (DC) işleme hedefinin kullanılıp kullanılmayacağını belirtir CDCRenderTarget. CHwndRenderTarget ise FALSEkullanılır.
CWnd::EnableScrollBar
Kaydırma çubuğunun bir veya her iki oklarını etkinleştirir veya devre dışı bırakır.
BOOL EnableScrollBar(
int nSBFlags,
UINT nArrowFlags = ESB_ENABLE_BOTH);
Parametreler
nSBFlags
Kaydırma çubuğu türünü belirtir. Aşağıdaki değerlerden birine sahip olabilir:
SB_BOTHPencereyle ilişkili yatay ve dikey kaydırma çubuklarının oklarını etkinleştirir veya devre dışı bırakır.SB_HORZPencereyle ilişkilendirilmiş yatay kaydırma çubuğunun oklarını etkinleştirir veya devre dışı bırakır.SB_VERTPencereyle ilişkili dikey kaydırma çubuğunun oklarını etkinleştirir veya devre dışı bırakır.
nArrowFlags
Kaydırma çubuğu oklarının etkin mi yoksa devre dışı mı olduğunu ve hangi okların etkinleştirildiğini veya devre dışı bırakılıp bırakılmadığını belirtir. Aşağıdaki değerlerden birine sahip olabilir:
ESB_ENABLE_BOTHKaydırma çubuğunun her iki oklarını da etkinleştirir (varsayılan).ESB_DISABLE_LTUPYatay kaydırma çubuğunun sol okunu veya dikey kaydırma çubuğunun yukarı okunu devre dışı bırakır.ESB_DISABLE_RTDNYatay kaydırma çubuğunun sağ okunu veya dikey kaydırma çubuğunun aşağı okunu devre dışı bırakır.ESB_DISABLE_BOTHKaydırma çubuğunun her iki oklarını da devre dışı bırakır.
Dönüş Değeri
Oklar belirtildiği gibi etkin veya devre dışıysa sıfır olmayan. Aksi takdirde, okların zaten istenen durumda olduğunu veya bir hata oluştuğuna işaret eden 0'dır.
CWnd::EnableScrollBarCtrl
Bu pencere için kaydırma çubuğunu etkinleştirir veya devre dışı bırakır.
void EnableScrollBarCtrl(
int nBar,
BOOL bEnable = TRUE);
Parametreler
nBar
Kaydırma çubuğu tanımlayıcısı.
bEnable
Kaydırma çubuğunun etkin mi yoksa devre dışı mı olacağını belirtir.
Açıklamalar
Pencerede eşdüzey kaydırma çubuğu denetimi varsa, bu kaydırma çubuğu kullanılır; aksi takdirde pencerenin kendi kaydırma çubuğu kullanılır.
CWnd::EnableToolTips
Verilen pencere için araç ipuçlarını etkinleştirir.
BOOL EnableToolTips(BOOL bEnable = TRUE);
Parametreler
bEnable
Araç ipucu denetiminin etkin mi yoksa devre dışı mı olduğunu belirtir. TRUE denetimi etkinleştirir; FALSE denetimi devre dışı bırakır.
Dönüş Değeri
TRUE araç ipuçları etkinse; aksi takdirde FALSE.
Açıklamalar
Pencerenin yapısını veya yapılarını sağlamak TOOLINFO için geçersiz kılınOnToolHitTest.
Not
gibi CToolBarbazı pencereler yerleşik uygulamasını OnToolHitTestsağlar.
Bu yapı hakkında daha fazla bilgi için Bkz TOOLINFO . Windows SDK'sı.
Üst pencere öğesinden CFrameWndtüretilmediği sürece alt denetimlerinizin araç ipuçlarını görüntülemek için yalnızca çağrı EnableToolTips yapmak yeterli değildir. Bunun nedeni CFrameWnd , bildirim için varsayılan bir işleyici sağlamasıdır TTN_NEEDTEXT . Üst pencereniz öğesinden CFrameWndtüretilmemişse, yani bir iletişim kutusu veya form görünümüyse, araç ipucu bildirimi için bir işleyici sağlamadığınız sürece alt denetimleriniz için TTN_NEEDTEXT araç ipuçları düzgün görüntülenmez. Bkz. Araç İpuçları.
Windows'unuz EnableToolTips için sağlanan varsayılan araç ipuçlarıyla ilişkilendirilmiş metin yoktur. Araç ipucunun görüntüleneceği metni almak için, bildirim araç TTN_NEEDTEXT ipucu penceresi görüntülenmeden hemen önce araç ipucu denetiminin üst penceresine gönderilir. Bu iletinin yapı üyesine TOOLTIPTEXT bir değer pszText ataması için bir işleyici yoksa, araç ipucu için hiçbir metin görüntülenmez.
Örnek
// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
CView::OnInitialUpdate();
m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(10, 10, 100, 100), this, IDC_TTEDIT);
EnableToolTips(TRUE); // enable tool tips for view
}
//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(pResult);
// need to handle both ANSI and UNICODE versions of the message
TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CStringA strTipText;
UINT_PTR nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID != 0) // will be zero on a separator
strTipText.Format("Control ID = %d", nID);
if (pNMHDR->code == TTN_NEEDTEXTA)
{
strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
strTipText.GetLength() + 1);
}
else
{
::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
}
return TRUE; // message was handled
}
CWnd::EnableTrackingToolTips
İzleme araç ipuçlarını etkinleştirir veya devre dışı bırakır.
BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);
Parametreler
bEnable
İzleme aracı ipuçlarının etkinleştirilip etkinleştirilmediğini veya devre dışı bırakılıp bırakılmadığını belirtir. Bu parametre ise TRUE, izleme aracı ipuçları etkinleştirilir. Bu parametre ise FALSE, izleme aracı ipuçları devre dışı bırakılır.
Dönüş Değeri
Üye işlevi çağrılmadan önceki EnableWindow durumu gösterir. Pencere daha önce devre dışı bırakılmışsa dönüş değeri sıfır değildir. Pencere daha önce etkinleştirildiyse veya bir hata oluştuysa dönüş değeri 0'dır.
Açıklamalar
İzleme aracı ipuçları, ekranda dinamik olarak konumlandırabileceğiniz araç ipucu pencereleridir. Konumu hızla güncelleştirerek, araç ipucu penceresi sorunsuz bir şekilde hareket eder veya "izlenir" gibi görünür. Araç ipucu metninin işaretçinin hareket halindeki konumunu izlemesi gerekiyorsa bu işlev yararlı olabilir.
CWnd::EnableWindow
Fare ve klavye girişini etkinleştirir veya devre dışı bırakır.
BOOL EnableWindow(BOOL bEnable = TRUE);
Parametreler
bEnable
Verilen pencerenin etkin mi yoksa devre dışı mı olacağını belirtir. Bu parametre ise TRUE, pencere etkinleştirilir. Bu parametre ise FALSE, pencere devre dışı bırakılır.
Dönüş Değeri
Üye işlevi çağrılmadan önceki EnableWindow durumu gösterir. Pencere daha önce devre dışı bırakılmışsa dönüş değeri sıfır değildir. Pencere daha önce etkinleştirildiyse veya bir hata oluştuysa dönüş değeri 0'dır.
Açıklamalar
Giriş devre dışı bırakıldığında, fare tıklamaları ve tuş vuruşları gibi girişler yoksayılır. Giriş etkinleştirildiğinde pencere tüm girişleri işler.
Etkin durum değişiyorsa, WM_ENABLE bu işlev döndürülmeden önce ileti gönderilir.
Devre dışı bırakılırsa, tüm alt pencereler örtük olarak devre dışı bırakılır, ancak ileti gönderilmez WM_ENABLE .
Bir pencerenin etkinleştirilmesi için önce etkinleştirilmesi gerekir. Örneğin, bir uygulama modsuz bir iletişim kutusu görüntülüyorsa ve ana penceresini devre dışı bırakmışsa, iletişim kutusu yok edilmeden önce ana pencerenin etkinleştirilmesi gerekir. Aksi takdirde, başka bir pencere giriş odağını alır ve etkinleştirilir. Bir alt pencere devre dışı bırakılırsa, Windows hangi pencerenin fare iletilerini alması gerektiğini belirlemeye çalıştığında yoksayılır.
Varsayılan olarak, bir pencere oluşturulduğunda etkinleştirilir. Bir uygulama, başlangıçta devre dışı bırakılmış bir pencere oluşturmak için veya CreateEx üye işlevinde Create stili belirtebilirWS_DISABLED. Bir pencere oluşturulduktan sonra, uygulama pencereyi etkinleştirmek veya devre dışı bırakmak için üye işlevini de kullanabilir EnableWindow .
Bir uygulama, bir iletişim kutusunda denetimi etkinleştirmek veya devre dışı bırakmak için bu işlevi kullanabilir. Devre dışı bırakılmış bir denetim, giriş odağını alamaz ve kullanıcı buna erişemez.
Örnek
//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
CFileDialog::OnInitDialog();
CWnd *pWndParent = GetParent();
//make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'
//disables the 'file name' edit and static control
//of the standard file open dialog
//get handle of 'file name' combobox control & disable it
CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
pWnd->EnableWindow(FALSE);
//get handle of 'file name' static control & disable it
pWnd = pWndParent->GetDlgItem(stc3);
pWnd->EnableWindow(FALSE);
return TRUE;
}
CWnd::EndModalLoop
çağrısı sonlandırır RunModalLoop.
virtual void EndModalLoop(int nResult);
Parametreler
nResult
çağırana RunModalLoopdöndürülecek değeri içerir.
Açıklamalar
nResult parametresi, değerinden RunModalLoopdönüş değerine yayılır.
CWnd::EndModalState
Bu üye işlevini çağırarak bir çerçeve penceresini kalıcı olandan modeless olarak değiştirin.
virtual void EndModalState();
CWnd::EndPaint
Verilen pencerede boyamanın sonunu işaretler.
void EndPaint(LPPAINTSTRUCT lpPaint);
Parametreler
lpPaint
Üye işlevi tarafından alınan boyama bilgilerini içeren bir PAINTSTRUCT yapıyı BeginPaint gösterir.
Açıklamalar
EndPaint Üye işlevi, üye işlevine yapılan BeginPaint her çağrı için gereklidir, ancak yalnızca boyama tamamlandıktan sonra.
Şapka işareti üye işlevi tarafından gizlendiyse BeginPaint , EndPaint şapka işaretini ekrana geri yükler.
Örnek
örneğine CWnd::BeginPaintbakın.
CWnd::ExecuteDlgInit
bir iletişim kutusu kaynağı başlatır.
BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);
Parametreler
lpszResourceName
Kaynağın adını belirten null ile sonlandırılan dizeye yönelik bir işaretçi.
lpResource
Bir kaynağın işaretçisi.
Dönüş Değeri
TRUE bir iletişim kutusu kaynağı yürütülürse; aksi takdirde FALSE.
Açıklamalar
ExecuteDlgInit , yürütme modülüne bağlı kaynakları veya diğer kaynaklardan gelen kaynakları kullanır. Bunu başarmak için çağırarak ExecuteDlgInit AfxFindResourceHandlebir kaynak tanıtıcısı bulur. MFC uygulamanız paylaşılan DLL'yi (MFCx0[U][D].DLL) kullanmıyorsa, AfxFindResourceHandle yürütülebilir dosyanın geçerli kaynak tutamacını döndüren öğesini çağırır AfxGetResourceHandle. MFCx0[U][D].DLL kullanan MFC uygulamanız, AfxFindResourceHandle doğru kaynak tutamacını bulmak için paylaşılan ve MFC uzantı DLL'lerinin nesne listesinden geçiş CDynLinkLibrary yapın.
CWnd::FilterToolTipMessage
Araç ipucu iletilerini görüntülemek için çerçeve tarafından çağrılır.
void FilterToolTipMessage(MSG* pMsg);
Parametreler
pMsg
Araç ipucu iletisinin işaretçisi.
Açıklamalar
Çoğu MFC uygulamasında bu yöntem ve EnableToolTips'den PreTranslateMessage çerçeve tarafından çağrılır ve kendiniz çağırmanız gerekmez.
Ancak, bazı uygulamalarda, örneğin bazı ActiveX denetimlerinde, bu yöntemler çerçeve tarafından çağrılamayabilir ve kendinizi çağırmanız FilterToolTipMessage gerekir. Daha fazla bilgi için bkz . Araç İpuçları Oluşturma Yöntemleri.
CWnd::FindWindow
pencere sınıfı tarafından lpszClassName verilen ve pencere adı veya başlığı tarafından lpszWindowNameverilen en üst düzeyi CWnd döndürür.
static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName);
Parametreler
lpszClassName
Pencerenin sınıf adını (yapı) belirten null olarak sonlandırılan bir WNDCLASS dizeye işaret eder. ise lpClassName NULL, tüm sınıf adları eşleşilir.
lpszWindowName
Pencere adını (pencerenin başlığı) belirten null olarak sonlandırılan bir dizeye işaret eder. ise lpWindowName NULL, tüm pencere adları eşleşilir.
Dönüş Değeri
Belirtilen sınıf adına ve pencere adına sahip pencereyi tanımlar. Böyle bir NULL pencere bulunamazsa bu durum geçerli olur.
CWnd* geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Bu işlev alt pencereleri aramaz.
Örnek
// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
CWnd *pWndPrev, *pWndChild;
// Determine if a window with the class name exists...
pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
if (NULL != pWndPrev)
{
// If so, does it have any popups?
pWndChild = pWndPrev->GetLastActivePopup();
// If iconic, restore the main window
if (pWndPrev->IsIconic())
pWndPrev->ShowWindow(SW_RESTORE);
// Bring the main window or its popup to the foreground
pWndChild->SetForegroundWindow();
// and you are done activating the other application
return FALSE;
}
return TRUE;
}
CWnd::FindWindowEx
Sınıf adı ve pencere adı belirtilen dizelerle eşleşen pencere nesnesini alır.
static CWnd* FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow);
Parametreler
hwndParent
Alt pencereleri aranacak olan üst pencerenin tutamacı.
hwndChildAfter
Bir alt pencereye tutamacı. Arama, Z sırasına göre sonraki alt pencereyle başlar. Alt pencere yalnızca alt pencere değil doğrudan alt penceresi hwndParentolmalıdır.
lpszClass
veya öğesine önceki bir çağrı tarafından oluşturulan sınıf adını veya sınıf atomunu belirten null sonlandırılan bir dizeye yönelik RegisterClass RegisterClassExişaretçi.
lpszWindow
Pencere adını (pencerenin başlığı) belirten null olarak sonlandırılan bir dizenin işaretçisi. Bu parametre ise NULL, tüm pencere adları eşleşilir.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri belirtilen sınıf ve pencere adlarına sahip pencere nesnesine yönelik bir işaretçidir. İşlev başarısız olursa, dönüş değeri olur NULL.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin FindWindowExişlevselliğine öykünmektedir.
CWnd::FlashWindow
Verilen pencereyi bir kez yanıp söner.
BOOL FlashWindow(BOOL bInvert);
Parametreler
bInvert
Yanıp sönecek mi yoksa CWnd özgün durumuna mı döndürülecek belirtir. CWnd ise bInvert TRUEbir durumdan diğerine yanıp söner. ise bInvert FALSE, pencere özgün durumuna döndürülür (etkin veya etkin değil).
Dönüş Değeri
Pencere üye işlevine yapılan çağrıdan FlashWindow önce etkinse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Art arda yanıp sönen bir sistem zamanlayıcısı oluşturun ve sürekli olarak çağrısı yapın FlashWindow. Yanıp sönen CWnd , başlık çubuğunun görünümünü, etkin değil durumundan etkin duruma (veya tam tersi) değiştiriyor gibi CWnd değiştirme anlamına gelir. (Etkin olmayan başlık çubuğu etkin başlık çubuğuna, etkin başlık çubuğu ise etkin olmayan başlık çubuğuna dönüşür.)
Genellikle, kullanıcıya dikkat gerektirdiğini ancak şu anda giriş odağının olmadığını bildiren bir pencere yanıp söner.
bInvert Parametresi FALSE yalnızca pencere giriş odağını alıyorsa ve artık yanıp sönmediğinde olmalıdır; giriş odağını almayı beklerken ardışık çağrılarda olmalıdırTRUE.
Bu işlev, simge durumuna küçültülmüş pencereler için her zaman sıfır olmayan bir değer döndürür. Pencere simge durumuna küçültülmüşse, FlashWindow pencerenin simgesini yanıp söner; bInvert simge durumuna küçültülmüş pencereler için yoksayılır.
Örnek
BOOL CPenWidthsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// set timer to cause dialog to flash
SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
// cause the dialog to flash
FlashWindow(TRUE);
CDialog::OnTimer(nIDEvent);
}
CWnd::FlashWindowEx
Verilen pencereyi yanıp söner.
BOOL FlashWindowEx(
DWORD dwFlags,
UINT uCount,
DWORD dwTimeout);
Parametreler
dwFlags
Flash durumunu belirtir. Değerlerin tam listesi için yapıya FLASHWINFO bakın.
uCount
Pencerenin kaç kez yanıp söneceklerini belirtir.
dwTimeout
Pencerenin yanıp söneceği hızı milisaniye cinsinden belirtir. Sıfır ise dwTimeout işlev varsayılan imleç yanıp sönme hızını kullanır.
Dönüş Değeri
dönüş değeri, işlev çağrısından FlashWindowEx önce pencerenin durumunu belirtir. Pencere resim yazısı çağrıdan önce etkin olarak çizildiyse, dönüş değeri sıfır değildir. Aksi takdirde, dönüş değeri sıfırdır.
Açıklamalar
Bu yöntem, Windows SDK'da açıklandığı gibi işlevinin FlashWindowExişlevselliğine öykünmektedir.
CWnd::FromHandle
Pencereye tanıtıcı CWnd verildiğinde nesneye bir işaretçi döndürür. Bir CWnd nesne tanıtıcıya bağlı değilse, geçici CWnd bir nesne oluşturulur ve eklenir.
static CWnd* PASCAL FromHandle(HWND hWnd);
Parametreler
hWnd
Windows HWND penceresinden biri.
Dönüş Değeri
Pencereye tanıtıcı CWnd verildiğinde nesneye bir işaretçi döndürür. Bir CWnd nesne tanıtıcıya bağlı değilse, geçici CWnd bir nesne oluşturulur ve eklenir.
İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
CWnd::FromHandlePermanent
Pencereye tanıtıcı CWnd verildiğinde nesneye bir işaretçi döndürür.
static CWnd* PASCAL FromHandlePermanent(HWND hWnd);
Parametreler
hWnd
Windows HWND penceresinden biri.
Dönüş Değeri
Nesne işaretçisi CWnd .
Açıklamalar
CWnd Bir nesne tanıtıcıya bağlı değilse döndürülürNULL.
Bu işlev, aksine FromHandlegeçici nesneler oluşturmaz.
CWnd::get_accChild
Belirtilen alt öğenin arabiriminin IDispatch adresini almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accChild(
VARIANT varChild,
IDispatch** ppdispChild);
Parametreler
varChild
Arabirimi alınacak alt öğeyi IDispatch tanımlar.
ppdispChild
Alt nesne IDispatch arabiriminin adresini alır.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accChild içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accChild . Windows SDK'sı.
CWnd::get_accChildCount
Bu nesneye ait alt öğe sayısını almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accChildCount(long* pcountChildren);
Parametreler
pcountChildren
Çocuk sayısını alır.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accChildCount içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın. Temel sınıf sürümünü çağırın ve ardından geri çekilmemiş alt öğeleri ekleyin.
Daha fazla bilgi için bkz IAccessible::get_accChildCount . Windows SDK'sı.
CWnd::get_accDefaultAction
Nesnenin varsayılan eylemini açıklayan bir dizeyi almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accDefaultAction(
VARIANT varChild,
BSTR* pszDefaultAction);
Parametreler
varChild
Alınacak varsayılan eylemin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszDefaultAction
Belirtilen nesnenin varsayılan eylemini BSTR açıklayan yerelleştirilmiş bir dize alan veya NULL bu nesnenin varsayılan eylemi yoksa, adresi.
Dönüş Değeri
Başarıda S_OK döndürür; hata durumunda com hata kodu. Bkz. Windows SDK'sında IAccessible::get_accDefaultAction'da Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesnenizin varsayılan eylemini açıklamak için türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accDefaultAction . Windows SDK'sı.
CWnd::get_accDescription
Belirtilen nesnenin görsel görünümünü açıklayan bir dizeyi almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accDescription(
VARIANT varChild,
BSTR* pszDescription);
Parametreler
varChild
Alınacak açıklamanın nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszDescription
BSTR Belirtilen nesneyi açıklayan yerelleştirilmiş bir dize alan veya NULL bu nesne için kullanılabilir bir açıklama yoksa, bir adresi.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accDescription içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesnenizi açıklamak için türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın. Temel sınıf sürümünü çağırın ve açıklamanızı ekleyin.
Daha fazla bilgi için bkz IAccessible::get_accDescription . Windows SDK'sı.
CWnd::get_accFocus
Klavye odağı olan nesneyi almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accFocus(VARIANT* pvarChild);
Parametreler
pvarChild
Odağı olan nesne hakkında bilgi alır. Windows SDK'sında IAccessible::get_accFocus bölümüne bakınpvarID.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accFocus içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accFocus . Windows SDK'sı.
CWnd::get_accHelp
Bir nesnenin Help özellik dizesini almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accHelp(
VARIANT varChild,
BSTR* pszHelp);
Parametreler
varChild
Alınacak yardım bilgilerinin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszHelp
Belirtilen nesnenin BSTR yardım bilgilerini içeren yerelleştirilmiş dizeyi alan veya NULL kullanılabilir yardım bilgisi yoksa bir adresi.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accHelp içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesneniz için yardım metni sağlamak için türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accHelp . Windows SDK'sı.
CWnd::get_accHelpTopic
Belirtilen nesneyle ilişkili WinHelp dosyasının tam yolunu ve bu dosya içindeki uygun konunun tanımlayıcısını almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parametreler
pszHelpFile
Varsa, belirtilen nesneyle ilişkili dosyanın tam yolunu WinHelp alan bir BSTR adresi.
varChild
Alınacak Yardım konusunun nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesnenin Yardım konusunu almak için) veya alt kimliği (nesnenin alt öğelerinden birine yönelik yardım konusu elde etmek için) olabilir CHILDID_SELF .
pidTopic
Belirtilen nesneyle ilişkili Yardım dosyası konusunu tanımlar. Windows SDK'sında IAccessible::get_accHelpTopic bölümüne bakınpidTopic.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accHelpTopic içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesneniz hakkında yardım bilgileri sağlamak için türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accHelpTopic . Windows SDK'sı.
CWnd::get_accKeyboardShortcut
Belirtilen nesnenin kısayol tuşunu veya erişim tuşunu almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accKeyboardShortcut(
VARIANT varChild,
BSTR* pszKeyboardShortcut);
Parametreler
varChild
Alınacak klavye kısayolunun nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszKeyboardShortcut
Klavye kısayolunu BSTR tanımlayan yerelleştirilmiş bir dize alan veya NULL belirtilen nesneyle ilişkilendirilmiş klavye kısayolu yoksa bir adresi.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accKeyboardShortcut içindeki Değer Döndürme.
Açıklamalar
Bu işlev MFC desteğinin Active Accessibility bir parçasıdır.
Nesnenizin klavye kısayolunu tanımlamak için türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accKeyboardShortcut . Windows SDK'sı.
CWnd::get_accName
Belirtilen nesnenin adını almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accName(
VARIANT varChild,
BSTR* pszName);
Parametreler
varChild
Alınacak adın nesnenin adı mı yoksa nesnenin alt öğelerinden biri mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszName
Belirtilen nesnenin BSTR adını içeren bir dize alan bir adresi.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accName içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Türetilmiş sınıfınızda nesnenizin CWndadını döndürmek için bu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accName . Windows SDK'sı.
CWnd::get_accParent
Nesnenin üst arabirimini IDispatch almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accParent(IDispatch** ppdispParent);
Parametreler
ppdispParent
Üst nesne IDispatch arabiriminin adresini alır. Değişken, üst öğe yoksa veya alt öğe üst öğeye erişemiyorsa olarak ayarlanır NULL .
Dönüş Değeri
Başarısız olduğunda hata kodu olan COM başarıyı döndürürS_OK. Bkz. Windows SDK'sında IAccessible::get_accParent içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Çoğu durumda bu işlevi geçersiz kılmanız gerekmez.
Daha fazla bilgi için bkz IAccessible::get_accParent . Windows SDK'sı.
CWnd::get_accRole
Belirtilen nesnenin rolünü açıklayan bilgileri almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accRole(
VARIANT varChild,
VARIANT* pvarRole);
Parametreler
varChild
Alınacak rol bilgilerinin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pvarRole
Rol bilgilerini alır. Windows SDK'sında IAccessible::get_accRole bölümüne bakınpvarRole.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accRole içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accRole . Windows SDK'sı.
CWnd::get_accSelection
Bu nesnenin seçili alt öğelerini almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parametreler
pvarChildren
Hangi alt çocukların seçildiği hakkında bilgi alır. Windows SDK'sında IAccessible::get_accSelection bölümüne bakınpvarChildren.
Dönüş Değeri
Başarıda S_OK döndürür; hata durumunda com hata kodu. Bkz. Windows SDK'sında IAccessible::get_accSelection içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accSelection . Windows SDK'sı.
CWnd::get_accState
Belirtilen nesnenin geçerli durumunu almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accState(
VARIANT varChild,
VARIANT* pvarState);
Parametreler
varChild
Alınacak durum bilgilerinin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pvarState
Nesnenin durumu hakkında bilgi alır. Windows SDK'sında IAccessible::get_accState bölümüne bakınpvarState.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accState içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accState . Windows SDK'sı.
CWnd::get_accValue
Belirtilen nesnenin değerini almak için çerçeve tarafından çağrılır.
virtual HRESULT get_accValue(
VARIANT varChild,
BSTR* pszValue);
Parametreler
varChild
Alınacak değer bilgilerinin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre (nesne hakkında bilgi almak için) veya alt kimlik (nesnenin alt öğesi hakkında bilgi almak için) olabilir CHILDID_SELF .
pszValue
Nesnenin BSTR geçerli değerini içeren yerelleştirilmiş bir dize alan öğesinin adresi.
Dönüş Değeri
Başarısız olduğunda com hata kodu olan başarıyı döndürür S_OK . Bkz. Windows SDK'sında IAccessible::get_accValue içindeki Değer Döndürme.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Kullanıcı arabirimi öğeleriniz (MFC tarafından işlenen penceresiz ActiveX denetimleri dışında) varsa, türetilmiş sınıfınızda CWndbu işlevi geçersiz kılın.
Daha fazla bilgi için bkz IAccessible::get_accValue . Windows SDK'sı.
CWnd::GetActiveWindow
Etkin pencereye yönelik bir işaretçi alır.
static CWnd* PASCAL GetActiveWindow();
Dönüş Değeri
Etkin pencere veya NULL arama sırasında etkin pencere yoksa. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Etkin pencere, geçerli giriş odağını içeren pencere veya üye işlevi tarafından SetActiveWindow açıkça etkin hale gelen penceredir.
CWnd::GetAncestor
Belirtilen pencerenin üst pencere nesnesini alır.
CWnd* GetAncestor(UINT gaFlags) const;
Parametreler
gaFlags
Alınacak atayı belirtir. Olası değerlerin tam listesi için bkz GetAncestor. .
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri, atası pencere nesnesine yönelik bir işaretçidir. İşlev başarısız olursa, dönüş değeri olur NULL.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetAncestorişlevselliğine öykünmektedir.
CWnd::GetCapture
Fare yakalaması olan pencereyi alır.
static CWnd* PASCAL GetCapture();
Dönüş Değeri
Fare yakalaması olan pencereyi tanımlar. Fare yakalaması olan bir pencere yoksa bu durum geçerli olur NULL .
Dönüş değeri geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Herhangi bir zamanda yalnızca bir pencerede fare yakalaması vardır. Üye işlevi çağrıldığında bir pencere fare yakalamasını SetCapture alır. Bu pencere, imlecin kenarlıkları içinde olup olmadığına bakılmaksızın fare girişi alır.
CWnd::GetCaretPos
Şapka işaretinin geçerli konumunun istemci koordinatlarını alır ve olarak CPointdöndürür.
static CPoint PASCAL GetCaretPos();
Dönüş Değeri
CPoint şapka işaretinin konumunun koordinatlarını içeren nesne.
Açıklamalar
Şapka işareti konumu, pencerenin istemci koordinatlarında CWnd verilir.
CWnd::GetCheckedRadioButton
Belirtilen grupta o anda denetlenen radyo düğmesinin kimliğini alır.
int GetCheckedRadioButton(
int nIDFirstButton,
int nIDLastButton);
Parametreler
nIDFirstButton
Gruptaki ilk radyo düğmesinin tamsayı tanımlayıcısını belirtir.
nIDLastButton
Gruptaki son radyo düğmesinin tamsayı tanımlayıcısını belirtir.
Dönüş Değeri
İşaretli radyo düğmesinin kimliği veya seçili değilse 0.
CWnd::GetClientRect
İstemci alanının istemci koordinatlarını CWnd tarafından lpRectişaret edilen yapıya kopyalar.
void GetClientRect(LPRECT lpRect) const;
Parametreler
lpRect
İstemci koordinatlarını almak için bir RECT CRect yapıya veya nesneye işaret eder. left ve top üyeleri 0 olacaktır. right ve bottom üyeleri pencerenin genişliğini ve yüksekliğini içerir.
Açıklamalar
İstemci koordinatları, istemci alanının sol üst ve sağ alt köşelerini belirtir. İstemci koordinatları istemci alanının sol üst köşelerine CWnd göre olduğundan, sol üst köşenin koordinatları (0,0) şeklindedir.
Örnek
örneğine CWnd::IsIconicbakın.
CWnd::GetClipboardOwner
Pano'nun geçerli sahibini alır.
static CWnd* PASCAL GetClipboardOwner();
Dönüş Değeri
İşlev başarılı olursa Pano'ya sahip olan pencereyi tanımlar. Aksi takdirde, olur NULL.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Pano, şu anda sahip olunmasa bile verileri içerebilir.
CWnd::GetClipboardViewer
Pano görüntüleyici zincirindeki ilk pencereyi alır.
static CWnd* PASCAL GetClipboardViewer();
Dönüş Değeri
Başarılı olursa Panoyu görüntülemekle sorumlu olan pencereyi tanımlar; aksi takdirde NULL (örneğin, görüntüleyici yoksa).
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
CWnd::GetControlUnknown
Bilinmeyen bir OLE denetiminin işaretçisini almak için bu üye işlevini çağır.
LPUNKNOWN GetControlUnknown();
Dönüş Değeri
Bu CWnd nesne tarafından temsil edilen OLE denetiminin arabirimine bir işaretçiIUnknown. Bu nesne bir OLE denetimini temsil etmiyorsa, dönüş değeri olur NULL.
Açıklamalar
Bu IUnknown işaretçiyi serbest bırakmamalısınız. Genellikle, denetimin belirli bir arabirimini almak için kullanırsınız.
tarafından GetControlUnknown döndürülen arabirim işaretçisi başvuru sayılmaz. Daha önce çağırmadığınız IUnknown::Release sürece işaretçiyi çağırmayın IUnknown::AddRef .
Örnek
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.
// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);
// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();
// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);
// use IDispatch method to invoke the control's functionality
CWnd::GetCurrentMessage
Bu pencerenin şu anda işlediği iletiye bir işaretçi döndürür. Yalnızca İletide ileti işleyicisi üye işlevinde çağrıldığında çağrılmalıdır.
static const MSG* PASCAL GetCurrentMessage();
Dönüş Değeri
Pencerenin işlemekte MSG olduğu iletiyi içeren yapıya bir işaretçi döndürür. Yalnızca bir İletide işleyicisinde çağrıldığında çağrılmalıdır.
Örnek
örneğine CMDIFrameWnd::MDICascadebakın.
CWnd::GetDC
için belirtilen sınıf stiline bağlı olarak istemci alanı için ortak, sınıf veya özel cihaz bağlamı için CWndbir işaretçi alır.
CDC* GetDC();
Dönüş Değeri
Başarılı olursa istemci alanı için cihaz bağlamını CWnd tanımlar; aksi takdirde dönüş değeri olur NULL. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Yaygın cihaz bağlamları için, GetDC her alındığında bağlama varsayılan öznitelikler atar. Sınıf ve özel bağlamlar için, GetDC önceden atanmış öznitelikleri değişmeden bırakır. Cihaz bağlamı, istemci alanında çizim yapmak için sonraki grafik cihaz arabirimi (GDI) işlevlerinde kullanılabilir.
Cihaz bağlamı bir pencere sınıfına ait olmadığı sürece, boyamadan sonra bağlamı ReleaseDC serbest bırakmak için üye işlevi çağrılmalıdır.
sınıfına CWnd ait bir cihaz bağlamı, , CS_OWNDCveya CS_PARENTDC sınıfı kaydedildiğinde yapıda WNDCLASS stil olarak belirtilmişse CS_CLASSDCüye işlevi tarafından GetDC döndürülür.
CWnd::GetDCEx
Pencere için cihaz bağlamının tutamacını CWnd alır.
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags);
Parametreler
prgnClip
İstemci penceresinin görünür bölgesiyle birleştirilebilen bir kırpma bölgesi tanımlar.
flags
Aşağıdaki önceden ayarlanmış değerlerden birine sahip olabilir:
DCX_CACHEveyaCLASSDCpenceresi yerine önbellekten bir cihaz bağlamıOWNDCdöndürür. veCS_CLASSDCgeçersiz kılmalarıCS_OWNDC.DCX_CLIPCHILDRENPencerenin altındaki tüm alt pencerelerin görünür bölgeleriniCWnddışlar.DCX_CLIPSIBLINGSPencerenin üzerindeki tüm eşdüzey pencerelerin görünür bölgeleriniCWnddışlar.DCX_EXCLUDERGNtarafındanprgnCliptanımlanan kırpma bölgesini, döndürülen cihaz bağlamının görünür bölgesinden dışlar.DCX_INTERSECTRGNtarafından tanımlananprgnClipkırpma bölgesini, döndürülen cihaz bağlamının görünür bölgesi içinde kesişer.DCX_LOCKWINDOWUPDATEAksi takdirde bu pencereyi dışlayan birLockWindowUpdateçağrı etkin olsa bile çizime izin verir. Bu değer izleme sırasında çizim yapmak için kullanılır.DCX_PARENTCLIPÜst pencerenin görünür bölgesini kullanır ve üst pencereninWS_CLIPCHILDRENveWS_PARENTDCstil bitlerini yoksayar. Bu değer, cihaz bağlamının kaynağını pencerenin sol üst köşesineCWndayarlar.DCX_WINDOWİstemci dikdörtgeni yerine pencere dikdörtgenine karşılık gelen bir cihaz bağlamı döndürür.
Dönüş Değeri
İşlev başarılı olursa belirtilen pencerenin cihaz bağlamı; aksi takdirde NULL.
Açıklamalar
Cihaz bağlamı, istemci alanında çizim yapmak için sonraki GDI işlevlerinde kullanılabilir.
İşlevin uzantısı olan bu işlev, bir uygulamaya pencere için cihaz bağlamlarının GetDC nasıl ve nasıl kırpılıp kırpılmayacağı üzerinde daha fazla denetim sağlar.
Cihaz bağlamı bir pencere sınıfına ait olmadığı sürece, çizimden sonra bağlamı ReleaseDC serbest bırakmak için işlev çağrılmalıdır. Herhangi bir anda yalnızca beş yaygın cihaz bağlamı kullanılabildiğinden, cihaz bağlamını serbest bırakmamak diğer uygulamaların bir cihaz bağlamı erişimi kazanmasını engelleyebilir.
Önbelleğe alınmış bir cihaz bağlamı elde etmek için bir uygulamanın belirtmesi DCX_CACHEgerekir. DCX_CACHE belirtilmezse ve pencere ne de CS_OWNDC CS_CLASSDCdeğilse, bu işlev döndürür NULL.
Özel özelliklere sahip bir cihaz bağlamı, sınıf kaydedildiğinde yapıda WNDCLASS , CS_OWNDCveya CS_PARENTDC stili belirtilmişse CS_CLASSDCişlev tarafından GetDCEx döndürülür.
Bu özellikler hakkında daha fazla bilgi için Windows SDK'sında yapının açıklamasına WNDCLASS bakın.
CWnd::GetDCRenderTarget
Pencere için cihaz bağlamı (DC) işleme hedefini CWnd alır.
CDCRenderTarget* GetDCRenderTarget();
Dönüş Değeri
İşlev başarılı olursa belirtilen pencere için cihaz bağlamı işleme hedefi; aksi takdirde NULL.
Açıklamalar
CWnd::GetDescendantWindow
Verilen kimlik tarafından belirtilen alt pencereyi bulmak için bu üye işlevini çağırın.
CWnd* GetDescendantWindow(
int nID,
BOOL bOnlyPerm = FALSE) const;
Parametreler
nID
Alınacak denetimin veya alt pencerenin tanımlayıcısını belirtir.
bOnlyPerm
Döndürülecek pencerenin geçici olup olmayacağını belirtir. ise TRUE, yalnızca kalıcı bir pencere döndürülebilir; ise FALSEişlevi geçici bir pencere döndürebilir. Geçici pencereler hakkında daha fazla bilgi için bkz . Teknik Not 3.
Dönüş Değeri
Nesne işaretçisi CWnd veya NULL alt pencere bulunamaz.
Açıklamalar
Bu üye işlevi, yalnızca anlık alt öğeler olan pencereleri değil, alt pencerelerin tüm ağacını arar.
CWnd::GetDesktopWindow
Windows masaüstü penceresini döndürür.
static CWnd* PASCAL GetDesktopWindow();
Dönüş Değeri
Windows masaüstü penceresini tanımlar. Bu işaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Masaüstü penceresi tüm ekranı kaplar ve tüm simgelerin ve diğer pencerelerin üzerine boyandığı alandır.
CWnd::GetDlgCtrlID
Yalnızca iletişim kutusundaki bir denetimin değil, herhangi bir alt pencere için pencere veya denetim kimliği değerini döndürür.
int GetDlgCtrlID() const;
Dönüş Değeri
İşlev başarılı olursa alt pencerenin sayısal tanımlayıcısı CWnd ; aksi takdirde 0.
Açıklamalar
Üst düzey pencerelerin kimlik değeri olmadığından, en üst düzey pencere ise bu işlevin CWnd dönüş değeri geçersizdir.
Örnek
örneğine CWnd::OnCtlColorbakın.
CWnd::GetDlgItem
İletişim kutusunda veya başka bir pencerede belirtilen denetime veya alt pencereye bir işaretçi alır.
CWnd* GetDlgItem(int nID) const;
void GetDlgItem(
int nID,
HWND* phWnd) const;
Parametreler
nID
Alınacak denetimin veya alt pencerenin tanımlayıcısını belirtir.
phWnd
Alt pencere işaretçisi.
Dönüş Değeri
Verilen denetim veya alt pencere işaretçisi. parametresi tarafından verilen tamsayı kimliğine nID sahip bir denetim yoksa, değeri olur NULL.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Döndürülen işaretçi genellikle tarafından nIDtanımlanan denetim türüne atılır.
Örnek
// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);
CWnd::GetDlgItemInt
tarafından nIDtanımlanan denetimin metnini alır.
UINT GetDlgItemInt(
int nID,
BOOL* lpTrans = NULL,
BOOL bSigned = TRUE) const;
Parametreler
nID
Çevrilecek iletişim kutusu denetiminin tamsayı tanımlayıcısını belirtir.
lpTrans
Çevrilmiş bayrağını almak için Boole değişkenini gösterir.
bSigned
Alınacak değerin imzalanıp imzalanmayacağını belirtir.
Dönüş Değeri
İletişim kutusu öğesi metninin çevrilmiş değerini belirtir. 0 geçerli bir dönüş değeri olduğundan, lpTrans hataları algılamak için kullanılmalıdır. İmzalı bir dönüş değeri isteniyorsa, bunu tür int olarak yayınlayın.
Çevrilen sayı ( INT_MAX imzalı sayılar için) veya UINT_MAX (işaretsiz sayılar için) büyükse işlev 0 döndürür.
Sayısal olmayan karakterlerle karşılaşma ve yukarıdaki üst sınırı aşma gibi hatalar oluştuğunda, GetDlgItemInt 0 değerini tarafından lpTransişaret edilen konuma kopyalar. Hata yoksa sıfır lpTrans olmayan bir değer alır. ise lpTrans NULLGetDlgItemInt, hatalar hakkında uyarı vermez.
Açıklamalar
Verilen iletişim kutusunda belirtilen denetimin metnini, metnin başındaki fazladan boşlukları kaldırarak ve ondalık basamakları dönüştürerek bir tamsayı değerine çevirir. Metnin sonuna ulaştığında veya sayısal olmayan herhangi bir karakterle karşılaştığında çeviriyi durdurur.
ise bSigned TRUE, GetDlgItemInt metnin başında eksi işareti (-) olup olmadığını denetler ve metni imzalı bir sayıya çevirir. Aksi takdirde, imzalanmamış bir değer oluşturur.
Denetime bir WM_GETTEXT ileti gönderir.
CWnd::GetDlgItemText
İletişim kutusundaki bir denetimle ilişkili başlığı veya metni almak için bu üye işlevini çağırın.
int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
int GetDlgItemText(
int nID,
CString& rString) const;
Parametreler
nID
Başlığı alınacak denetimin tamsayı tanımlayıcısını belirtir.
lpStr
Denetimin başlığını veya metnini almak için arabelleğe işaret edin.
nMaxCount
öğesine kopyalanacak lpStrdizenin uzunluk üst sınırını (karakter cinsinden) belirtir. Dize değerinden nMaxCountuzunsa kesilir.
rString
başvurusu CString.
Dönüş Değeri
Sonlandırıcı null karakter dahil olmak üzere arabelleğe kopyalanan gerçek karakter sayısını belirtir. Metin kopyalanmazsa değer 0 olur.
Açıklamalar
GetDlgItemText Üye işlevi metni işaret ettiği lpStr konuma kopyalar ve kopyaladığı bayt sayısını döndürür.
CWnd::GetDSCCursor
Veri kaynağı denetiminin , , UserNamePasswordve SQL özellikleri tarafından DataSourcetanımlanan temel imlecin işaretçisini almak için bu üye işlevini çağırın.
IUnknown* GetDSCCursor();
Dönüş Değeri
Veri kaynağı denetimi tarafından tanımlanan bir imleç işaretçisi. MFC, işaretçinin çağrılmasıyla AddRef ilgilenir.
Açıklamalar
Veriye bağlı kılavuz denetimi gibi karmaşık bir veriye bağlı denetimin özelliğini ayarlamak ICursor için döndürülen işaretçiyi kullanın. veri kaynağı denetimi, ilk ilişkili denetim imlecini isteyene kadar etkin olmaz. Bu durum, MFC bağlama yöneticisine GetDSCCursor yapılan bir çağrıyla veya örtük olarak gerçekleşebilir. Her iki durumda da, bir veri kaynağı denetimini çağırarak GetDSCCursor ve sonra döndürülen işaretçide IUnknownöğesini çağırarak Release etkin olmaya zorlayabilirsiniz. Etkinleştirme, veri kaynağı denetiminin temel alınan veri kaynağına bağlanmayı denemesine neden olur. Döndürülen işaretçi aşağıdaki bağlamda kullanılabilir:
Örnek
BOOL CMyDlg::OnInitDialog()
{
// Find the child controls on the dialog
HRESULT hr = E_FAIL;
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
IUnknown *punkList = pListWnd->GetControlUnknown();
IDBList *pList = NULL;
if (NULL != punkList)
{
hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
}
if (SUCCEEDED(hr))
{
// Tell the MFC binding manager that we are
// binding DISPID 3 to the data-source control.
pListWnd->BindProperty(0x3, pDSC);
// Tell the listbox which field to expose as its bound column
pList->put_BoundColumn(_T("ContactFirstName"));
// Tell the listbox which cursor and column to populate its list from
pList->put_ListField(_T("ContactFirstName"));
IUnknown *punkCursor = pDSC->GetDSCCursor();
if (NULL != punkCursor)
{
punkCursor->Release();
}
pList->Release();
return TRUE;
}
CWnd::GetDynamicLayout
Dinamik düzen yöneticisi nesnesine bir işaretçi alır.
CMFCDynamicLayout* GetDynamicLayout();
Dönüş Değeri
Dinamik düzen yöneticisi nesnesinin işaretçisi veya NULL dinamik düzen etkinleştirilmemişse.
Açıklamalar
Pencere nesnesi döndürülen işaretçinin ömrüne sahip olur ve bunları yönetir, bu nedenle yalnızca nesneye erişmek için kullanılmalıdır; işaretçiyi silmeyin veya işaretçiyi kalıcı olarak depolamayın.
CWnd::GetExStyle
Pencerenin genişletilmiş stilini döndürür.
DWORD GetExStyle() const;
Dönüş Değeri
Pencerenin genişletilmiş stili. MFC'de kullanılan genişletilmiş pencere stilleri hakkında daha fazla bilgi için bkz . Genişletilmiş Pencere Stilleri.
CWnd::GetFocus
Şu anda giriş odağına CWnd sahip olan işaretçiyi alır.
static CWnd* PASCAL GetFocus();
Dönüş Değeri
Geçerli odağın bulunduğu pencerenin işaretçisi veya NULL odak penceresi yoksa.
İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
CWnd::GetFont
WM_GETFONT Geçerli yazı tipini almak için iletiyi pencereye gönderir.
CFont* GetFont() const;
Dönüş Değeri
Pencere için geçerli yazı tipine eklenmiş bir CFont nesnenin işaretçisi.
Açıklamalar
Pencere iletiyi işlemediği sürece bu yöntemin WM_GETFONT hiçbir etkisi yoktur. İleti için bir ileti işleyicisi içeren önceden tanımlanmış bir pencere sınıfına eklendiği içinWM_GETFONT, bu iletiden CWnd türetilen birçok MFC sınıfı bu iletiyi işler. Bu yöntemi kullanmak için, türetdiğiniz CWnd sınıfların ileti için bir yöntem işleyicisi tanımlaması WM_GETFONT gerekir.
CWnd::GetForegroundWindow
Ön plan penceresine (kullanıcının çalışmakta olduğu pencere) bir işaretçi döndürür.
static CWnd* PASCAL GetForegroundWindow();
Dönüş Değeri
Ön plan penceresinin işaretçisi. Bu geçici CWnd bir nesne olabilir.
Açıklamalar
Ön plan penceresi yalnızca üst düzey pencerelere (çerçeve pencereleri veya iletişim kutuları) uygulanır.
CWnd::GetIcon
Tanıtıcıyı büyük (32x32) veya küçük (16x16) simgesine (tarafından bBigIcongösterildiği gibi) almak için bu üye işlevini çağırın.
HICON GetIcon(BOOL bBigIcon) const;
Parametreler
bBigIcon
ise 32 piksel 32 piksel simgesini belirtir; ise TRUEFALSE16 piksel 16 piksel simgesini belirtir.
Dönüş Değeri
Simgenin tutamacı. Başarısız olursa, döndürür NULL.
CWnd::GetLastActivePopup
Sahip olduğu açılır pencerenin CWnd en son etkin olduğunu belirler.
CWnd* GetLastActivePopup() const;
Dönüş Değeri
En son etkin açılan pencereyi tanımlar. Aşağıdaki koşullardan herhangi biri karşılanırsa dönüş değeri pencerenin kendisi olur:
Pencerenin kendisi en son etkindi.
Pencerenin herhangi bir açılır penceresi yoktur.
Pencere en üst düzey bir pencere değildir veya başka bir pencereye aittir.
İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Örnek
örneğine CWnd::FindWindowbakın.
CWnd::GetLayeredWindowAttributes
Katmanlı bir pencerenin opaklık ve saydamlık renk anahtarını alır.
BOOL GetLayeredWindowAttributes(
COLORREF* pcrKey,
BYTE* pbAlpha,
DWORD* pdwFlags) const;
Parametreler
pcrKey
Katmanlı pencere oluştururken kullanılacak saydamlık renk anahtarını alan bir COLORREF değerin işaretçisi. Bu renkte pencere tarafından boyanan tüm pikseller saydam olur. Bu, bağımsız değişken gerekli değilse olabilir NULL .
pbAlpha
Katmanlı pencerenin opaklığını açıklamak için kullanılan Alfa değerini alan bir BYTE işaretçisi. Tarafından başvuruda bulunılan pbAlpha değişken 0 olduğunda, pencere tamamen saydamdır. Tarafından başvuruda bulunılan pbAlpha değişken 255 olduğunda, pencere opaktır. Bu, bağımsız değişken gerekli değilse olabilir NULL .
pdwFlags
DWORD Katmanlama bayrağı alan bir işaretçi. Bu, bağımsız değişken gerekli değilse olabilir NULL . Olası değerlerin tam listesi için bkz . 'GetLayeredWindowAttributes.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetLayeredWindowAttributesişlevselliğine öykünmektedir.
CWnd::GetMenu
Bu pencerenin menüsünün işaretçisini alır.
CMenu* GetMenu() const;
Dönüş Değeri
Menüyü tanımlar. Değerin menüsü yoksa CWnd değeridirNULL. Alt pencere ise CWnd dönüş değeri tanımlanmamıştır.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Bu işlev, menüleri olmadığından alt pencereler için kullanılmamalıdır.
Örnek
void CMainFrame::OnCwndDeletefilemenu()
{
// This example deletes the leftmost popup menu or leftmost
// popup menu item from the application's main window.
CWnd *pMain = AfxGetMainWnd();
// The main window _can_ be NULL, so this code
// doesn't ASSERT and actually tests.
if (pMain != NULL)
{
// Get the main window's menu
CMenu *pMenu = pMain->GetMenu();
// If there is a menu and it has items, we'll
// delete the first one.
if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
{
pMenu->DeleteMenu(0, MF_BYPOSITION);
// force a redraw of the menu bar
pMain->DrawMenuBar();
}
// No need to delete pMenu because it is an MFC
// temporary object.
}
}
CWnd::GetMenuBarInfo
Belirtilen menü çubuğu hakkındaki bilgileri alır.
BOOL GetMenuBarInfo(
LONG idObject,
LONG idItem,
PMENUBARINFO pmbi) const;
Parametreler
idObject
Menü nesnesini belirtir. Olası değerlerin listesi için bkz GetMenuBarInfo. .
idItem
Bilgi alınacak öğeyi belirtir. Bu parametre sıfırsa, işlev menünün kendisi hakkındaki bilgileri alır. Bu parametre 1 ise, işlev menüdeki ilk öğe hakkındaki bilgileri alır ve bu şekilde devam eder.
pmbi
Bilgileri alan bir MENUBARINFO yapı işaretçisi.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetMenuBarInfoişlevselliğine öykünmektedir.
CWnd::GetNextDlgGroupItem
İletişim kutusundaki bir denetim grubu içinde önceki veya sonraki denetimi arar.
CWnd* GetNextDlgGroupItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgGroupItem(
COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;
Parametreler
pWndCtl
Aramanın başlangıç noktası olarak kullanılacak denetimi tanımlar.
bPrevious
İşlevin iletişim kutusundaki denetim grubunda nasıl arama yapılacağını belirtir. ise TRUE, işlevi gruptaki önceki denetimi arar; ise FALSE, gruptaki bir sonraki denetimi arar.
pCurSiteOrWnd
Denetimi tanımlar COleControlSiteOrWnd . hakkında COleControlSiteOrWnddaha fazla bilgi için bkz . Açıklamalar.
Dönüş Değeri
Üye işlevi başarılı olursa gruptaki önceki veya sonraki denetimin işaretçisi.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Bir denetim grubu, stille oluşturulmuş bir denetimle WS_GROUP başlar ve stille oluşturulmayan son denetimle WS_GROUP biter.
Varsayılan olarak, GetNextDlgGroupItem üye işlevi gruptaki bir sonraki denetime bir işaretçi döndürür. pWndCtl Gruptaki ilk denetimi tanımlar ve bPrevious iseTRUE, GetNextDlgGroupItem gruptaki son denetimin işaretçisini döndürür.
Not
MFC penceresiz ActiveX denetimlerini, standart ActiveX denetimlerini ve pencereleri desteklediği için artık yalnızca yeterli olmayan bir HWND denetime başvurur. nesnesi, COleControlSiteOrWnd nesneyi pencereli ActiveX denetimi, penceresiz ActiveX denetimi veya pencere olarak tanımlayan bilgileri aşağıda gösterildiği gibi içerir:
| Denetim veya pencere türü | Bilgileri tanımlama |
|---|---|
| Pencereli ActiveX denetimi | bir HWND COleControlSite nesnesini içerir ve onunla ilişkilendirir. m_hWnd öğesinin COleControlSiteOrWnd üyesi denetimin öğesine ayarlanır HWND ve m_pSite üye denetimin COleControlSiteöğesine işaret edilir. |
| Penceresiz ActiveX denetimi | İçeren yok HWND. m_pSite öğesinin COleControlSiteOrWnd üyesi denetimin COleControlSiteöğesine, üye ise m_hWnd öğesine işaret ettiNULL. |
| Standart pencere | Yalnızca bir HWNDiçerir. m_hWnd öğesinin COleControlSiteOrWnd üyesi pencerenin HWND'sine ayarlanır ve m_pSite üyesi ise şeklindedirNULL. |
CWnd::GetNextDlgTabItem
Stille WS_TABSTOP oluşturulan ve belirtilen denetimin önüne gelen veya izleyen ilk denetimin işaretçisini alır.
CWnd* GetNextDlgTabItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgTabItem(
COleControlSiteOrWnd* pCurSiteOrWnd,
BOOL bPrevious) const;
Parametreler
pWndCtl
Aramanın başlangıç noktası olarak kullanılacak denetimi tanımlar.
pCurSiteOrWnd
Denetimi tanımlar COleControlSiteOrWnd . hakkında COleControlSiteOrWnddaha fazla bilgi için bkz CWnd::GetNextDlgGroupItem. .
bPrevious
İşlevin iletişim kutusunda nasıl arama yapılacağını belirtir. ise TRUE, işlevi iletişim kutusunda önceki denetimi arar; ise FALSEsonraki denetimi arar.
Dönüş Değeri
Üye işlevi başarılı olursa, stili olan WS_TABSTOP önceki veya sonraki denetimin işaretçisi.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
hakkında COleControlSiteOrWnddaha fazla bilgi için bkz CWnd::GetNextDlgGroupItem. .
CWnd::GetNextWindow
Pencere yöneticisinin listesinde sonraki (veya önceki) pencereyi arar.
CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;
Parametreler
nFlag
İşlevin sonraki pencereye mi yoksa önceki pencereye mi işaretçi döndürmeyeceğini belirtir. GW_HWNDNEXTBu, pencere yöneticisinin listesindeki nesnenin CWnd ardından gelen pencereyi döndüren veya GW_HWNDPREVpencere yöneticisinin listesindeki önceki pencereyi döndüren olabilir.
Dönüş Değeri
Üye işlevi başarılı olursa pencere yöneticisinin listesindeki sonraki (veya önceki) pencereyi tanımlar.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Pencere yöneticisinin listesi tüm üst düzey pencereler, ilişkili alt pencereleri ve herhangi bir alt pencerenin alt pencereleri için girdiler içerir.
Üst düzey bir pencereyse CWnd , işlev sonraki (veya önceki) en üst düzey pencereyi arar; alt pencereyse CWnd , işlev sonraki (veya önceki) alt pencereyi arar.
CWnd::GetOleControlSite
Belirtilen ActiveX denetimi için özel siteyi alır.
COleControlSite* GetOleControlSite(UINT idControl) const;
Parametreler
idControl
ActiveX denetiminin kimliği.
CWnd::GetOpenClipboardWindow
Pano'nun açık olduğu pencerenin tutamacını alır.
static CWnd* PASCAL GetOpenClipboardWindow();
Dönüş Değeri
İşlev başarılı olursa Pano'nun açık olduğu pencerenin tutamacı; aksi takdirde NULL.
CWnd::GetOwner
Pencerenin sahibine yönelik bir işaretçi alır.
CWnd* GetOwner() const;
Dönüş Değeri
Nesne işaretçisi CWnd .
Açıklamalar
Pencerenin sahibi yoksa, varsayılan olarak üst pencere nesnesine bir işaretçi döndürülür. Sahip ve sahip olan arasındaki ilişkinin birkaç önemli açıdan üst-alt öğeden farklı olduğunu unutmayın. Örneğin, üst öğe içeren bir pencere, üst penceresinin istemci alanıyla sınırlandırılır. Sahip olunan pencereler masaüstündeki herhangi bir konumda çizilebilir.
Bu işlevin sahiplik kavramı, sahiplik kavramından GetWindowfarklıdır.
CWnd::GetParent
Alt pencerenin üst penceresine (varsa) bir işaretçi almak için bu işlevi çağırabilirsiniz.
CWnd* GetParent() const;
Dönüş Değeri
Windows SDK'sının GetParent Dönüş Değerleri bölümüne bakın.
Açıklamalar
İşlev, GetParent anlık üst öğeye (varsa) bir işaretçi döndürür. Buna karşılık, GetParentOwner işlev alt pencere olmayan (stili olmayan) en yakın üst veya sahip penceresine WS_CHILD bir işaretçi döndürür. Alt pencere içinde bir alt pencereniz GetParent varsa ve GetParentOwner farklı sonuçlar döndürerek.
CWnd::GetParentFrame
Üst çerçeve penceresini almak için bu üye işlevini çağırın.
CFrameWnd* GetParentFrame() const;
Dönüş Değeri
Başarılı olursa çerçeve penceresi işaretçisi; aksi takdirde NULL.
Açıklamalar
Üye işlevi, bir CFrameWnd (veya türetilmiş sınıf) nesnesi bulunana kadar üst zinciri arar.
CWnd::GetParentOwner
Bir alt pencerenin üst penceresine veya sahip penceresine işaretçi almak için bu üye işlevini çağır.
CWnd* GetParentOwner() const;
Dönüş Değeri
Nesne işaretçisi CWnd . Bir CWnd nesne tanıtıcıya bağlı değilse, geçici CWnd bir nesne oluşturulur ve eklenir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
GetParentOwner , alt pencere olmayan (stili olmayan) en yakın üst veya sahip penceresine WS_CHILD bir işaretçi döndürür. Geçerli sahip penceresi ile SetOwnerayarlanabilir. Varsayılan olarak, pencerenin üst öğesi sahibidir.
Buna karşılık işlev, GetParent alt pencere olsun veya olmasın, anlık üst öğeye bir işaretçi döndürür. Alt pencere içinde bir alt pencereniz GetParent varsa ve GetParentOwner farklı sonuçlar döndürerek.
CWnd::GetProperty
tarafından dwDispIDbelirtilen ActiveX denetim özelliğini almak için bu üye işlevini çağırın.
void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp)const;
Parametreler
dwDispID
Alınacak özelliği tanımlar.
vtProp
Alınacak özelliğin türünü belirtir. Olası değerler için COleDispatchDriver::InvokeHelperiçin Açıklamalar bölümüne bakın.
pvProp
Özellik değerini alacak değişkenin adresi. tarafından vtPropbelirtilen türle eşleşmelidir.
Açıklamalar
GetProperty ile değerini pvPropdöndürür.
Not
Bu işlev yalnızca ActiveX denetimini temsil eden bir CWnd nesnede çağrılmalıdır.
Bu üye işlevini ActiveX Denetim Kapsayıcıları ile kullanma hakkında daha fazla bilgi için ActiveX Denetim Kapsayıcıları: ActiveX Denetim Kapsayıcısında ActiveX Denetimlerini Programlama makalesine bakın.
CWnd::GetRenderTarget
Bu pencereyle ilişkili bir işleme hedefi alır.
CHwndRenderTarget* GetRenderTarget();
Dönüş Değeri
İşleme hedefine veya NULLişaretçisi.
CWnd::GetSafeHwnd
veya işaretçi ise this NULLdöndürürm_hWndNULL.
HWND GetSafeHwnd() const;
Dönüş Değeri
Pencerenin pencere tutamacını döndürür. bir pencereye CWnd bağlı değilse veya bir işaretçiyle NULL CWnd kullanılıyorsa döndürürNULL.
Örnek
örneğine CWnd::SubclassWindowbakın.
CWnd::GetSafeOwner
İletişim kutuları veya diğer kalıcı pencereler için kullanılması gereken sahip penceresini almak için bu üye işlevini çağırın.
static CWnd* GetSafeOwner(
CWnd* pParent = NULL,
HWND* pWndTop = NULL);
Parametreler
pParent
Üst CWnd pencere işaretçisi. olabilir NULL.
pWndTop
Şu anda üstte olan pencerenin işaretçisi. olabilir NULL.
Dönüş Değeri
Verilen pencerenin güvenli sahibine yönelik bir işaretçi.
Açıklamalar
Güvenli sahip, ilk alt öğe olmayan üst penceresidir pParent. ise pParent NULL, bir sahibi bulmak için iş parçacığının ana penceresi (aracılığıyla AfxGetMainWndalınır) kullanılır.
Not
Çerçevenin kendisi, sahibin belirtilmemiş olduğu iletişim kutuları ve özellik sayfaları için doğru sahip penceresini belirlemek için bu işlevi kullanır.
CWnd::GetScrollBarCtrl
Belirtilen eşdüzey kaydırma çubuğuna veya bölücü penceresine bir işaretçi almak için bu üye işlevini çağırın.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parametreler
nBar
Kaydırma çubuğunun türünü belirtir. parametresi aşağıdaki değerlerden birini alabilir:
SB_HORZYatay kaydırma çubuğunun konumunu alır.SB_VERTDikey kaydırma çubuğunun konumunu alır.
Dönüş Değeri
Eşdüzey kaydırma çubuğu denetimi veya NULL yoksa.
Açıklamalar
Bu üye işlevi, veya WS_VSCROLL bitleri bir pencere oluşturulurken WS_HSCROLL ayarlandığında oluşturulan kaydırma çubukları üzerinde çalışmaz. CWnd Bu işlevin uygulanması yalnızca döndürürNULL. gibi CViewtüretilmiş sınıflar, açıklanan işlevselliği uygular.
CWnd::GetScrollBarInfo
Belirtilen kaydırma çubuğu hakkındaki bilgileri alır.
BOOL GetScrollBarInfo(
LONG idObject,
PSCROLLBARINFO psbi) const;
Parametreler
idObject
Menü nesnesini belirtir. Olası değerlerin listesi için bkz GetScrollBarInfo. .
psbi
Bilgileri alan bir SCROLLBARINFO yapı işaretçisi.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetScrollBarInfoişlevselliğine öykünmektedir.
CWnd::GetScrollInfo
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLINFO almak için bu üye işlevini çağırın.
BOOL GetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parametreler
nBar
Kaydırma çubuğunun bir denetim mi yoksa pencerenin istemci olmayan alanının bir parçası mı olduğunu belirtir. İstemci olmayan alanın bir parçasıysa, nBar kaydırma çubuğunun yatay olarak mı, dikey olarak mı yoksa her ikisinde de mi konumlandırılmış olduğunu da gösterir. Aşağıdakilerden biri olmalıdır:
SB_CTLKaydırma çubuğu denetiminin parametrelerini alır. Verim_hWndüyesi kaydırma çubuğu denetiminin tutamacı olmalıdır.SB_HORZPencerenin standart yatay kaydırma çubuğunun parametrelerini alır.SB_VERTPencerenin standart dikey kaydırma çubuğunun parametrelerini alır.
lpScrollInfo
Bir yapıya işaretçi SCROLLINFO . Bu yapı hakkında daha fazla bilgi için bkz. Windows SDK'sı.
nMask
Alınacak kaydırma çubuğu parametrelerini belirtir. Varsayılan olarak , , SIF_POSSIF_TRACKPOSve SIF_RANGEbirleşimini SIF_PAGEbelirtir. Değerler hakkında nMask daha fazla bilgi için bkzSCROLLINFO.
Dönüş Değeri
İleti herhangi bir değer aldıysa, dönüş olur TRUE. Aksi takdirde, olur FALSE.
Açıklamalar
GetScrollInfo uygulamaların 32 bit kaydırma konumlarını kullanmasını sağlar.
Yapı, SCROLLINFO kaydırma çubuğuyla ilgili minimum ve maksimum kaydırma konumları, sayfa boyutu ve kaydırma kutusunun (başparmak) konumu gibi bilgiler içerir. Yapı varsayılanlarını SCROLLINFO değiştirme hakkında daha fazla bilgi için Windows SDK'sında yapı konusuna bakın.
Kaydırma çubuğu konumunu belirten MFC Windows ileti işleyicileri, CWnd::OnHScroll ve CWnd::OnVScroll, yalnızca 16 bit konum verileri sağlar. GetScrollInfo ve SetScrollInfo 32 bit kaydırma çubuğu konum verileri sağlayın. Bu nedenle, bir uygulama 32 bit kaydırma çubuğu konum verilerini almak için veya CWnd::OnVScroll işlerken CWnd::OnHScroll çağırabilirGetScrollInfo.
CWnd::GetScrollLimit
Kaydırma çubuğunun en yüksek kaydırma konumunu almak için bu üye işlevini çağırın.
int GetScrollLimit(int nBar);
Parametreler
nBar
Kaydırma çubuğunun türünü belirtir. parametresi aşağıdaki değerlerden birini alabilir:
SB_HORZYatay kaydırma çubuğunun kaydırma sınırını alır.SB_VERTDikey kaydırma çubuğunun kaydırma sınırını alır.
Dönüş Değeri
Başarılı olursa kaydırma çubuğunun en yüksek konumunu belirtir; aksi takdirde 0.
CWnd::GetScrollPos
Kaydırma çubuğunun kaydırma kutusunun geçerli konumunu alır.
int GetScrollPos(int nBar) const;
Parametreler
nBar
İncelenmesi gereken kaydırma çubuğunu belirtir. parametresi aşağıdaki değerlerden birini alabilir:
SB_HORZYatay kaydırma çubuğunun konumunu alır.SB_VERTDikey kaydırma çubuğunun konumunu alır.
Dönüş Değeri
Başarılı olursa kaydırma çubuğundaki kaydırma kutusunun geçerli konumunu belirtir; aksi takdirde 0.
Açıklamalar
Geçerli konum, geçerli kaydırma aralığına bağlı olan göreli bir değerdir. Örneğin, kaydırma aralığı 50 ile 100 arasındaysa ve kaydırma kutusu çubuğun ortasındaysa geçerli konum 75'tir.
CWnd::GetScrollRange
Verilen kaydırma çubuğu için geçerli en düşük ve en yüksek kaydırma çubuğu konumlarını ve lpMaxPostarafından lpMinPos belirtilen konumlara kopyalar.
void GetScrollRange(
int nBar,
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parametreler
nBar
İncelenmesi gereken kaydırma çubuğunu belirtir. parametresi aşağıdaki değerlerden birini alabilir:
SB_HORZYatay kaydırma çubuğunun konumunu alır.SB_VERTDikey kaydırma çubuğunun konumunu alır.
lpMinPos
En düşük konumu almak için tamsayı değişkenini gösterir.
lpMaxPos
Maksimum konumu almak için tamsayı değişkenini gösterir.
Açıklamalar
Kaydırma çubuğu yoksaCWnd, GetScrollRange üye işlevi 0'ı ve lpMaxPosöğesine lpMinPos kopyalar.
Standart kaydırma çubuğunun varsayılan aralığı 0 ile 100 arasındadır. Kaydırma çubuğu denetiminin varsayılan aralığı boş (her iki değer de 0'dır).
CWnd::GetStyle
Geçerli pencere stilini döndürür.
DWORD GetStyle() const;
Dönüş Değeri
Pencerenin stili. MFC'de kullanılan pencere stilleri hakkında daha fazla bilgi için bkz . Pencere Stilleri.
CWnd::GetSystemMenu
Uygulamanın kopyalama ve değiştirme için Denetim menüsüne erişmesine izin verir.
CMenu* GetSystemMenu(BOOL bRevert) const;
Parametreler
bRevert
Gerçekleştirilecek eylemi belirtir. ise bRevert FALSE, GetSystemMenu şu anda kullanımda olan Denetim menüsünün bir kopyasına bir tanıtıcı döndürür. Bu kopya başlangıçta Denetim menüsüyle aynıdır, ancak değiştirilebilir. ise bRevert TRUE, GetSystemMenu Denetim menüsünü varsayılan duruma geri sıfırlar. Önceki, büyük olasılıkla değiştirilmiş olan Denetim menüsü (varsa) yok edilir. Bu durumda dönüş değeri tanımlanmamıştır.
Dönüş Değeri
Ise bRevert FALSEDenetim menüsünün bir kopyasını tanımlar. ise bRevert TRUE, dönüş değeri tanımlanmamıştır.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Denetim menüsünün kendi kopyasını oluşturmak için kullanmayan GetSystemMenu herhangi bir pencere standart Denetim menüsünü alır.
Üye işlevi tarafından GetSystemMenu döndürülen işaretçi, Denetim menüsünü değiştirmek için , CMenu::InsertMenuveya CMenu::ModifyMenu işlevleriyle CMenu::AppendMenukullanılabilir.
Denetim menüsü başlangıçta , SC_MOVEve SC_SIZEgibi SC_CLOSEçeşitli kimlik değerleriyle tanımlanan öğeleri içerir. Denetim menüsündeki öğeler ileti oluşturur WM_SYSCOMMAND . Önceden tanımlanmış tüm Control-menu öğelerinin kimlik numaraları 0xF000'den büyük. Bir uygulama Denetim menüsüne öğe eklerse, F000'den küçük kimlik numaraları kullanmalıdır.
Windows, standart Denetim menüsünde öğeleri otomatik olarak kullanılamaz hale getirir. CWnd herhangi bir menü görüntülenmeden önce gönderilen iletilere WM_INITMENU yanıt vererek kendi seçimini veya kullanılamama durumunu gerçekleştirebilir.
Örnek
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUT);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CWnd::GetTitleBarInfo
Belirtilen başlık çubuğu hakkındaki bilgileri alır.
BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;
Parametreler
pti
Bilgileri alan bir TITLEBARINFO yapı işaretçisi.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetTitleBarInfoişlevselliğine öykünmektedir.
CWnd::GetTopLevelFrame
Varsa pencerenin en üst düzey çerçeve penceresini almak için bu üye işlevini çağırın.
CFrameWnd* GetTopLevelFrame() const;
Dönüş Değeri
Pencerenin en üst düzey çerçeve penceresini tanımlar.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Ekli penceresi yoksa CWnd veya üst düzey üst öğesi türetilmiş bir CFrameWndnesne değilse, bu işlev döndürür NULL.
CWnd::GetTopLevelOwner
En üst düzey pencereyi almak için bu üye işlevini çağırın.
CWnd* GetTopLevelOwner() const;
Dönüş Değeri
En üst düzey pencereyi tanımlar. Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
En üst düzey pencere, masaüstünün alt öğesi olan penceredir. Ekli penceresi yoksa CWnd , bu işlev döndürür NULL.
CWnd::GetTopLevelParent
Pencerenin üst düzey üst öğesini almak için bu üye işlevini çağırın.
CWnd* GetTopLevelParent() const;
Dönüş Değeri
Pencerenin üst düzey üst penceresini tanımlar.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
GetTopLevelParentve GetTopLevelOwnerdeğerine GetTopLevelFrame benzer; ancak geçerli sahip penceresi olarak ayarlanan değeri yoksayar.
CWnd::GetTopWindow
öğesine ait CWnden üst düzey alt pencereyi arar.
CWnd* GetTopWindow() const;
Dönüş Değeri
Bağlantılı alt pencere listesinde en üst düzey alt pencereyi CWnd tanımlar. Alt pencere yoksa değeri olur NULL.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Alt öğe yoksa CWnd , bu işlev döndürür NULL.
CWnd::GetUpdateRect
Güncelleştirme bölgesini tamamen kapsayan en küçük dikdörtgenin koordinatlarını alır.
BOOL GetUpdateRect(
LPRECT lpRect,
BOOL bErase = FALSE);
Parametreler
lpRect
CRect Güncelleştirme bölgesini kapsayan güncelleştirmenin istemci koordinatlarını almak için bir nesneye veya RECT yapıya işaret eder.
içinde bir güncelleştirme bölgesi olup olmadığını belirlemek için bu parametreyi NULL CWndolarak ayarlayın. ise lpRect NULL, GetUpdateRect üye işlevi bir güncelleştirme bölgesi varsa sıfır olmayan, yoksa 0 döndürür. Bu, bir iletinin geçersiz bir WM_PAINT alandan kaynaklanıp kaynaklanmamış olduğunu saptamak için bir yol sağlar. Bu parametreyi NULL Windows sürüm 3.0 ve önceki sürümlerde olarak ayarlamayın.
bErase
Güncelleştirme bölgesindeki arka planının silinip silinmeyeceğini belirtir.
Dönüş Değeri
Güncelleştirme bölgesinin durumunu belirtir. Güncelleştirme bölgesi boş değilse değer sıfır değildir; aksi takdirde 0.
lpRect parametresi olarak ayarlanırsaNULL, bir güncelleştirme bölgesi varsa dönüş değeri sıfır değildir; aksi takdirde 0 olur.
Açıklamalar
Stille oluşturulduysa CWnd ve eşleme modu değilseMM_TEXT, GetUpdateRect üye işlevi dikdörtgeni mantıksal koordinatlarda CS_OWNDC verir. Aksi takdirde, GetUpdateRect dikdörtgeni istemci koordinatlarında verir. Güncelleştirme bölgesi yoksa dikdörtgeni GetUpdateRect boş olarak ayarlar (tüm koordinatları 0 olarak ayarlar).
parametresi, bErase güncelleştirme bölgesinin arka planının silinip silinmeyeceğini GetUpdateRect belirtir. Ise bErase TRUE ve güncelleştirme bölgesi boş değilse arka plan silinir. Arka planı GetUpdateRect silmek için iletiyi gönderir WM_ERASEBKGND .
Üye işlevi tarafından BeginPaint alınan güncelleştirme dikdörtgeni, üye işlevi tarafından alınanla GetUpdateRect aynıdır.
BeginPaint Üye işlevi güncelleştirme bölgesini otomatik olarak doğrular, bu nedenle bir çağrıdan hemen sonra boş bir güncelleştirme bölgesi almak için BeginPaint yapılan tüm çağrılarGetUpdateRect.
CWnd::GetUpdateRgn
Güncelleştirme bölgesini tarafından pRgntanımlanan bir bölgeye alır.
int GetUpdateRgn(
CRgn* pRgn,
BOOL bErase = FALSE);
Parametreler
pRgn
Güncelleştirme bölgesini tanımlar.
bErase
Arka plan silinip silinmeyeceğini ve alt pencerelerin istemci olmayan alanlarının çizilip çizilmeyeceğini belirtir. Değer ise FALSE, çizim yapılmaz.
Dönüş Değeri
Sonuçta elde edilen bölgenin türünü gösteren kısa tamsayı bayrağını belirtir. Değer aşağıdakilerden herhangi birini alabilir:
SIMPLEREGIONBölgenin üst üste gelen kenarlıkları yok.COMPLEXREGIONBölgenin kenarlıkları çakışıyor.NULLREGIONBölge boş.ERRORHiçbir bölge oluşturulmadı.
Açıklamalar
Bu bölgenin koordinatları sol üst köşeye (istemci koordinatları) göredir.
BeginPaint Üye işlevi güncelleştirme bölgesini otomatik olarak doğrular, bu nedenle bir çağrıdan hemen sonra boş bir güncelleştirme bölgesi almak için BeginPaint yapılan tüm çağrılarGetUpdateRgn.
CWnd::GetWindow
İstenen pencereye veya NULL yoksa bir işaretçi döndürür.
CWnd* GetWindow(UINT nCmd) const;
Parametreler
nCmd
ve döndürülen pencere arasındaki CWnd ilişkiyi belirtir. Aşağıdaki değerlerden birini alabilir:
GW_CHILDCWndİlk alt pencereyi tanımlar.GW_HWNDFIRSTAlt pencereyseCWnd, ilk eşdüzey pencereyi döndürür. Aksi takdirde, listedeki ilk üst düzey pencereyi döndürür.GW_HWNDLASTBir alt pencereyseCWnd, son eşdüzey pencereyi döndürür. Aksi takdirde, listedeki son üst düzey pencereyi döndürür.GW_HWNDNEXTPencere yöneticisinin listesindeki bir sonraki pencereyi döndürür.GW_HWNDPREVPencere yöneticisinin listesindeki önceki pencereyi döndürür.GW_OWNERSahibi tanımlarCWnd.
Dönüş Değeri
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
CWnd::GetWindowContextHelpId
Pencereyle ilişkili yardım bağlamı tanımlayıcısını (varsa) almak için bu üye işlevini çağırın.
DWORD GetWindowContextHelpId() const;
Dönüş Değeri
Yardım bağlamı tanımlayıcısı. Pencerede yoksa 0 döndürür.
CWnd::GetWindowedChildCount
İlişkili alt pencerelerin sayısını almak için bu üye işlevini çağırın.
long GetWindowedChildCount();
Dönüş Değeri
Nesneyle ilişkilendirilmiş alt pencerelerin CWnd sayısı.
CWnd::GetWindowDC
Resim yazısı çubuğu, menüler ve kaydırma çubukları da dahil olmak üzere tüm pencerenin görüntüleme bağlamını alır.
CDC* GetWindowDC();
Dönüş Değeri
İşlev başarılı olursa verilen pencerenin görüntüleme bağlamını tanımlar; aksi takdirde NULL.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır. ReleaseDC her başarılı çağrısı GetWindowDCiçin bir kez çağrılmalıdır.
Açıklamalar
Bağlamın kaynağı istemci alanı yerine sol üst köşesi olduğundan, pencere görüntüleme bağlamı içinde CWndherhangi bir CWnd yerde boyamaya izin verir.
Varsayılan öznitelikler, bağlamı her aldığında görüntüleme bağlamı için atanır. Önceki öznitelikler kaybolur.
GetWindowDC , istemci olmayan alanda özel boyama efektleri CWnd için kullanılmak üzere tasarlanmıştır. Herhangi bir pencerenin istemci olmayan alanlarında boyama önerilmez.
GetSystemMetrics Windows işlevi, resim yazısı çubuğu, menü ve kaydırma çubukları gibi istemci olmayan alanın çeşitli bölümlerinin boyutlarını almak için kullanılabilir.
Boyama tamamlandıktan sonra, görüntüleme bağlamını ReleaseDC serbest bırakmak için üye işlevi çağrılmalıdır. Görüntü bağlamının serbest bırakılmaması, aynı anda açık olabilecek cihaz bağlamlarının sayısıyla ilgili sınırlamalar nedeniyle uygulamalar tarafından istenen boyamayı ciddi şekilde etkiler.
CWnd::GetWindowInfo
Pencere hakkındaki bilgileri alır.
BOOL GetWindowInfo(PWINDOWINFO pwi) const;
Parametreler
pwi
Bir yapıya işaretçi WINDOWINFO .
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin GetWindowInfoişlevselliğine öykünmektedir.
CWnd::GetWindowlessChildCount
İlişkili penceresiz alt pencerelerin sayısını alır.
long GetWindowlessChildCount();
Dönüş Değeri
Nesneyle ilişkili penceresiz alt pencerelerin CWnd sayısı.
CWnd::GetWindowPlacement
Bir pencerenin gösteri durumunu ve normal (geri yüklenen), simge durumuna küçültülmüş ve ekranı kaplamış konumlarını alır.
BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;
Parametreler
lpwndpl
WINDOWPLACEMENT Gösteri durumu ve konum bilgilerini alan yapıya işaret eder.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
flags Bu işlev tarafından alınan yapının üyesi WINDOWPLACEMENT her zaman 0'dır. Ekranı kaplarsa CWnd , öğesinin showCmd WINDOWPLACEMENT üyesi olur SW_SHOWMAXIMIZED. Pencere simge durumuna küçültülmüşse, şeklindedir SW_SHOWMINIMIZED. Aksi takdirde.SW_SHOWNORMAL
CWnd::GetWindowRect
Nesnenin sınırlayıcı dikdörtgeninin CWnd boyutlarını tarafından lpRectişaret edilen yapıya kopyalar.
void GetWindowRect(LPRECT lpRect) const;
Parametreler
lpRect
CRect Sol üst ve sağ alt köşelerin ekran koordinatlarını alacak bir RECT nesneye veya yapıya işaret eder.
Açıklamalar
Boyutlar, ekran ekranının sol üst köşesine göre ekran koordinatlarında verilir. Resim yazısı, kenarlık ve kaydırma çubuklarının boyutları (varsa) eklenir.
CWnd::GetWindowRgn
Pencerenin pencere bölgesini almak için bu üye işlevini çağırın.
int GetWindowRgn(HRGN hRgn)const;
Parametreler
hRgn
Pencere bölgesine tanıtıcı.
Dönüş Değeri
Dönüş değeri, işlevin aldığı bölgenin türünü belirtir. Aşağıdaki değerlerden biri olabilir:
NULLREGIONBölge boş.SIMPLEREGIONBölge tek bir dikdörtgendir.COMPLEXREGIONBölge birden fazla dikdörtgendir.ERRORBir hata oluştu; bölge etkilenmez.
Açıklamalar
Pencere bölgesi, pencerenin içinde işletim sisteminin çizime izin aldığı alanı belirler. İşletim sistemi, pencerenin pencere bölgesinin dışında kalan bir bölümünü görüntülemez.
Pencerenin pencere bölgesinin koordinatları pencerenin istemci alanına değil, pencerenin sol üst köşesine göredir.
Pencerenin pencere bölgesini ayarlamak için çağrısı yapın CWnd::SetWindowRgn.
CWnd::GetWindowText
Resim yazısı başlığını CWnd (varsa) tarafından lpszStringBuf veya hedef dizesine rStringişaret edilen arabelleğe kopyalar.
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(
CString& rString) const;
Parametreler
lpszStringBuf
Pencere başlığının kopyalanan dizesini alacak arabelleğe işaret edin.
nMaxCount
Sonlandırıcı null karakter de dahil olmak üzere arabelleğe kopyalanacak en fazla karakter sayısını belirtir. Dize içinde belirtilen nMaxCountkarakter sayısından uzunsa kesilir.
rString
CString Pencere başlığının kopyalanan dizesini alacak nesne.
Dönüş Değeri
Sonlandırıcı null karakter dahil olmak üzere kopyalanan dizenin uzunluğunu karakter olarak belirtir. Resim yazısı yoksa CWnd veya resim yazısı boşsa 0 olur.
Açıklamalar
CWnd Nesne bir denetimse, GetWindowText üye işlevi resim yazısını kopyalamak yerine denetimin içindeki metni kopyalar.
Bu üye işlevi, iletinin WM_GETTEXT nesneye gönderilmesine CWnd neden olur.
Örnek
örneğine CWnd::SetWindowTextbakın.
CWnd::GetWindowTextLength
Nesne başlığı başlığının CWnd uzunluğunu döndürür.
int GetWindowTextLength() const;
Dönüş Değeri
Boş sonlandırma karakteri dahil değil, karakter olarak metin uzunluğunu belirtir. Böyle bir metin yoksa değer 0 olur.
Açıklamalar
Bir denetimse CWnd , GetWindowTextLength üye işlevi resim yazısı yerine denetimin içindeki metnin uzunluğunu döndürür.
Bu üye işlevi, iletinin WM_GETTEXTLENGTH nesneye gönderilmesine CWnd neden olur.
Örnek
örneğine CWnd::SetWindowTextbakın.
CWnd::HideCaret
Ekran ekranından kaldırarak şapka işaretini gizler.
void HideCaret();
Açıklamalar
Şapka işareti artık görünür olmasa da üye işlevi kullanılarak ShowCaret yeniden görüntülenebilir. Şapka işaretini gizlemek geçerli şeklini yok etmez.
Gizlemek kümülatiftir. HideCaret Bir satırda beş kez çağrıldıysa, şapka işaretinin ShowCaret gösterilmesi için üye işlevi beş kez çağrılmalıdır.
CWnd::HiliteMenuItem
Vurguyu en üst düzey (menü çubuğu) menü öğesinden vurgular veya kaldırır.
BOOL HiliteMenuItem(
CMenu* pMenu,
UINT nIDHiliteItem,
UINT nHilite);
Parametreler
pMenu
Vurgulanacak öğeyi içeren üst düzey menüyü tanımlar.
nIDHiliteItem
Parametrenin değerine nHilite bağlı olarak vurgulanacak menü öğesini belirtir.
nHilite
Menü öğesinin vurgulanıp vurgulu olmadığını veya vurgunun kaldırılıp kaldırılmayacağını belirtir. veya ile MF_BYCOMMAND birlikte olabilir MF_HILITE MF_UNHILITE.MF_BYPOSITION Değerler bit düzeyinde OR işleci kullanılarak birleştirilebilir. Bu değerler aşağıdaki anlamlara sahiptir:
MF_BYCOMMANDnIDHiliteItemMenü öğesi kimliği (varsayılan yorumlama) olarak yorumlar.MF_BYPOSITIONnIDHiliteItemMenü öğesinin sıfır tabanlı uzaklığı olarak yorumlar.MF_HILITEÖğeyi vurgular. Bu değer belirtilmemişse, vurgu öğeden kaldırılır.MF_UNHILITEÖğeden vurguyu kaldırır.
Dönüş Değeri
Menü öğesinin vurgulanıp vurgulandığını belirtir. Öğe vurgulanmışsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
MF_HILITE ve MF_UNHILITE bayrakları yalnızca bu üye işleviyle kullanılabilir; üye işleviyle CMenu::ModifyMenu kullanılamaz.
CWnd::HtmlHelp
HTMLHelp uygulamasını çağırmak için bu üye işlevini çağırın.
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
Parametreler
dwData
Ek verileri belirtir. Kullanılan değer parametresinin nCmd değerine bağlıdır.
nCmd
İstenen yardım türünü belirtir. Olası değerlerin listesi ve parametreyi dwData nasıl etkiledikleri için Windows SDK'sında HTML Yardım API Başvurusu'nda açıklanan parametreye bakın uCommand .
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::HtmlHelp.
CWnd::InitDynamicLayout
Bir pencere için dinamik düzeni başlatmak için çerçeve tarafından çağrılır.
void InitDynamicLayout();
Açıklamalar
Bu yöntemi doğrudan çağırmayın.
CWnd::Invalidate
tüm istemci alanı CWndgeçersiz kılınıyor.
void Invalidate(BOOL bErase = TRUE);
Parametreler
bErase
Güncelleştirme bölgesindeki arka planının silinip silinmeyeceğini belirtir.
Açıklamalar
Sonraki WM_PAINT ileti oluştuğunda istemci alanı boyama için işaretlenir. Bölge, veya ValidateRgn üye işlevi tarafından ValidateRect bir WM_PAINT ileti gerçekleşmeden önce de doğrulanabilir.
parametresi, bErase güncelleştirme bölgesi işlendiğinde güncelleştirme alanındaki arka planının silinip silinmeyeceğini belirtir. ise bErase TRUE, üye işlevi çağrıldığında BeginPaint arka plan silinir; ise bErase FALSEarka plan değişmeden kalır. TRUE Güncelleştirme bölgesinin herhangi bir bölümü içinsebErase, yalnızca belirtilen bölümde değil tüm bölgedeki arka plan silinir.
Windows, güncelleştirme bölgesi boş olmadığında ve bu pencere için uygulama kuyruğunda başka ileti olmadığında bir WM_PAINT ileti CWnd gönderir.
Örnek
örneğine CWnd::UpdateWindowbakın.
CWnd::InvalidateRect
Bu dikdörtgeni güncelleştirme bölgesine ekleyerek verilen dikdörtgenin içindeki istemci alanını geçersiz kılmış CWnd .
void InvalidateRect(
LPCRECT lpRect,
BOOL bErase = TRUE);
Parametreler
lpRect
Güncelleştirme bölgesine eklenecek dikdörtgeni (istemci koordinatlarında) içeren bir CRect RECT nesneyi veya yapıyı gösterir. ise lpRect NULL, istemci alanının tamamı bölgeye eklenir.
bErase
Güncelleştirme bölgesindeki arka planının silinip silinmeyeceğini belirtir.
Açıklamalar
Geçersiz kılınan dikdörtgen ve güncelleştirme bölgesindeki diğer tüm alanlar, bir sonraki WM_PAINT ileti gönderildiğinde boyama için işaretlenir. Geçersiz kılınan alanlar, bir sonraki WM_PAINT çağrı gerçekleştiğinde bölge işlenene kadar veya bölge ya da ValidateRgn üye işlevi tarafından ValidateRect doğrulanana kadar güncelleştirme bölgesinde birikir.
parametresi, bErase güncelleştirme bölgesi işlendiğinde güncelleştirme alanındaki arka planının silinip silinmeyeceğini belirtir. ise bErase TRUE, üye işlevi çağrıldığında BeginPaint arka plan silinir; ise bErase FALSEarka plan değişmeden kalır. TRUE Güncelleştirme bölgesinin herhangi bir bölümü içinsebErase, yalnızca belirtilen bölümde değil, bölgenin tamamında arka plan silinir.
Windows, güncelleştirme bölgesi boş olmadığında ve bu pencere için uygulama kuyruğunda başka ileti olmadığında bir WM_PAINT ileti CWnd gönderir.
CWnd::InvalidateRgn
belirtilen bölge içindeki istemci alanını geçerli güncelleştirme bölgesine CWndekleyerek geçersiz kılarak.
void InvalidateRgn(
CRgn* pRgn,
BOOL bErase = TRUE);
Parametreler
pRgn
Güncelleştirme bölgesine eklenecek bölgeyi tanımlayan bir CRgn nesne işaretçisi. Bölgenin istemci koordinatlarına sahip olduğu varsayılır. Bu parametre ise NULL, istemci alanının tamamı güncelleştirme bölgesine eklenir.
bErase
Güncelleştirme bölgesindeki arka planının silinip silinmeyeceğini belirtir.
Açıklamalar
Geçersiz kılınan bölge, güncelleştirme bölgesindeki diğer tüm alanlarla birlikte, ileti bir sonraki gönderildiğinde WM_PAINT boyama için işaretlenir. Geçersiz kılınan alanlar, bir sonraki ileti gönderildiğinde bölge işlenene kadar veya bölge ya da ValidateRgn üye işlevi tarafından doğrulanana ValidateRect kadar güncelleştirme bölgesinde birikirWM_PAINT.
parametresi, bErase güncelleştirme bölgesi işlendiğinde güncelleştirme alanındaki arka planının silinip silinmeyeceğini belirtir. ise bErase TRUE, üye işlevi çağrıldığında BeginPaint arka plan silinir; ise bErase FALSEarka plan değişmeden kalır. TRUE Güncelleştirme bölgesinin herhangi bir bölümü içinsebErase, yalnızca belirtilen bölümde değil tüm bölgedeki arka plan silinir.
Windows, güncelleştirme bölgesi boş olmadığında ve bu pencere için uygulama kuyruğunda başka ileti olmadığında bir WM_PAINT ileti CWnd gönderir.
Belirtilen bölge daha önce bölge işlevlerinden biri tarafından oluşturulmuş olmalıdır.
CWnd::InvokeHelper
tarafından belirtilen dwDispIDbağlamda wFlagsActiveX Denetimi yöntemini veya özelliğini çağırmak için bu üye işlevini çağırın.
void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
... );
Parametreler
dwDispID
Çağrılacak yöntemi veya özelliği tanımlar.
wFlags
çağrısının IDispatch::Invokebağlamını açıklayan bayraklar.
vtRet
Dönüş değerinin türünü belirtir. Olası değerler için COleDispatchDriver::InvokeHelperiçin Açıklamalar bölümüne bakın.
pvRet
Özellik değerini veya dönüş değerini alacak değişkenin adresi. tarafından vtRetbelirtilen türle eşleşmelidir.
pbParamInfo
aşağıdaki pbParamInfoparametrelerin türlerini belirten null olarak sonlandırılan bayt dizesi işaretçisi. Olası değerler için COleDispatchDriver::InvokeHelperiçin Açıklamalar bölümüne bakın.
...
değişken listesi, içinde belirtilen türlerde pbParamInfo.
Açıklamalar
parametresi, pbParamInfo yönteme veya özelliğe geçirilen parametrelerin türlerini belirtir. Bağımsız değişkenlerin değişken listesi söz dizimi bildiriminde ile ... temsil edilir.
Bu işlev, parametreleri değerlere VARIANTARG dönüştürür ve ardından ActiveX denetiminde yöntemini çağırır IDispatch::Invoke . çağrısı IDispatch::Invoke başarısız olursa, bu işlev bir özel durum oluşturur. SCODE tarafından IDispatch::Invoke döndürülen (durum kodu) iseDISP_E_EXCEPTION, bu işlev bir COleException nesnesi oluşturur, aksi takdirde bir COleDispatchExceptionoluşturur.
Not
Bu işlev yalnızca ActiveX denetimini temsil eden bir CWnd nesnede çağrılmalıdır.
Bu üye işlevini ActiveX Denetim Kapsayıcıları ile kullanma hakkında daha fazla bilgi için ActiveX Denetim Kapsayıcıları: ActiveX Denetim Kapsayıcısında ActiveX Denetimlerini Programlama makalesine bakın.
CWnd::IsChild
tarafından pWnd belirtilen pencerenin alt pencere mi yoksa başka bir doğrudan alt CWndpencere mi olduğunu gösterir.
BOOL IsChild(const CWnd* pWnd) const;
Parametreler
pWnd
Test edilecek pencereyi tanımlar.
Dönüş Değeri
İşlevin sonucunu belirtir. tarafından tanımlanan pWnd pencere alt penceresi CWndise sıfır olmayan bir değerdir; aksi takdirde 0 olur.
Açıklamalar
Alt pencere, nesnenin özgün açılır pencereden alt pencereye CWnd giden üst pencereler zincirinde olması durumunda doğrudan alt CWnd penceredir.
CWnd::IsD2DSupportEnabled
D2D desteğinin etkinleştirilip etkinleştirilmediğini belirler.
BOOL IsD2DSupportEnabled();
Dönüş Değeri
TRUE özellik etkinse; aksi takdirde FALSE.
CWnd::IsDialogMessage
Verilen iletinin modsuz bir iletişim kutusuna yönelik olup olmadığını belirlemek için bu üye işlevini çağırın; ise, bu işlev iletiyi işler.
BOOL IsDialogMessage(LPMSG lpMsg);
Parametreler
lpMsg
denetlenecek iletiyi içeren bir MSG yapıyı gösterir.
Dönüş Değeri
Üye işlevinin verilen iletiyi işleyip işlemediğini belirtir. İleti işlendiyse sıfır değildir; aksi takdirde 0. Dönüş 0 ise, iletiyi işlemek için temel sınıfın üye işlevini çağırın CWnd::PreTranslateMessage . Üye işlevini geçersiz kılmada CWnd::PreTranslateMessage kod şöyle görünür:
BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
if (IsDialogMessage(pMsg))
return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
Açıklamalar
İşlev bir iletiyi işlediğinde IsDialogMessage , klavye iletilerini denetler ve bunları ilgili iletişim kutusu için seçim komutlarına dönüştürür. Örneğin, SEKME tuşu bir sonraki denetimi veya denetim grubunu seçer ve AŞAĞI OK tuşu bir gruptaki sonraki denetimi seçer.
tarafından işlenen IsDialogMessage bir iletiyi veya DispatchMessage Windows işlevlerine TranslateMessage geçirmemelisiniz, çünkü zaten işlenmiştir.
CWnd::IsDlgButtonChecked
Düğme denetiminin yanında onay işareti olup olmadığını belirler.
UINT IsDlgButtonChecked(int nIDButton) const;
Parametreler
nIDButton
Düğme denetiminin tamsayı tanımlayıcısını belirtir.
Dönüş Değeri
Verilen denetim işaretliyse sıfır olmayan ve işaretlenmemişse 0. Yalnızca radyo düğmeleri ve onay kutuları işaretlenebilir. Üç durumlu düğmeler için, düğme belirsizse dönüş değeri 2 olabilir. Bu üye işlevi, bir basma düğmesi için 0 döndürür.
Açıklamalar
Düğme üç durumlu bir denetimse, üye işlevi soluk mu, işaretli mi yoksa hiçbiri mi olduğunu belirler.
CWnd::IsDynamicLayoutEnabled
Bu pencerede dinamik düzenin etkinleştirilip etkinleştirilmediğini belirler. Dinamik düzen etkinleştirilirse, kullanıcı üst pencereyi yeniden boyutlandırdığında alt pencerelerin konumu ve boyutu değişebilir.
BOOL IsDynamicLayoutEnabled() const;
Dönüş Değeri
TRUE dinamik düzen etkinse; aksi takdirde FALSE.
Açıklamalar
CWnd::IsIconic
Simge durumuna küçültülmüş (simgesel) olup olmadığını CWnd belirtir.
BOOL IsIconic() const;
Dönüş Değeri
Simge durumuna küçültülmüşse CWnd sıfır olmayan; aksi takdirde 0.
Örnek
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::IsTouchWindow
Dokunma desteği olup olmadığını CWnd belirtir.
BOOL IsTouchWindow() const;
Dönüş Değeri
TRUE dokunma desteğine sahipse CWnd ; aksi takdirde FALSE.
Açıklamalar
CWnd::IsWindowEnabled
Fare ve klavye girişi için etkinleştirilip etkinleştirilmediğini CWnd belirtir.
BOOL IsWindowEnabled() const;
Dönüş Değeri
Etkinse CWnd sıfır olmayan; aksi takdirde 0.
Örnek
//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
{
if (pWnd->IsWindowEnabled())
{
// Red brush for the background...
pDC->SetBkColor(RGB(255, 0, 0));
// m_pRedBrush is the CBrush object initialized with a red brush
// using CreateSolidBrush
return (HBRUSH)m_RedBrush.GetSafeHandle();
}
else
{
// Blue brush for the background...
pDC->SetBkColor(RGB(0, 0, 255));
// m_pBlueBrush is the CBrush object initialized with a blue
// brush using CreateSolidBrush
return (HBRUSH)m_BlueBrush.GetSafeHandle();
}
}
return hbr;
}
CWnd::IsWindowVisible
Verilen pencerenin görünürlük durumunu belirler.
BOOL IsWindowVisible() const;
Dönüş Değeri
Görünür durumdaysa CWnd sıfır olmayan (stil biti WS_VISIBLE ayarlanmıştır ve üst pencere görünür durumdadır). Dönüş değeri stil bitinin WS_VISIBLE durumunu yansıttığı için, diğer pencereler tarafından tamamen gizlenmiş olsa CWnd bile dönüş değeri sıfırdan farklı olabilir.
Açıklamalar
Pencere, stil biti tarafından WS_VISIBLE gösterilen bir görünürlük durumuna sahiptir. Bu stil biti üye işlevine ShowWindow yapılan bir çağrıyla ayarlandığında, pencere görüntülenir ve pencerede stil biti ayarlanmış olduğu sürece pencereye sonraki çizim görüntülenir.
Stile sahip WS_VISIBLE bir pencereye yapılan herhangi bir çizim, pencere diğer pencereler tarafından kaplanmışsa veya üst penceresi tarafından kırpılmışsa görüntülenmez.
Örnek
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
if(!m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_SHOWNORMAL);
}
}
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
if(m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_HIDE);
}
}
CWnd::IsZoomed
Ekranı kaplayıp kaplamadığını CWnd belirler.
BOOL IsZoomed() const;
Dönüş Değeri
Sıfır dışı ise ekranı kaplar; CWnd aksi takdirde 0 olur.
CWnd::KillTimer
tarafından tanımlanan nIDEvent zamanlayıcı olayını önceki çağrısından SetTimeröldürür.
BOOL KillTimer(UINT_PTR nIDEvent);
Parametreler
nIDEvent
zamanlayıcı olayının değerine geçirilen SetTimerdeğeri.
Dönüş Değeri
İşlevin sonucunu belirtir. Olay öldürüldüyse sıfır olmayan bir değerdir. Üye işlevi belirtilen zamanlayıcı olayını bulamadıysa KillTimer 0 olur.
Açıklamalar
Zamanlayıcıyla ilişkili bekleyen WM_TIMER iletiler ileti kuyruğundan kaldırılmaz.
Örnek
örneğine CWnd::SetTimerbakın.
CWnd::LoadDynamicLayoutResource
Kaynak dosyasından dinamik düzen bilgilerini yüklemek için çerçeve tarafından çağrılır.
BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);
Parametreler
lpszResourceName
Bu pencere için istenen dinamik düzen bilgilerini içeren kaynağın adı.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan. Hata oluşursa 0 olur.
Açıklamalar
Bu yöntemi doğrudan çağırmayın.
CWnd::LockWindowUpdate
Verilen pencerede çizimi devre dışı bırakır.
BOOL LockWindowUpdate();
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan. Hata oluşursa veya işlev başka bir pencereyi kilitlemek için kullanılmışsa LockWindowUpdate 0'dır.
Açıklamalar
Kilitli bir pencere taşınamaz. Aynı anda yalnızca bir pencere kilitlenebilir. ile LockWindowUpdatekilitlenmiş bir pencerenin kilidini açmak için çağrısı yapın UnlockWindowUpdate.
Kilitli penceresi olan bir uygulama (veya herhangi bir kilitli alt pencere) , GetDCExveya BeginPaint Windows işlevini çağırırsaGetDC, çağrılan işlev görünür bölgesi boş olan bir cihaz bağlamı döndürür. Uygulama üye işlevini çağırarak pencerenin kilidini açana UnlockWindowUpdate kadar bu durum oluşur.
Pencere güncelleştirmeleri kilitliyken sistem, kilitli bir pencereyle ilişkili cihaz bağlamlarına yönelik çizim işlemlerinin sınırlayıcı dikdörtgenini izler. Çizim yeniden etkinleştirildiğinde, bu sınırlayıcı dikdörtgen kilitli pencerede ve alt pencerelerinde geçersiz kılınarak son WM_PAINT iletinin ekranı güncelleştirmesini zorunlu hale getirmesi sağlanır. Pencere güncelleştirmeleri kilitliyken hiçbir çizim gerçekleşmediyse, hiçbir alan geçersiz kılınmamış olur.
LockWindowUpdate Üye işlevi verilen pencereyi görünmez yapmaz ve stil bitini WS_VISIBLE temizlemez.
CWnd::m_hWnd
Bu CWndöğesine eklenmiş Windows penceresinin tutamacı.
HWND m_hWnd;
Açıklamalar
Veri m_hWnd üyesi türünde HWNDbir ortak değişkendir.
CWnd::MapWindowPoints
Bir nokta kümesini koordinat alanından CWnd başka bir pencerenin koordinat alanına dönüştürür (eşler).
void MapWindowPoints(
CWnd* pwndTo,
LPRECT lpRect) const;
void MapWindowPoints(
CWnd* pwndTo,
LPPOINT lpPoint,
UINT nCount) const;
Parametreler
pwndTo
Noktaların dönüştürüldüğü pencereyi tanımlar. Bu parametre ise NULL, noktalar ekran koordinatlarına dönüştürülür.
lpRect
Noktaları dönüştürülecek dikdörtgeni belirtir. Bu işlevin ilk sürümü yalnızca Windows 3.1 ve üzeri sürümlerde kullanılabilir.
lpPoint
Dönüştürülecek nokta kümesini içeren bir yapı dizisinin POINT işaretçisi.
nCount
dizininde tarafından lpPointişaret edilen yapı sayısını POINT belirtir.
CWnd::MessageBox
Uygulama tarafından sağlanan bir ileti ve resim yazısının yanı sıra İleti Kutusu Stilleri listesinde açıklanan önceden tanımlanmış simgelerin ve basma düğmelerinin birleşimini içeren bir pencere oluşturur ve görüntüler.
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK);
Parametreler
lpszText
Görüntülenecek iletiyi içeren bir CString nesneye veya null ile sonlandırılan dizeye işaret ediyor.
lpszCaption
İleti kutusu resim yazısı için kullanılacak bir CString nesneye veya null ile sonlandırılan dizeye işaret edin. ise lpszCaption NULL, varsayılan "Hata" başlığı kullanılır.
nType
İleti kutusunun içeriğini ve davranışını belirtir.
Dönüş Değeri
Bu yöntem, Windows SDK'da tanımlandığı gibi işlevini kullanır MessageBox . Bu yöntem, bu işlevi çağırmanın sonucunu döndürür.
Açıklamalar
Uygulamanızda bir ileti kutusu uygulamak için bu üye işlevi yerine genel AfxMessageBox işlevi kullanın.
Aşağıda, bir ileti kutusunda kullanılabilecek çeşitli sistem simgeleri gösterilmektedir:
| Simge | Makro |
|---|---|
![]() |
MB_ICONHAND, MB_ICONSTOP ve MB_ICONERROR |
![]() |
MB_ICONQUESTION |
![]() |
MB_ICONEXCLAMATION ve MB_ICONWARNING |
![]() |
MB_ICONASTERISK ve MB_ICONINFORMATION |
Örnek
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Pencerenin stilini değiştirmek için bu üye işlevini çağır.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parametreler
dwRemove
Stil değişikliği sırasında kaldırılacak pencere stillerini belirtir.
dwAdd
Stil değişikliği sırasında eklenecek pencere stillerini belirtir.
nFlags
çağrılmaması gerekiyorsa SetWindowPos , veya sıfıra SetWindowPosgeçirilecek bayraklar. Varsayılan değer sıfırdır. Önceden ayarlanmış bayrakların listesi için Açıklamalar bölümüne bakın.
Dönüş Değeri
Stil başarıyla değiştirildiyse sıfır olmayan; aksi takdirde, 0.
Açıklamalar
Eklenecek veya kaldırılacak stiller bit düzeyinde OR (|) işleci kullanılarak birleştirilebilir. Kullanılabilir pencere stilleri hakkında bilgi için Pencere Stilleri ve CreateWindow Windows SDK'sı konularına bakın.
Sıfır nFlags değilse, ModifyStyle Windows API işlevini SetWindowPos çağırır ve aşağıdaki dört önceden ayarlanmış bayrakla birleştirerek nFlags pencereyi yeniden çizer:
SWP_NOSIZEGeçerli boyutu korur.SWP_NOMOVEGeçerli konumu korur.SWP_NOZORDERGeçerli Z sırasını korur.SWP_NOACTIVATEPencereyi etkinleştirmez.
Pencerenin genişletilmiş stillerini değiştirmek için bkz ModifyStyleEx. .
Not
Bazı denetimlerdeki bazı stiller için ( ES_READONLY örneğin düzenleme denetimindeki stil), ModifyStyle denetimin özel iç işleme gerçekleştirmesi gerekebileceğinden stili düzgün şekilde değiştiremeyebilir. Bu durumlarda, stili değiştirmek için karşılık gelen bir ileti kullanılabilir ( EM_SETREADONLY belirtilen örnekte).
Örnek
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
CWnd::ModifyStyleEx
Pencerenin genişletilmiş stilini değiştirmek için bu üye işlevini çağır.
BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parametreler
dwRemove
Stil değişikliği sırasında kaldırılacak genişletilmiş stilleri belirtir.
dwAdd
Stil değişikliği sırasında eklenecek genişletilmiş stilleri belirtir.
nFlags
çağrılmaması gerekiyorsa SetWindowPos , veya sıfıra SetWindowPosgeçirilecek bayraklar. Varsayılan değer sıfırdır. Önceden ayarlanmış bayrakların listesi için Açıklamalar bölümüne bakın.
Dönüş Değeri
Stil başarıyla değiştirildiyse sıfır olmayan; aksi takdirde, 0.
Açıklamalar
Eklenecek veya kaldırılacak stiller bit düzeyinde OR (|) işleci kullanılarak birleştirilebilir. Kullanılabilir genişletilmiş stiller hakkında bilgi için bu kitapta ve CreateWindowEx Windows SDK'sında Genişletilmiş Pencere Stilleri konularına bakın
Sıfır nFlags değilse, ModifyStyleEx Windows API işlevini SetWindowPos çağırır ve aşağıdaki dört önceden ayarlanmış bayrakla birleştirerek nFlags pencereyi yeniden çizer:
SWP_NOSIZEGeçerli boyutu korur.SWP_NOMOVEGeçerli konumu korur.SWP_NOZORDERGeçerli Z sırasını korur.SWP_NOACTIVATEPencereyi etkinleştirmez.
Normal pencere stillerini kullanarak pencereleri değiştirmek için bkz ModifyStyle. .
Örnek
// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_TRANSPARENT);
return 0;
}
CWnd::MoveWindow
Konumu ve boyutları değiştirir.
void MoveWindow(
int x,
int y,
int nWidth,
int nHeight,
BOOL bRepaint = TRUE);
void MoveWindow(
LPCRECT lpRect,
BOOL bRepaint = TRUE);
Parametreler
x
sol tarafının CWndyeni konumunu belirtir.
y
öğesinin üst CWndkısmının yeni konumunu belirtir.
nWidth
öğesinin yeni genişliğini CWndbelirtir.
nHeight
öğesinin yeni yüksekliğini CWndbelirtir.
bRepaint
Yeniden boyanıp boyanmayacağını CWnd belirtir. iseTRUE, CWnd ileti işleyicisinde OnPaint her zamanki gibi bir WM_PAINT ileti alır. Bu parametre ise FALSE, herhangi bir tür yeniden boyanma gerçekleşmez. Bu, istemci alanı, istemci olmayan alan (başlık ve kaydırma çubukları dahil) ve 'nin taşıması sonucu CWndortaya çıkan üst pencerenin herhangi bir bölümü için geçerlidir. Bu parametre olduğunda FALSE, uygulamanın ve üst pencerenin yeniden çizilmesi gereken bölümlerini CWnd açıkça geçersiz kılması veya yeniden çizmesi gerekir.
lpRect
Yeni CRect boyutu ve konumu belirten nesne veya RECT yapı .
Açıklamalar
En üst düzey CWnd nesne için x ve y parametreleri ekranın sol üst köşesine göre belirlenir. Bir alt CWnd nesne için, bunlar üst pencerenin istemci alanının sol üst köşesine göredir.
MoveWindow işlevi iletiyi gönderirWM_GETMINMAXINFO. Bu iletiyi işlemek, mümkün olan en büyük ve en küçük pencerelerin varsayılan değerlerini değiştirme fırsatı verir CWnd . Üye işlevine yönelik parametreler MoveWindow bu değerleri aşarsa, değerler işleyicideki en düşük veya en yüksek değerlerle WM_GETMINMAXINFO değiştirilebilir.
Örnek
örneğine CWnd::ClientToScreenbakın.
CWnd::NotifyWinEvent
Sisteme önceden tanımlanmış bir olayın gerçekleştiğini bildirir. Herhangi bir istemci uygulaması olay için bir kanca işlevi kaydettiyse, sistem istemcinin kanca işlevini çağırır.
void NotifyWinEvent(
DWORD event,
LONG idObjectType,
LONG idObject);
Parametreler
event
Oluşan olayı belirtir. Bu değer olay sabitlerinden biri olmalıdır.
idObjectType
Olayı oluşturan nesne türünü tanımlar. Bu değer, önceden tanımlanmış nesne tanımlayıcılarından veya özel nesne kimliği değerinden biridir.
idObject
Olayın bir nesne tarafından mı yoksa nesnenin alt öğesi tarafından mı oluşturulduğunu tanımlar. Bu değer ise CHILDID_SELF, olay nesnenin kendisi tarafından oluşturulmuştur. Değilse, bu değer olayı oluşturan öğenin alt kimliğidir.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin NotifyWinEventişlevselliğine öykünmektedir.
CWnd::OnActivate
Bir nesne etkinleştirildiğinde veya devre dışı bırakıldığında çerçeve bu üye işlevini CWnd çağırır.
afx_msg void OnActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
Parametreler
nState
öğesinin CWnd etkinleştirilip etkinleştirilmediğini veya devre dışı bırakıldığını belirtir. Aşağıdaki değerlerden biri olabilir:
WA_INACTIVEPencere devre dışı bırakılıyor.WA_ACTIVEPencere, fare tıklaması dışında bir yöntemle etkinleştiriliyor (örneğin, pencereyi seçmek için klavye arabirimi kullanılarak).WA_CLICKACTIVEPencere bir fare tıklaması ile etkinleştiriliyor.
pWndOther
Etkinleştirilen veya devre dışı bırakılan işaretçi CWnd . İşaretçi olabilir NULLve geçici olabilir.
bMinimized
Etkinleştirilen veya devre dışı bırakılan öğesinin CWnd simge durumuna küçültülmüş durumunu belirtir. değeri TRUE , pencerenin simge durumuna küçültülmüş olduğunu gösterir.
ise TRUE, CWnd etkinleştirilir; aksi takdirde devre dışı bırakılır.
Açıklamalar
CWnd Nesne bir fare tıklamasıyla etkinleştirilirse, bir OnMouseActivate üye işlev çağrısı da alır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnActivateApp
Çerçeve, bu üye işlevini etkinleştirilmekte olan görevin tüm üst düzey pencerelerine ve devre dışı bırakılan görevin tüm üst düzey pencerelerine çağırır.
afx_msg void OnActivateApp(
BOOL bActive,
DWORD dwThreadID);
Parametreler
bActive
öğesinin CWnd etkinleştirilip etkinleştirilmediğini veya devre dışı bırakıldığını belirtir. TRUE , etkinleştirildiği CWnd anlamına gelir. FALSE , devre CWnd dışı bırakıldığı anlamına gelir.
dwThreadID
İş parçacığı kimliğinin değerini belirtir. ise bActive TRUE, dwThreadID devre dışı bırakılan iş parçacığının sahibini CWnd tanımlar. ise bActive FALSE, dwThreadID etkinleştirilmekte olanın sahibi olan iş parçacığını CWnd tanımlar.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnAmbientProperty
Çerçeve, OLE denetimlerini içeren bir pencereden ortam özelliği değerlerini almak için bu üye işlevini çağırır.
virtual BOOL OnAmbientProperty(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvar);
Parametreler
pSite
Ortam özelliğini isteyen denetimin sitesine ilişkin işaretçi.
dispid
İstenen ortam özelliğinin dağıtım kimliği.
pvar
Ortam özelliğinin değerinin döndürüleceği, çağıran tarafından ayrılmış VARIANT bir yapıya işaretçi.
Dönüş Değeri
TRUE ortam özelliği destekleniyorsa; FALSE değilse.
Açıklamalar
Ole denetim kapsayıcısı tarafından döndürülen varsayılan ortam özelliği değerlerini denetimleriyle değiştirmek için bu işlevi geçersiz kılın. Geçersiz kılma işlevi tarafından işlenmemiş tüm ortam özelliği istekleri temel sınıf uygulamasına iletilmelidir.
CWnd::OnAppCommand
Kullanıcı bir uygulama komut olayı oluşturduğunda çerçeve bu üye işlevini çağırır. Kullanıcı bir uygulama komut düğmesine tıkladığında veya bir uygulama komut anahtarı yazdığınızda böyle bir olay oluşur.
afx_msg void OnAppCommand(
CWnd* pWnd,
UINT nCmd,
UINT nDevice,
UINT nKey);
Parametreler
pWnd
[in] Kullanıcının komut düğmesine tıkladığı veya komut tuşuna bastığı pencereyi temsil eden bir CWnd nesnenin işaretçisi. Bu pencere, iletiyi alan pencerenin alt penceresi olabilir.
nCmd
[in] Uygulama komutunu gösterir. Olası değerlerin listesi için parametresinin cmd lParam WM_APPCOMMANDbölümündeki komutlara bakın.
nDevice
[in] Giriş olayını oluşturan giriş cihazı. Olası değerlerin listesi için parametresinin uDevice bölümündeki cihazlara lParam WM_APPCOMMANDbakın.
nKey
[in] CTRL tuşu veya sol fare düğmesi gibi, aşağı olan tüm sanal tuşları gösterir. Olası değerlerin listesi için parametresinin dwKeys lParam WM_APPCOMMANDbölümündeki anahtarlara bakın. Daha fazla bilgi için Fare Girişi Hakkında'daki "İleti Parametreleri" alt başlığına bakın.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_APPCOMMAND .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnAskCbFormatName
Çerçeve, Pano biçimi için CF_OWNERDISPLAY bir veri tutamacı içerdiğinde (pano sahibi Pano içeriğini görüntülediğinde) bu üye işlevini çağırır.
afx_msg void OnAskCbFormatName(
UINT nMaxCount,
LPTSTR lpszString);
Parametreler
nMaxCount
Kopyalanacak en fazla bayt sayısını belirtir.
lpszString
Biçim adının kopyasının depolandığı arabelleğe işaret edilir.
Açıklamalar
Pano sahibi, biçimi için bir ad sağlamalıdır.
Bu üye işlevini geçersiz kılın ve belirtilen bayt sayısı üst sınırını aşmadan biçimin adını CF_OWNERDISPLAY belirtilen arabelleğe kopyalayın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCancelMode
Çerçeve, herhangi bir iç modu iptal etmek için bu CWnd üye işlevini çağırır.
afx_msg void OnCancelMode();
Açıklamalar
Odak nesnedeyse CWnd , OnCancelMode bir iletişim kutusu veya ileti kutusu görüntülendiğinde nesnenin üye işlevi çağrılır. Bu, fare yakalama gibi modları iptal etme fırsatı verir CWnd .
Varsayılan uygulama, Windows işlevini çağırarak ReleaseCapture yanıt verir. Diğer modları işlemek için türetilmiş sınıfınızdaki bu üye işlevini geçersiz kılın.
CWnd::OnCaptureChanged
Çerçeve, fare yakalamayı kaybeden pencereyi bilgilendirmek için bu üye işlevini çağırır.
afx_msg void OnCaptureChanged(CWnd* pWnd);
Parametreler
pWnd
Fare yakalama elde etmek için pencere işaretçisi
Açıklamalar
Bir pencere kendisini çağırsa ReleaseCapture bile bu iletiyi alır. Bir uygulama, bu iletiye yanıt olarak fare yakalamayı ayarlamaya çalışmamalıdır. Bu iletiyi aldığında, yeni fare yakalama durumunu yansıtmak için gerekirse bir pencere yeniden çizilmelidir.
Windows işlevi hakkında bilgi için bkz. Windows SDK'sı ReleaseCapture .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnChangeCbChain
Çerçeve, zincirden bir pencerenin kaldırıldığını bildirmek için Pano görüntüleyici zincirindeki her pencere için bu üye işlevini çağırır.
afx_msg void OnChangeCbChain(
HWND hWndRemove,
HWND hWndAfter);
Parametreler
hWndRemove
Pano görüntüleyici zincirinden kaldırılmakta olan pencere tutamacını belirtir.
hWndAfter
Pano görüntüleyici zincirinden kaldırılan pencereyi izleyen pencere tutamacını belirtir.
Açıklamalar
Çağrı alan her CWnd nesne, iletiyi Pano görüntüleyici zincirindeki bir sonraki pencereye (tarafından SetClipboardViewerdöndürülen tanıtıcı) göndermek WM_CHANGECBCHAIN için Windows işlevini kullanmalıdırSendMessage.OnChangeCbChain Zincirdeki bir sonraki pencereyse hWndRemove , tarafından hWndAfter belirtilen pencere sonraki pencere olur ve Pano iletileri bu pencereye geçirilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnChangeUIState
Kullanıcı arabirimi (UI) durumunun değiştirilmesi gerektiğinde çağrılır.
afx_msg void OnChangeUIState(
UINT nAction,
UINT nUIElement);
Parametreler
nAction
Gerçekleştirilecek eylemi belirtir. Aşağıdaki değerlerden biri olabilir:
UIS_CLEARKULLANıCı arabirimi durum öğesi (tarafındannUIElementbelirtilen) gizlenmelidir.UIS_INITIALIZEKullanıcı arabirimi durum öğesi (tarafındannUIElementbelirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüneWM_CHANGEUISTATEbakın.UIS_SETKULLANıCı arabirimi durum öğesi (tarafındannUIElementbelirtilen) görünür olmalıdır.
nUIElement
Etkilenen kullanıcı arabirimi durum öğelerini veya denetimin stilini belirtir. Aşağıdaki değerlerden biri olabilir:
UISF_HIDEACCELKlavye hızlandırıcıları.UISF_HIDEFOCUSOdak göstergeleri.UISF_ACTIVEWindows XP: Etkin denetimler için kullanılan stilde bir denetim çizilmelidir.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin WM_CHANGEUISTATE işlevselliğine öykünmektedir.
CWnd::OnChar
Bir tuş vuruşu sistem dışı bir karaktere çevrildiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Anahtarın karakter kodu değerini içerir.
nRepCnt
Kullanıcı anahtarı basılı tuttuğunda tuş vuruşunun yinelenme sayısı olan yineleme sayısını içerir.
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu içerir:
| Değer | Anlamı |
|---|---|
| 0-15 | Yineleme sayısını belirtir. Değer, kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun kaç kez yinelenme sayısıdır. |
| 16-23 | Tarama kodunu belirtir. Değer, orijinal ekipman üreticisine (OEM) bağlıdır |
| 24 | Anahtarın gelişmiş bir 101 veya 102 tuşlu klavyede görünen sağ alt ve CTRL tuşları gibi genişletilmiş bir tuş olup olmadığını belirtir. Genişletilmiş anahtarsa değer 1'dir; aksi takdirde 0 olur. |
| 25-28 | Windows tarafından dahili olarak kullanılır. |
| 29 | Bağlam kodunu belirtir. Tuşa basıldığında ALT tuşu basılı tutulursa değer 1'dir; aksi takdirde, değer 0'dır. |
| 30 | Önceki anahtar durumunu belirtir. Değer, ileti gönderilmeden önce anahtarın kapanması durumunda 1 veya anahtar yukarı olduğunda 0 olur. |
| 31 | Geçiş durumunu belirtir. Anahtar serbest bırakılıyorsa değer 1 veya tuşa basılıyorsa 0 olur. |
Açıklamalar
Bu işlev üye işlevinden OnKeyUp önce ve üye işlevi çağrıldıktan sonra OnKeyDown çağrılır. OnChar basılmakta veya serbest bırakılmakta olan klavye tuşunun değerini içerir.
Basılan tuşlar ve OnChar oluşturulan çağrılar arasında bire bir yazışma olması gerekmediğinden, içindeki nFlags bilgiler genellikle uygulamalar için yararlı değildir. içindeki nFlags bilgiler yalnızca üye işlevine yapılan en son çağrıya OnKeyUp veya çağrısından OnKeyDown önce gelen üye işlevine OnCharuygulanır.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler içinde nFlagsgenişletilmiş tuş bitini destekleyemeyebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCharToItem
Stile sahip bir liste kutusu, sahibine LBS_WANTKEYBOARDINPUT iletiye yanıt olarak bir WM_CHARTOITEM WM_CHAR ileti gönderdiğinde çağrılır.
afx_msg int OnCharToItem(
UINT nChar,
CListBox* pListBox,
UINT nIndex);
Parametreler
nChar
Kullanıcı tarafından basılan anahtarın değerini belirtir.
pListBox
Liste kutusuna yönelik bir işaretçi belirtir. Geçici olabilir.
nIndex
Geçerli şapka işaretinin konumunu belirtir.
Dönüş Değeri
Çerçeve, uygulamanın çağrıya yanıt olarak gerçekleştirdiği eylemi belirtmek için bu üye işlevini çağırır. -2 dönüş değeri, uygulamanın öğeyi seçmenin tüm yönlerini işlediğini ve liste kutusu tarafından başka işlem yapılmadığını gösterir. -1 dönüş değeri, liste kutusunun tuş vuruşlarına yanıt olarak varsayılan eylemi gerçekleştirmesi gerektiğini gösterir. 0 veya daha büyük bir dönüş değeri, liste kutusundaki bir öğenin sıfır tabanlı dizinini belirtir ve liste kutusunun verilen öğedeki tuş vuruşu için varsayılan eylemi gerçekleştirmesi gerektiğini belirtir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnChildActivate
CWnd Nesne birden çok belge arabirimi (MDI) alt penceresiyse, OnChildActivate kullanıcı pencerenin başlık çubuğuna tıkladığında veya pencere etkinleştirildiğinde, taşındığında veya boyutlandırıldığında çerçeve tarafından çağrılır.
afx_msg void OnChildActivate();
CWnd::OnChildNotify
Bu üye işlevi, bu pencere için geçerli olan bir bildirim iletisi aldığında bu pencerenin üst penceresi tarafından çağrılır.
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parametreler
message
Üst pencereye gönderilen bir Windows ileti numarası.
wParam
İletiyle ilişkilendirilmiş wparam .
lParam
İletiyle ilişkilendirilmiş lparam .
pLResult
Üst öğe pencere yordamından döndürülecek bir değer işaretçisi. Bu işaretçi, hiçbir dönüş değeri beklenmiyorsa olacaktır NULL .
Dönüş Değeri
Bu pencere üst öğeye gönderilen iletiyi işlemekle sorumluysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevini hiçbir zaman doğrudan çağırmayın.
Bu üye işlevinin varsayılan uygulaması 0 döndürür, yani üst öğe iletiyi işlemelidir.
Bir denetimin bildirim iletilerine yanıt verme şekli genişletmek için bu üye işlevini geçersiz kılın.
CWnd::OnClipboardUpdate
Panonun içeriği değiştiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnClipboardUpdate();
CWnd::OnClose
Çerçeve, veya uygulamasının sonlandırıldığını belirten CWnd bir sinyal olarak bu üye işlevini çağırır.
afx_msg void OnClose();
Açıklamalar
Varsayılan uygulama öğesini çağırır DestroyWindow.
CWnd::OnColorizationColorChanged
çerçeve, istemci olmayan alan için işleme ilkesi değiştiğinde bu üyeyi çağırır.
afx_msg void OnColorizationColorChanged(
DWORD dwColorizationColor,
BOOL bOpacity);
Parametreler
dwColorizationColor
[in] Yeni renklendirme rengini belirtir. Renk biçimi, dört bileşenin her biri 0x00 ile 0xFF arasında değişen 0xAARRGGBB formunun onaltılık bir sayısıdır. AA bileşeni alfa değeridir, RR kırmızı renk, GG yeşil ve BB mavidir.
bOpacity
[in] TRUE yeni renk opaklık ile karıştırılırsa; FALSE değilse.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_DWMNCRENDERINGCHANGED .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCommand
Çerçeve, kullanıcı menüden bir öğe seçtiğinde, bir alt denetim bildirim iletisi gönderdiğinde veya hızlandırıcı tuş vuruşu çevrildiğinde bu üye işlevini çağırır.
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
Parametreler
wParam
alt sıralı sözcüğü menü öğesinin wParam , denetimin veya hızlandırıcının komut kimliğini tanımlar. üst sıralı sözcüğü wParam , ileti bir denetimden geliyorsa bildirim iletisini belirtir. İleti bir hızlandırıcıdan geliyorsa, yüksek sıralı sözcük 1'dir. İleti bir menüden geliyorsa, yüksek sıralı sözcük 0'dır.
lParam
İleti bir denetimden geliyorsa iletiyi gönderen denetimi tanımlar. lParam Aksi takdirde 0'dır.
Dönüş Değeri
Bir uygulama bu iletiyi işlerse sıfır olmayan bir değer döndürür; aksi takdirde 0.
Açıklamalar
OnCommand denetim bildirimi ve ON_COMMAND girişleri için ileti eşlemesini işler ve uygun üye işlevini çağırır.
İletiyi işlemek WM_COMMAND için türetilmiş sınıfınızdaki bu üye işlevini geçersiz kılın. Geçersiz kılma, temel sınıf OnCommand çağrılmadığı sürece ileti eşlemesini işlemez.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCompacting
Windows, sistem süresinin yüzde 12,5'inden fazlasının 30-60 saniyelik bir aralıkta belleği sıkıştırmak için harcandığını algıladığında, çerçeve tüm üst düzey pencereler için bu üye işlevini çağırır.
afx_msg void OnCompacting(UINT nCpuTime);
Parametreler
nCpuTime
Windows'un belleği sıkıştırması tarafından şu anda harcanan CPU süresinin diğer işlemleri gerçekleştirirken harcanan CPU süresine oranını belirtir. Örneğin 8000h, belleği sıkıştırmak için harcanan CPU süresinin yüzde 50'sini temsil eder.
Açıklamalar
Bu, sistem belleğinin düşük olduğunu gösterir.
Bir CWnd nesne bu çağrıyı aldığında, uygulamanın geçerli etkinlik düzeyini ve Windows'ta çalışan uygulamaların toplam sayısını dikkate alarak mümkün olduğunca çok bellek boşaltması gerekir. Uygulama, kaç uygulamanın çalıştığını belirlemek için Windows işlevini çağırabilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCompareItem
Çerçeve, alt sıralanmış sahip çizim birleşik girişinde veya liste kutusunda yeni bir öğenin göreli konumunu belirtmek için bu üye işlevini çağırır.
afx_msg int OnCompareItem(
int nIDCtl,
LPCOMPAREITEMSTRUCT lpCompareItemStruct);
Parametreler
nIDCtl
İletiyi gönderen denetimin tanımlayıcısı WM_COMPAREITEM .
lpCompareItemStruct
Birleşik giriş veya liste kutusundaki iki öğe için tanımlayıcıları ve uygulama tarafından sağlanan verileri içeren bir veri yapısına yönelik uzun bir COMPAREITEMSTRUCT işaretçi içerir.
Dönüş Değeri
İki öğenin göreli konumunu gösterir. Aşağıdaki değerlerden biri olabilir:
| Değer | Anlamı |
|---|---|
| -1 | Öğe 1, 2. öğeden önce sıralanır. |
| 0 | Öğe 1 ve öğe 2 aynı şekilde sıralanır. |
| 1 | Öğe 1, 2. öğeden sonra sıralanır. |
Açıklamalar
Veya stiliyle CBS_SORT LBS_SORT birleşik giriş veya liste kutusu oluşturulduysa, Uygulama her yeni öğe ekleyildiğinde Windows birleşik giriş kutusu veya liste kutusu sahibine bir WM_COMPAREITEM ileti gönderir.
Birleşik giriş veya liste kutusundaki iki öğe, tarafından lpCompareItemStructişaret edilen bir COMPAREITEMSTRUCT yapıda düzeltilir. OnCompareItem , öğelerin hangilerinin diğerinin önünde görünmesi gerektiğini gösteren bir değer döndürmelidir. Genellikle, Windows yeni öğenin tam konumunu belirleyene kadar bu çağrıyı birkaç kez yapar.
hwndItem Yapının üyesi COMPAREITEMSTRUCT bir CListBox veya CComboBox nesnesine aitse, uygun sınıfın CompareItem sanal işlevi çağrılır. CListBox::CompareItem Öğe karşılaştırması yapmak için türetilmiş CListBox veya sınıfınızda veya CComboBox öğesini geçersiz kılınCComboBox::CompareItem.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCompositionChanged
Masaüstü Pencere Yöneticisi (DWM) bileşimi etkinleştirildiğinde veya devre dışı bırakıldığında çerçeve tüm üst düzey pencereler için bu üye işlevini çağırır.
afx_msg void OnCompositionChanged();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_DWMCOMPOSITIONCHANGED .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnContextMenu
Kullanıcı pencerede sağ fare düğmesine (sağ tıklandığında) tıkladığında çerçeve tarafından çağrılır.
afx_msg void OnContextMenu(
CWnd* pWnd,
CPoint pos);
Parametreler
pWnd
Kullanıcının fareye sağ tıkladığı pencerenin tutamacı. Bu, iletiyi alan pencerenin alt penceresi olabilir. Bu iletiyi işleme hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.
pos
fare tıklaması sırasında imlecin ekran koordinatlarında konumu.
Açıklamalar
kullanarak bir bağlam menüsü TrackPopupMenugörüntüleyerek bu iletiyi işleyebilirsiniz.
Bağlam menüsünü görüntülemezseniz bu iletiyi işleve DefWindowProc geçirmeniz gerekir. Pencereniz bir alt pencereyse, DefWindowProc iletiyi üst pencereye gönderir. Aksi takdirde, DefWindowProc belirtilen konum pencerenin resim yazısındaysa varsayılan bağlam menüsünü görüntüler.
CWnd::OnCopyData
Bu üye işlevi, bir uygulamadan diğerine veri kopyalamak için çerçeve tarafından çağrılır.
afx_msg BOOL OnCopyData(
CWnd* pWnd,
COPYDATASTRUCT* pCopyDataStruct);
Parametreler
pWnd
Verileri gönderen nesnenin CWnd işaretçisi.
pCopyDataStruct
Gönderilen verileri içeren bir COPYDATASTRUCT yapı işaretçisi.
Dönüş Değeri
Alıcı uygulama verileri başarıyla kabul ederse döndürür TRUE . Aksi takdirde döndürür FALSE.
Açıklamalar
Geçirilen veriler, verileri alan uygulama tarafından erişilmeyen nesnelere yönelik işaretçiler veya başka başvurular içermemelidir.
Veriler kopyalanırken, gönderme işleminin başka bir iş parçacığı tarafından değiştirilmemelidir.
Alıcı uygulama, verileri salt okunur olarak düşünmelidir. parametresi pCopyDataStruct tarafından işaret edilen yapı yalnızca veri aktarımı sırasında geçerlidir; ancak, alan uygulama yapıyla ilişkili belleği boşaltmamalıdır.
Bu işlev döndükten sonra alıcı uygulamanın verilere erişmesi gerekiyorsa, alınan verileri yerel arabelleğe kopyalaması gerekir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCreate
Bir uygulama veya CreateEx üye işlevi çağrılarak Windows penceresinin oluşturulmasını istediğinde çerçeve bu üye işlevini çağırırCreate.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
Parametreler
lpCreateStruct
Oluşturulan nesne hakkında bilgi içeren bir CREATESTRUCT yapıyı CWnd gösterir.
Dönüş Değeri
OnCreate nesnesini oluşturmaya CWnd devam etmek için 0 döndürmelidir. Uygulama -1 döndürürse, pencere yok edilir.
Açıklamalar
Nesne CWnd , pencere oluşturulduktan sonra ancak görünür hale gelmeden önce bu çağrıyı alır. OnCreateveya CreateEx üye işlevi döndürülmeden Create önce çağrılır.
Türetilmiş bir sınıfın gerekli başlatmasını gerçekleştirmek için bu üye işlevini geçersiz kılın.
Yapı, CREATESTRUCT pencereyi oluşturmak için kullanılan parametrelerin kopyalarını içerir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnCtlColor
Bir alt denetim çizilecekken çerçeve bu üye işlevini çağırır.
afx_msg HBRUSH OnCtlColor(
CDC* pDC,
CWnd* pWnd,
UINT nCtlColor);
Parametreler
pDC
Alt pencere için görüntüleme bağlamına yönelik bir işaretçi içerir. Geçici olabilir.
pWnd
Rengi soran denetimin işaretçisini içerir. Geçici olabilir.
nCtlColor
Denetim türünü belirterek aşağıdaki değerlerden birini içerir:
CTLCOLOR_BTNDüğme denetimiCTLCOLOR_DLGİletişim kutusuCTLCOLOR_EDITDenetimi düzenleCTLCOLOR_LISTBOXListe kutusu denetimiCTLCOLOR_MSGBOXİleti kutusuCTLCOLOR_SCROLLBARKaydırma çubuğu denetimiCTLCOLOR_STATICStatik denetim
Dönüş Değeri
OnCtlColor denetim arka planını boyamak için kullanılacak fırçaya bir tutamaç döndürmelidir.
Açıklamalar
Çoğu denetim, doğru renkleri kullanarak denetimi çizmeye hazırlamak pDC için bu iletiyi üst öğelerine (genellikle bir iletişim kutusu) gönderir.
Metin rengini değiştirmek için üye işlevini istenen kırmızı, yeşil ve mavi (RGB) değerlerle çağırın SetTextColor .
Tek satırlı düzenleme denetiminin arka plan rengini değiştirmek için hem ve ileti kodlarında fırça tutamacını CTLCOLOR_EDIT ayarlayın hem de koda yanıt olarak işlevi çağırın CDC::SetBkColor CTLCOLOR_EDIT.CTLCOLOR_MSGBOX
OnCtlColor açılan liste kutusu aslında pencerenin alt öğesi değil, birleşik giriş kutusunun alt öğesi olduğundan açılan birleşik giriş kutusunun liste kutusu için çağrılmaz. Açılan liste kutusunun rengini değiştirmek için parametresinde nCtlColor denetimi CTLCOLOR_LISTBOX yapılan geçersiz kılma OnCtlColor ile bir CComboBox oluşturun. Bu işleyicide SetBkColor , üye işlevi metnin arka plan rengini ayarlamak için kullanılmalıdır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz. İletişim kutusu sınıfınıza aşağıdaki yöntemi eklemek için Visual Studio özellikler bölmesini kullanarak için WM_CTLCOLORbir ileti işleyicisi ekleyin. Alternatif olarak, ileti eşlemesine el ile giriş ON_WM_CTLCOLOR() ekleyebilirsiniz.
Örnek
// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Call the base class implementation first! Otherwise, it may
// undo what we're trying to accomplish here.
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// Are we painting the IDC_MYSTATIC control? We can use
// CWnd::GetDlgCtrlID() to perform the most efficient test.
if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
{
// Set the text color to red
pDC->SetTextColor(RGB(255, 0, 0));
// Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT);
// Return handle to our CBrush object
hbr = m_brush;
}
return hbr;
}
CWnd::OnDeadChar
Üye işlevi ve OnKeyDown üye işlevleri çağrıldığında OnKeyUp çerçeve bu üye işlevini çağırır.
afx_msg void OnDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Ölü anahtar karakter değerini belirtir.
nRepCnt
Yineleme sayısını belirtir.
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Value | Açıklama |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). Yüksek sıralı sözcüğün alt baytı. |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir anahtar gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1; aksi takdirde 0). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basıldığında ALT tuşu basılı tutulursa 1; aksi takdirde 0). |
| 14 | Önceki anahtar durumu (aramadan önce anahtar çalışmıyorsa 1, anahtar çalışır durumdaysa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
Açıklamalar
Bu üye işlevi, ölü bir anahtarın karakter değerini belirtmek için kullanılabilir. Ölü anahtar, bileşik karakter oluşturmak için diğer karakterlerle birleştirilen umlaut (çift nokta) karakteri gibi bir anahtardır. Örneğin, umlaut-O karakteri ölü anahtar, umlaut ve O anahtarından oluşur.
Bir uygulama genellikle kullanıcıya basılan her tuş hakkında geri bildirim sağlamak için kullanır OnDeadChar . Örneğin, bir uygulama şapka işaretini taşımadan vurguyu geçerli karakter konumunda görüntüleyebilir.
Basılan tuşlar ve OnDeadChar çağrılar arasında bire bir yazışma olması gerekmediğinden, içindeki nFlags bilgiler genellikle uygulamalar için yararlı değildir. içindeki nFlags bilgiler yalnızca üye işlevine OnKeyUp veya çağrıdan önce OnDeadChar gelen üye işlevine OnKeyDown yapılan en son çağrı için geçerlidir.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler içinde nFlagsgenişletilmiş tuş bitini destekleyemeyebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDeleteItem
Çerçeve, sahip çizim liste kutusunun veya birleşik giriş kutusunun sahibine liste kutusunun veya birleşik giriş kutusunun yok edildiğini veya öğelerin , , CListBox::DeleteStringCComboBox::ResetContentCListBox::ResetContentveya tarafından CComboBox::DeleteStringkaldırıldığını bildirmek için bu üye işlevini çağırır.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
Parametreler
nIDCtl
İletiyi gönderen denetimin tanımlayıcısı WM_DELETEITEM .
lpDeleteItemStruct
Silinen liste kutusu öğesi hakkında bilgi içeren bir veri yapısına yönelik uzun bir DELETEITEMSTRUCT işaretçi belirtir.
Açıklamalar
hwndItem Yapının üyesi DELETEITEMSTRUCT bir birleşik giriş kutusuna veya liste kutusuna aitseDeleteItem, uygun sınıfın sanal işlevi çağrılır. Öğeye DeleteItem özgü verileri silmek için uygun denetimin sınıfının üye işlevini geçersiz kılın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDestroy
Çerçeve, nesnenin CWnd yok edildiğini bildirmek için bu üye işlevini çağırır.
afx_msg void OnDestroy();
Açıklamalar
OnDestroy , nesne ekrandan CWnd kaldırıldıktan sonra çağrılır.
OnDestroy önce yok edilenler CWnd için, sonra yok edildikleri anda alt pencereleri CWnd için çağrılır. Çalıştırılırken OnDestroy tüm alt pencerelerin hala mevcut olduğu varsayılabilir.
CWnd Yok edilen nesne Pano görüntüleyici zincirinin bir parçasıysa (üye işlevi çağrılarak SetClipboardViewer ayarlanır), CWnd işlevinden dönmeden önce üye işlevini çağırarak ChangeClipboardChain kendisini Pano görüntüleyici zincirinden OnDestroy kaldırması gerekir.
CWnd::OnDestroyClipboard
Çerçeve, Pano, Windows işlevine yapılan bir çağrı aracılığıyla boşaltıldığında Pano sahibi için EmptyClipboard bu üye işlevini çağırır.
afx_msg void OnDestroyClipboard();
CWnd::OnDeviceChange
Çerçeve, bir uygulamanın veya cihaz sürücüsünün bir cihazın veya bilgisayarın donanım yapılandırmasındaki değişikliği bildirmek için bu üye işlevini çağırır.
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData);
Parametreler
nEventType
Olay türü. Kullanılabilir değerlerin açıklaması için Açıklamalar bölümüne bakın
dwData
Olaya özgü veriler içeren bir yapının adresi. Anlamı verilen olaya bağlıdır.
Açıklamalar
Çıkarma ve kilitleme gibi yazılım tarafından denetlenebilir özellikler sunan cihazlarda, işletim sistemi genellikle uygulamaların ve cihaz sürücülerinin cihaz kullanımını düzgün bir şekilde sonlandırmasına izin veren bir DBT_DEVICEREMOVEPENDING ileti gönderir.
İşletim sistemi bir cihazı zorla kaldırırsa, bunu yapmadan önce ileti DBT_DEVICEQUERYREMOVE göndermeyebilir.
nEvent parametresi şu değerlerden biri olabilir:
DBT_DEVICEARRIVALBir cihaz eklendi ve artık kullanılabilir.DBT_DEVICEQUERYREMOVEBir cihazı kaldırma izni istenir. Herhangi bir uygulama bu isteği reddedebilir ve kaldırma işlemini iptal edebilir.DBT_DEVICEQUERYREMOVEFAILEDBir cihazı kaldırma isteği iptal edildi.DBT_DEVICEREMOVEPENDINGCihaz kaldırılacak. Reddedilemez.DBT_DEVICEREMOVECOMPLETECihaz kaldırıldı.DBT_DEVICETYPESPECIFICCihaza özgü olay.DBT_CONFIGCHANGEDGeçerli yapılandırma değişti.DBT_DEVNODES_CHANGEDCihaz düğümü değişti.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDevModeChange
Çerçeve, kullanıcı cihaz modu ayarlarını değiştirdiğinde tüm üst düzey CWnd nesneler için bu üye işlevini çağırır.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parametreler
lpDeviceName
Windows başlatma dosyasında belirtilen cihaz adını gösterir. WIN.INI
Açıklamalar
İletiyi WM_DEVMODECHANGE işleyen uygulamalar cihaz modu ayarlarını yeniden başlatabilir. Cihaz ayarlarını kaydetmek ve geri yüklemek için Windows ExtDeviceMode işlevini kullanan uygulamalar genellikle bu işlevi işlemez.
Kullanıcı varsayılan yazıcıyı Denetim Masası değiştirdiğinde bu işlev çağrılmaz. Bu durumda işlev OnWinIniChange çağrılır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDrawClipboard
Çerçeve, Pano'nun içeriği değiştiğinde Pano görüntüleyici zincirindeki her pencere için bu üye işlevini çağırır.
afx_msg void OnDrawClipboard();
Açıklamalar
Yalnızca üye işlevini çağırarak Pano görüntüleyici zincirine SetClipboardViewer katılmış uygulamaların bu çağrıyı yanıtlaması gerekir.
Çağrı alan OnDrawClipboard her pencere, Pano görüntüleyici zincirindeki SendMessage bir sonraki pencereye ileti WM_DRAWCLIPBOARD geçirmek için Windows işlevini çağırmalıdır. Sonraki pencerenin tutamacı üye işlevi tarafından SetClipboardViewer döndürülür; bir OnChangeCbChain üye işlev çağrısına yanıt olarak değiştirilebilir.
CWnd::OnDrawIconicThumbnailOrLivePreview
Windows 7 sekmesi küçük resminde veya uygulama özeti için istemcide görüntülenecek bir bit eşlem elde etmesi gerektiğinde çerçeve tarafından çağrılır.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parametreler
dc
Cihaz bağlamını belirtir.
rect
İşlenmek üzere alanın sınırlayıcı dikdörtgenini belirtir.
szRequiredThumbnailSize
Hedef küçük resmin boyutunu belirtir. ise bIsThumbnail FALSEyoksayılmalıdır.
bIsThumbnail
Bu yöntemin simgesel küçük resim veya canlı önizleme (göz atma) için çağrılıp çağrılmayacağını belirtir.
bAlphaChannelSet
[out] Uygulamanız içinde dcseçilen bit eşleminin alfa kanalını başlatıyorsa olarak TRUE ayarlayın.
Açıklamalar
Türetilmiş bir sınıfta bu yöntemi geçersiz kılın ve küçük resmi özelleştirmek ve göz atmak için belirtilen cihaz bağlamında çizim yapın. ise bThumbnail TRUEszRequiredThumbnailSize yoksayılabilir. Bu durumda, tam boyutlu bit eşlem (yani istemci alanının tamamını kapsayan bir bit eşlem) çizdiğinize dikkat etmeniz gerekir. Cihaz bağlamı (dc) seçili 32 bit bit bit ile birlikte gelir. Varsayılan uygulama, , ve bayraklarıyla PRF_CLIENTbu pencereye gönderirWM_PRINT.PRF_NONCLIENT PRF_CHILDREN
CWnd::OnDrawItem
Çerçeve, denetimin veya menünün görsel bir yönü değiştiğinde sahip çiz düğmesi denetiminin, birleşik giriş kutusu denetiminin, liste kutusu denetiminin veya menünün sahibi için bu üye işlevini çağırır.
afx_msg void OnDrawItem(
int nIDCtl,
LPDRAWITEMSTRUCT lpDrawItemStruct);
Parametreler
nIDCtl
İletiyi gönderen denetimin tanımlayıcısını WM_DRAWITEM içerir. bir menü iletiyi gönderdiyse, nIDCtl 0 içerir.
lpDrawItemStruct
Çizilecek öğe ve gerekli çizim türü hakkında bilgi içeren bir veri yapısına yönelik uzun bir DRAWITEMSTRUCT işaretçi belirtir.
Açıklamalar
Yapı itemAction üyesi DRAWITEMSTRUCT gerçekleştirilecek çizim işlemini tanımlar. Bu üyedeki veriler, denetimin sahibinin hangi çizim eyleminin gerekli olduğunu belirlemesine olanak tanır.
Bu iletiyi işlemeden önce bir uygulama, yapı üyesi tarafından hDC tanımlanan cihaz bağlamının DRAWITEMSTRUCT varsayılan duruma geri yüklendiğinden emin olmalıdır.
hwndItem Üye bir CButton, CMenu, CListBoxveya CComboBox nesnesine aitseDrawItem, uygun sınıfın sanal işlevi çağrılır. Öğeyi DrawItem çizmek için uygun denetimin sınıfının üye işlevini geçersiz kılın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDropFiles
Kullanıcı, bırakılan dosyaların alıcısı olarak kaydedilmiş bir pencerenin üzerinde sol fare düğmesini serbest bıraktığında, çerçeve bu üye işlevini çağırır.
afx_msg void OnDropFiles(HDROP hDropInfo);
Parametreler
hDropInfo
Bırakılan dosyaları açıklayan iç veri yapısına yönelik bir işaretçi. Bu tanıtıcı, bırakılan dosyalar hakkındaki bilgileri almak için , DragQueryFileve DragQueryPoint Windows işlevleri tarafından DragFinishkullanılır.
Açıklamalar
Genellikle, türetilmiş bir sınıf bırakılan dosyaları destekleyecek şekilde tasarlanır ve pencere oluşturma sırasında kendisini kaydeder.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEnable
Bir uygulama nesnenin etkin durumunu CWnd değiştirdiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnEnable(BOOL bEnable);
Parametreler
bEnable
Nesnenin CWnd etkinleştirilip etkinleştirilmediğini veya devre dışı bırakıldığını belirtir. Bu parametreTRUE, etkinse CWnd ve devre dışı bırakılmışsa CWnd parametresidirFALSE.
Açıklamalar
OnEnable , üye işlevi döndürülmeden EnableWindow önce çağrılır, ancak pencere etkin durumu (WS_DISABLED stil biti) değiştikten sonra çağrılır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEndSession
Nesne bir üye işlev çağrısından OnQueryEndSession sıfır olmayan bir değer döndürdükten sonra CWnd çerçeve bu üye işlevini çağırır.
afx_msg void OnEndSession(BOOL bEnding);
Parametreler
bEnding
Oturumun sonlandırılıp sonlandırılmayacağını belirtir. TRUE Oturumun sonlandırılıp sonlandırılmadığını gösterir; aksi takdirde FALSEolur.
Açıklamalar
Çağrı, OnEndSession nesneye oturumun CWnd gerçekten sona erip bitmediğini bildirir.
ise bEnding TRUE, Tüm uygulamalar bu çağrıyı işlemeden döndürdükten sonra Windows istediğiniz zaman sonlandırılabilir. Sonuç olarak, bir uygulamanın içinde OnEndSessionsonlandırma için gereken tüm görevleri gerçekleştirmesini sağlayın.
Oturum sona ererken üye işlevini veya PostQuitMessage Windows işlevini çağırmanız DestroyWindow gerekmez.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEnterIdle
Çerçeve, uygulamanın ana pencere yordamını kalıcı bir iletişim kutusu veya menünün boşta durumuna girdiği konusunda bilgilendirmek için bu üye işlevini çağırır.
afx_msg void OnEnterIdle(
UINT nWhy,
CWnd* pWho);
Parametreler
nWhy
İletinin bir iletişim kutusunun veya görüntülenen bir menünün sonucu olup olmadığını belirtir. Bu parametre aşağıdaki değerlerden biri olabilir:
MSGF_DIALOGBOXBir iletişim kutusu görüntülendiğinden sistem boşta.MSGF_MENUBir menü görüntülendiğinden sistem boşta.
pWho
İletişim kutusuna (varsa nWhy MSGF_DIALOGBOX) veya görüntülenen menüyü içeren pencereye (varsa nWhy MSGF_MENU) yönelik bir işaretçi belirtir. Bu işaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Kalıcı iletişim kutusu veya menü, bir veya daha fazla önceki iletiyi işledikten sonra kuyruğunda bekleyen ileti olmadığında boşta duruma girer.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEnterMenuLoop
Çerçeve, menü kalıcı döngüsü girildiğinde bu üye işlevini çağırır.
afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);
Parametreler
bIsTrackPopupMenu
İlgili menünün bir açılır menü olup olmadığını belirtir. İşlev başarılı olursa sıfır olmayan bir değere sahip olur; aksi takdirde 0.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEnterSizeMove
Çerçeve, etkilenen pencere bir taşıma veya boyutlandırma kalıcı döngüsü girdikten sonra bir kez bu üye işlevini çağırır.
afx_msg void OnEnterSizeMove();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_ENTERSIZEMOVE .
Bir pencere, kullanıcı pencerenin başlık çubuğuna veya boyutlandırma kenarlığa tıkladığında ya da pencere iletiyi işleve geçirdiğinde WM_SYSCOMMAND ve bu iletinin wParam parametresi veya SC_SIZEdeğerini belirttiğinde SC_MOVE bir hareketli veya boyutlandırma CWnd::DefWindowProc kalıcı döngüsü girer.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnEraseBkgnd
Nesne arka planının CWnd silinmesi gerektiğinde (örneğin, yeniden boyutlandırıldığında) çerçeve bu üye işlevini çağırır.
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
Parametreler
pDC
Cihaz bağlamı nesnesini belirtir.
Dönüş Değeri
Arka planı silerse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Tablo için geçersiz kılınmış bir bölge hazırlamak için çağrılır.
Varsayılan uygulama, pencere sınıfı yapısının üyesi tarafından belirtilen pencere sınıfı arka plan fırçasını hbrBackground kullanarak arka planı siler.
hbrBackground Üye iseNULL, geçersiz kılınan sürümünüz OnEraseBkgnd arka plan rengini silmelidir. Sürümünüz ayrıca, önce fırçayı çağırıp UnrealizeObject ardından fırçayı CWnd seçerek istenen fırçanın çıkış noktasını koordinatlarla hizalamalıdır.
Geçersiz kılınan OnEraseBkgnd , iletiyi işler ve arka planı silerse sıfırdan farklı bir değer WM_ERASEBKGND döndürmelidir; bu, başka silme gerekmediğini gösterir. 0 döndürürse, pencere silinmek gerekiyor olarak işaretlenir. (Genellikle bu, yapının TRUEüyesinin PAINTSTRUCT olacağı anlamına gelirfErase.)
Windows, arka planının eşleme moduyla MM_TEXT hesaplendiğini varsayar. Cihaz bağlamı başka bir eşleme modu kullanıyorsa, silinen alan istemci alanının görünür bölümünde olmayabilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnExitMenuLoop
Bir menü kalıcı döngüsünden çıkıldığında çerçeve bu üye işlevini çağırır.
afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);
Parametreler
bIsTrackPopupMenu
İlgili menünün bir açılır menü olup olmadığını belirtir. İşlev başarılı olursa sıfır olmayan bir değere sahip olur; aksi takdirde 0.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnExitSizeMove
Çerçeve, etkilenen pencere hareketli veya boyutlandırma kalıcı döngüsünden çıktıktan bir kez sonra bu üye işlevini çağırır.
afx_msg void OnExitSizeMove();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_EXITSIZEMOVE .
Bir pencere, kullanıcı pencerenin başlık çubuğuna veya boyutlandırma kenarlığa tıkladığında ya da pencere iletiyi işleve geçirdiğinde WM_SYSCOMMAND ve bu iletinin wParam parametresi veya SC_SIZEdeğerini belirttiğinde SC_MOVE bir hareketli veya boyutlandırma kalıcı döngüsü CWnd::DefWindowProc girer.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnFontChange
Uygulama yazı tipi kaynakları havuzunu değiştirdikten sonra sistemdeki tüm üst düzey pencereler çerçeveden bir OnFontChange çağrı alır.
afx_msg void OnFontChange();
Açıklamalar
Sistemdeki yazı tiplerini ekleyen veya kaldıran bir uygulama (örneğin, veya RemoveFontResource Windows işlevi aracılığıylaAddFontResource) iletiyi tüm üst düzey pencerelere göndermelidirWM_FONTCHANGE.
Bu iletiyi göndermek için parametresi olarak ayarlanmış HWND_BROADCASTwindows işlevini hWnd kullanınSendMessage.
CWnd::OnGetDlgCode
Denetimin ok tuşunu ve SEKME tuşu girişini işleyebilmesi için bir denetim için çağrılır.
afx_msg UINT OnGetDlgCode();
Dönüş Değeri
Uygulamanın hangi tür girişi işlediğini gösteren aşağıdaki değerlerden biri veya daha fazlası:
DLGC_BUTTONDüğme (genel).DLGC_DEFPUSHBUTTONVarsayılan basma düğmesi.DLGC_HASSETSELEM_SETSELIleti.DLGC_UNDEFPUSHBUTTONVarsayılan pushbutton işlemesi yok. (Bir uygulama, düğme girişini işlediğini ancak varsayılan basmalı düğme işleme için sisteme bağlı olduğunu belirtmek için ile bu bayrağıDLGC_BUTTONkullanabilir.)DLGC_RADIOBUTTONSeçenek düğmesi.DLGC_STATICStatik denetim.DLGC_WANTALLKEYSTüm klavye girişi.DLGC_WANTARROWSOk tuşları.DLGC_WANTCHARSWM_CHARIleti.DLGC_WANTMESSAGETüm klavye girişi. Uygulama bu iletiyi denetime geçirir.DLGC_WANTTABSEKME tuşu.
Açıklamalar
Normalde, Windows bir CWnd denetime yönelik tüm ok tuşunu ve SEKME tuşu girişini işler. bir denetim geçersiz kılarakOnGetDlgCodeCWnd, kendisini işlemek için belirli bir giriş türünü seçebilir.
Önceden tanımlanmış denetim sınıfları için varsayılan OnGetDlgCode işlevler her sınıf için uygun bir kod döndürür.
CWnd::OnGetMinMaxInfo
Windows'un ekranı kaplamış konumu veya boyutları ya da en düşük veya en yüksek izleme boyutunu bilmesi gerektiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
Parametreler
lpMMI
MINMAXINFO Pencerenin ekranı kaplayan boyutu ve konumu ile en düşük ve en yüksek izleme boyutu hakkında bilgi içeren bir yapıya işaret eder. Bu yapı hakkında daha fazla bilgi için yapıya MINMAXINFO bakın.
Açıklamalar
Ekranı kaplamış boyut, kenarlıkları tamamen genişletildiğinde pencerenin boyutudur. Pencerenin en büyük izleme boyutu, pencereyi boyutlandırmak için kenarlıklar kullanılarak elde edilebilecek en büyük pencere boyutudur. Pencerenin en küçük izleme boyutu, pencereyi boyutlandırmak için kenarlıklar kullanılarak elde edilebilecek en küçük pencere boyutudur.
Windows, çeşitli konumlar ve boyutlar için varsayılan değerleri belirten bir nokta dizisi doldurur. Uygulama içindeki OnGetMinMaxInfobu değerleri değiştirebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnHelp
Uygulama içinde F1 Yardımı'nı işler (geçerli bağlamı kullanarak).
afx_msg void OnHelp();
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::OnHelp.
CWnd::OnHelpFinder
ve ID_DEFAULT_HELP komutlarını ID_HELP_FINDER işler.
afx_msg void OnHelpFinder();
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::OnHelpFinder.
CWnd::OnHelpIndex
ID_HELP_INDEX komutunu işler ve varsayılan bir Yardım konusu sağlar.
afx_msg void OnHelpIndex();
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::OnHelpIndex.
CWnd::OnHelpInfo
Kullanıcı F1 tuşuna bastığında çerçeve tarafından çağrılır.
afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);
Parametreler
lpHelpInfo
Yardım istenen menü öğesi, denetim, iletişim kutusu veya pencere hakkında bilgi içeren bir HELPINFO yapı işaretçisi.
Dönüş Değeri
Bir pencerenin klavye odağı varsa veya bir pencerenin içinde bir menü etkinse döndürür TRUE . Klavye odağı pencere yoksa döndürür FALSE.
Açıklamalar
F1 tuşuna basıldığında bir menü etkinse, WM_HELP menüyle ilişkilendirilmiş pencereye gönderilir; aksi takdirde, WM_HELP klavye odağına sahip pencereye gönderilir. Klavye odağına sahip pencere yoksa, WM_HELP etkin olan pencereye gönderilir.
CWnd::OnHelpUsing
Komutu işler ID_HELP_USING .
afx_msg void OnHelpUsing();
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::OnHelpUsing.
CWnd::OnHotKey
Kullanıcı sistem genelinde bir kısayol tuşuna bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnHotKey(
UINT nHotKeyId,
UINT nKey1,
UINT nKey2);
Parametreler
nHotKeyId
[in] İletiyi oluşturan kısayol anahtarının tanımlayıcısı. İleti sistem tanımlı bir kısayol anahtarı tarafından oluşturulduysa, bu parametre aşağıdaki değerlerden biri olacaktır:
IDHOT_SNAPDESKTOP- Masaüstü kısayol tuşuna basıldı.IDHOT_SNAPWINDOW- Tutturma penceresi kısayol tuşuna basıldı.
nKey1
[in] Parametresi tarafından nKey2 belirtilen tuşla birlikte basılan tuşları gösteren bit düzeyinde bir bayrak bileşimi (OR). Olası değerler:
MOD_ALT- Alt anahtarlardan biri basılı tutuldu.MOD_CONTROL- Her iki CTRL tuşu da basılı tutuldu.MOD_SHIFT- Shift tuşu basılı tutuldu.MOD_WIN- Her iki WINDOWS anahtarı da basılı tutuldu. Bu anahtarlar Microsoft Windows logosuyla etiketlenmiştir.
nKey2
[in] Sık erişim anahtarının sanal anahtar kodu.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_HOTKEY . Bu ileti, sık erişim anahtarını kaydeden iş parçacığıyla ilişkili ileti kuyruğunun en üstüne yerleştirilir. RegisterHotKey Sistem genelinde bir kısayol tuşunu kaydetmek için işlevini kullanın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnHScroll
Kullanıcı bir pencerenin yatay kaydırma çubuğuna tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnHScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parametreler
nSBCode
Kullanıcının kaydırma isteğini gösteren bir kaydırma çubuğu kodu belirtir. Bu parametre aşağıdakilerden biri olabilir:
SB_LEFTEkranı en sola kaydırın.SB_ENDSCROLLBitiş kaydırması.SB_LINELEFTSola kaydırın.SB_LINERIGHTSağa kaydırın.SB_PAGELEFTBir sayfa sola kaydırın.SB_PAGERIGHTBir sayfa sağa kaydırın.SB_RIGHTEkranı en sağa kaydırın.SB_THUMBPOSITIONMutlak konuma kaydırın. Geçerli konum parametresi tarafındannPosbelirtilir.SB_THUMBTRACKKaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum parametresi tarafındannPosbelirtilir.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION veya SB_THUMBTRACKdeğilse, kullanılmıyorsa kaydırma kutusu konumunu belirtir. İlk kaydırma aralığına bağlı olarak, nPos negatif olabilir ve gerekirse bir'e int atılmalıdır.
pScrollBar
Kaydırma iletisi bir kaydırma çubuğu denetiminden geldiyse, denetimin işaretçisini içerir. Kullanıcı bir pencerenin kaydırma çubuğuna tıkladıysa, bu parametre olur NULL. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Kaydırma SB_THUMBTRACK çubuğu kodu genellikle kaydırma kutusu sürüklenirken geri bildirimde bulunan uygulamalar tarafından kullanılır.
Bir uygulama kaydırma çubuğu tarafından denetlenen içeriği kaydırırsa, üye işleviyle SetScrollPos birlikte kaydırma kutusunun konumunu da sıfırlaması gerekir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
Örnek
void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
// Get the minimum and maximum scroll-bar positions.
int minpos;
int maxpos;
GetScrollRange(SB_HORZ, &minpos, &maxpos);
maxpos = GetScrollLimit(SB_HORZ);
// Get the current position of scroll box.
int curpos = GetScrollPos(SB_HORZ);
// Determine the new position of scroll box.
switch (nSBCode)
{
case SB_LEFT: // Scroll to far left.
curpos = minpos;
break;
case SB_RIGHT: // Scroll to far right.
curpos = maxpos;
break;
case SB_ENDSCROLL: // End scroll.
break;
case SB_LINELEFT: // Scroll left.
if (curpos > minpos)
curpos--;
break;
case SB_LINERIGHT: // Scroll right.
if (curpos < maxpos)
curpos++;
break;
case SB_PAGELEFT: // Scroll one page left.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos > minpos)
curpos = max(minpos, curpos - (int)info.nPage);
}
break;
case SB_PAGERIGHT: // Scroll one page right.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos < maxpos)
curpos = min(maxpos, curpos + (int)info.nPage);
}
break;
case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
curpos = nPos; // of the scroll box at the end of the drag operation.
break;
case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
curpos = nPos; // position that the scroll box has been dragged to.
break;
}
// Set the new position of the thumb (scroll box).
SetScrollPos(SB_HORZ, curpos);
CView::OnHScroll(nSBCode, nPos, pScrollBar);
}
CWnd::OnHScrollClipboard
Pano verileri biçime sahip CF_OWNERDISPLAY olduğunda ve Pano görüntüleyicisinin yatay kaydırma çubuğunda bir olay olduğunda Pano sahibinin OnHScrollClipboard üye işlevi Pano görüntüleyicisi tarafından çağrılır.
afx_msg void OnHScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parametreler
pClipAppWnd
Pano görüntüleyici penceresinin işaretçisini belirtir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
nSBCode
Düşük sıralı sözcükte aşağıdaki kaydırma barkodlarından birini belirtir:
SB_BOTTOMSağa doğru kaydırın.SB_ENDSCROLLBitiş kaydırması.SB_LINEDOWNBir satır aşağı kaydırın.SB_LINEUPBir satır yukarı kaydırın.SB_PAGEDOWNBir sayfa aşağı kaydırın.SB_PAGEUPBir sayfa yukarı kaydırın.SB_THUMBPOSITIONMutlak konuma kaydırın. Geçerli konum içindenPossağlanır.SB_TOPEkranı sol üst tarafa kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITIONise kaydırma kutusu konumunu içerir; aksi takdirde kullanılmaz.
Açıklamalar
Sahibin Pano görüntüsünü kaydırması, uygun bölümü geçersiz kılması ve kaydırma çubuğu değerlerini güncelleştirmesi gerekir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnIconEraseBkgnd
Simgeyi boyamadan önce simgenin arka planının doldurulması gerektiğinde çerçeve simge durumuna küçültülmüş (simgesel) CWnd bir nesne için bu üye işlevini çağırır.
afx_msg void OnIconEraseBkgnd(CDC* pDC);
Parametreler
pDC
Simgenin cihaz bağlamı nesnesini belirtir. Geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
CWnd bu çağrıyı yalnızca pencere varsayılan uygulaması için bir sınıf simgesi tanımlandığında alır; aksi takdirde OnEraseBkgnd çağrılır.
DefWindowProc Üye işlevi simge arka planını üst pencerenin arka plan fırçasıyla doldurur.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnInitMenu
Bir menü etkin olmak üzereyken çerçeve bu üye işlevini çağırır.
afx_msg void OnInitMenu(CMenu* pMenu);
Parametreler
pMenu
Başlatılacak menüyü belirtir. Geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
OnInitMenu , kullanıcı menü çubuğundaki bir öğeye tıkladığında veya bir menü tuşuna bastığında çağrılır. Menü görüntülenmeden önce değiştirmek için bu üye işlevini geçersiz kılın.
OnInitMenu bir menüye ilk kez erişildiğinde (örneğin, kullanıcı menü çubuğundaki bir öğeye tıkladığında) yalnızca bir kez çağrılır. Bu yöntem menü öğeleri hakkında bilgi sağlamaz. Kullanıcı menüdeki öğelere taşındığında (örneğin, fareyi birkaç menü öğesi arasında hareket ettirerek) işlev yeniden çağrılmaz. Kullanıcı menüden çıktıktan sonra (örneğin, uygulama istemci alanına tıklayarak) ve daha sonra menü çubuğundaki bir öğeye tıkladıktan sonra işlev yeniden çağrılır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnInitMenuPopup
Bir açılır menü etkin olmak üzereyken çerçeve bu üye işlevini çağırır.
afx_msg void OnInitMenuPopup(
CMenu* pPopupMenu,
UINT nIndex,
BOOL bSysMenu);
Parametreler
pPopupMenu
Açılır menünün menü nesnesini belirtir. Geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
nIndex
Ana menüdeki açılır menünün dizinini belirtir.
bSysMenu
TRUE açılır menü Denetim menüsü ise; aksi takdirde FALSE.
Açıklamalar
Bu, uygulamanın tüm menüyü değiştirmeden görüntülenmeden önce açılır menüyü değiştirmesine olanak tanır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnInputDeviceChange
Bir G/Ç cihazı eklendiğinde veya sistemden kaldırıldığında çerçeve bu üye işlevini çağırır.
afx_msg void OnInputDeviceChange(unsigned short uFlag);
Parametreler
uFlag
[in] Bu bayrak aşağıdaki değerleri içerebilir:
GIDC_ARRIVAL- Sisteme yeni bir cihaz eklendi.GIDC_REMOVAL- Sistemden bir cihaz kaldırıldı.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_INPUT_DEVICE_CHANGE . genel bir giriş cihazı iletisidir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnInputLangChange
Çerçeve, uygulamanın giriş dili değiştirildikten sonra en üstteki etkilenen pencere için bu üyeyi çağırır.
afx_msg void OnInputLangChange(
UINT nCharSet,
UINT nLocaleId);
Parametreler
nCharSet
[in] Yeni yerel ayarın karakter kümesi. Daha fazla bilgi için yapının parametresine LOGFONT bakınlfCharSet.
nLocaleId
[in] Giriş yerel ayar tanımlayıcısı. Daha fazla bilgi için bkz . Dil Tanımlayıcı Sabitleri ve Dizeleri.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_INPUTLANGCHANGE .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnInputLangChangeRequest
Çerçeve, kullanıcı yeni bir giriş dili seçtiğinde odak noktası olan pencere için bu üyeyi çağırır.
afx_msg void OnInputLangChangeRequest(
UINT nFlags,
UINT nLocaleId);
Parametreler
nFlags
[in] Yüklü yerel ayarlar listesinde yeni yerel ayarın önceki veya sonraki yerel ayardan seçildiğini veya yeni giriş yerel ayarının klavye düzeninin sistem karakter kümesiyle kullanılabileceğini gösteren bit düzeyinde (VEYA) bir bayrak birleşimi. Olası değerler: INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARD ve INPUTLANGCHANGE_SYSCHARSET.
nLocaleId
[in] Giriş yerel ayar tanımlayıcısı. Daha fazla bilgi için bkz . Dil Tanımlayıcı Sabitleri ve Dizeleri.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_INPUTLANGCHANGEREQUEST . Bu ileti, kullanıcı klavye denetim masası uygulamasında belirtilen kısayol tuşuyla yeni bir giriş dili seçtiğinde veya sistem görev çubuğundaki göstergeden gönderiliyor.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnKeyDown
Çerçeve, sistem dışı bir tuşa basıldığında bu üye işlevini çağırır.
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Verilen anahtarın sanal anahtar kodunu belirtir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nRepCnt
Yineleme sayısı (kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun tekrarlama sayısı).
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Value | Açıklama |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir tuş gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basıldığında ALT tuşu basılı tutulursa 1; aksi takdirde 0). |
| 14 | Önceki anahtar durumu (aramadan önce anahtar çalışmıyorsa 1, anahtar çalışır durumdaysa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
İleti WM_KEYDOWN için anahtar geçişi biti (bit 15) 0 ve bağlam kodu biti (bit 13) 0'dır.
Açıklamalar
Sistem dışı tuş, ALT tuşuna basılmadığında basılan bir klavye tuşu veya giriş odağı olduğunda CWnd basılan bir klavye tuşudur.
Otomatik yineleme nedeniyle, bir OnKeyUp üye işlev çağrısı yapılmadan önce birden OnKeyDown fazla çağrı oluşabilir. Önceki anahtar durumunu gösteren bit, çağrının OnKeyDown ilk aşağı geçiş mi yoksa tekrarlanan bir aşağı geçiş mi olduğunu belirlemek için kullanılabilir.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler içinde nFlagsgenişletilmiş tuş bitini destekleyemeyebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnKeyUp
Çerçeve, sistem dışı anahtar serbest bırakıldığında bu üye işlevini çağırır.
afx_msg void OnKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Verilen anahtarın sanal anahtar kodunu belirtir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nRepCnt
Yineleme sayısı (kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun tekrarlama sayısı).
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Value | Açıklama |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). Yüksek sıralı sözcüğün alt baytı. |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir anahtar gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1; aksi takdirde 0). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basıldığında ALT tuşu basılı tutulursa 1; aksi takdirde 0). |
| 14 | Önceki anahtar durumu (aramadan önce anahtar çalışmıyorsa 1, anahtar çalışır durumdaysa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
İleti WM_KEYUP için anahtar geçişi biti (bit 15) 1 ve bağlam kodu biti (bit 13) 0'dır.
Açıklamalar
Sistem dışı tuş, ALT tuşuna basılmadığında basılan bir klavye tuşu veya giriş odağı olduğunda CWnd basılan bir klavye tuşudur.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler nFlags'da genişletilmiş tuş bitini destekleyebilebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnKillFocus
Çerçeve, giriş odağını kaybetmeden hemen önce bu üye işlevini çağırır.
afx_msg void OnKillFocus(CWnd* pNewWnd);
Parametreler
pNewWnd
Giriş odağını alan pencere işaretçisini belirtir (geçici olabilir NULL veya olabilir).
Açıklamalar
CWnd Nesne bir şapka işareti görüntülüyorsa, şapka işareti bu noktada yok edilmelidir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnLButtonDblClk
Kullanıcı sol fare düğmesine çift tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnLButtonDblClk(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Yalnızca stili olan CS_DBLCLKS WNDCLASS pencereler çağrı alır OnLButtonDblClk . Bu, Microsoft Foundation Sınıf pencereleri için varsayılandır. Windows, kullanıcı basıldığında, serbest bırakıldığında ve ardından sistemin çift tıklama süresi sınırı içinde sol fare düğmesine yeniden bastığında çağırır OnLButtonDblClk . Sol fare düğmesine çift tıklandığında aslında dört olay oluşturulur: WM_LBUTTONDOWN, iletileri, WM_LBUTTONDBLCLK arama ve düğme serbest bırakıldığında başka bir WM_LBUTTONUP WM_LBUTTONUP ileti.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnLButtonDown
Kullanıcı sol fare düğmesine bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnLButtonDown(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnLButtonUp
Kullanıcı sol fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnLButtonUp(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMButtonDblClk
Kullanıcı ortadaki fare düğmesine çift tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnMButtonDblClk(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Yalnızca stili olan CS_DBLCLKS WNDCLASS pencereler çağrı alır OnMButtonDblClk . Bu, tüm Microsoft Foundation Sınıfı pencereleri için varsayılandır. Kullanıcı, sistemin çift tıklama süresi sınırı içinde ortadaki fare düğmesine yeniden bastığında, Windows bir OnMButtonDblClk çağrı oluşturur. Ortadaki fare düğmesine çift tıklanması aslında dört olay oluşturur: WM_MBUTTONDOWN iletiler WM_MBUTTONUP , WM_MBUTTONDBLCLK çağrı ve başka bir WM_MBUTTONUP ileti.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMButtonDown
Kullanıcı ortadaki fare düğmesine bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnMButtonDown(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMButtonUp
Kullanıcı ortadaki fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnMButtonUp(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMDIActivate
Çerçeve, devre dışı bırakılan alt pencere ve etkinleştirilen alt pencere için bu üye işlevini çağırır.
afx_msg void OnMDIActivate(
BOOL bActivate,
CWnd* pActivateWnd,
CWnd* pDeactivateWnd);
Parametreler
bActivate
TRUE eğer çocuk etkinleştiriliyorsa ve FALSE devre dışı bırakılıyorsa.
pActivateWnd
Etkinleştirilecek MDI alt penceresine ilişkin bir işaretçi içerir. MDI alt penceresi tarafından alındığında, pActivateWnd etkinleştirilmekte olan alt pencereye yönelik bir işaretçi içerir. Bu işaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
pDeactivateWnd
Devre dışı bırakılan MDI alt penceresine ilişkin bir işaretçi içerir. Bu işaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
MDI alt penceresi, MDI çerçeve penceresinden bağımsız olarak etkinleştirilir. Çerçeve etkin olduğunda, bir OnMDIActivate çağrıyla en son etkinleştirilen alt pencere etkin bir pencere çerçevesi ve resim yazısı çubuğu çizmek için bir WM_NCACTIVATE ileti alır, ancak başka bir OnMDIActivate çağrı almaz.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMeasureItem
Çerçeve, denetim oluşturulduğunda sahip çizim düğmesinin, birleşik giriş kutusunun, liste kutusunun veya menü öğesinin sahibi için çerçeve tarafından bu üye işlevini çağırır.
afx_msg void OnMeasureItem(
int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
Parametreler
nIDCtl
Denetimin kimliği.
lpMeasureItemStruct
Sahip-çizim denetiminin boyutlarını içeren bir MEASUREITEMSTRUCT veri yapısına işaret eder.
Açıklamalar
Bu üye işlevini geçersiz kılarak işaret eden ve döndüren lpMeasureItemStruct veri yapısını doldurun; bu, Windows'u MEASUREITEMSTRUCT denetimin boyutları hakkında bilgilendirerek Windows'un denetimle kullanıcı etkileşimini doğru işlemesine olanak tanır.
veya CBS_OWNERDRAWVARIABLE stiliyle LBS_OWNERDRAWVARIABLE bir liste kutusu veya birleşik giriş kutusu oluşturulursa, çerçeve denetimdeki her öğenin sahibi için bu işlevi çağırır; aksi takdirde bu işlev bir kez çağrılır.
Windows, iletiyi göndermeden WM_INITDIALOG önce stille oluşturulan birleşik giriş kutularının ve liste kutularının OWNERDRAWFIXED sahibi için çağrısı OnMeasureItem başlatır. Sonuç olarak, sahip bu çağrıyı aldığında Windows henüz denetimde kullanılan yazı tipinin yüksekliğini ve genişliğini belirlememiştir; bu değerleri gerektiren işlev çağrıları ve hesaplamaları, uygulamanın veya kitaplığın ana işlevinde gerçekleşmelidir.
Ölçülen öğe bir CMenuveya CListBox CComboBox nesnesiyse, uygun sınıfın MeasureItem sanal işlevi çağrılır. MeasureItem Her öğenin boyutunu hesaplamak ve ayarlamak için uygun denetimin sınıfının üye işlevini geçersiz kılın.
OnMeasureItemyalnızca denetimin sınıfı çalışma zamanında oluşturulduğunda veya veya CBS_OWNERDRAWVARIABLE stiliyle LBS_OWNERDRAWVARIABLE oluşturulduysa çağrılır. Denetim iletişim kutusu düzenleyicisi OnMeasureItem tarafından oluşturulduysa çağrılmaz. Bunun nedeni, iletinin WM_MEASUREITEM denetimin oluşturma işleminde erken gönderilmesidir. , SubclassDlgItemveya SubclassWindowkullanarak DDX_Controlalt sınıf oluşturursanız, alt sınıflama genellikle oluşturma işleminden sonra gerçekleşir. Bu nedenle, MFC'nin OnChildNotify uygulamak ON_WM_MEASUREITEM_REFLECTiçin kullandığı mekanizma olan denetimin işlevindeki iletiyi işlemenin WM_MEASUREITEM hiçbir yolu yoktur.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMenuChar
Kullanıcı geçerli menüdeki önceden tanımlanmış hiçbir anımsatıcıyla eşleşmeyen bir menü anımsatıcı karakterine bastığında çerçeve bu üye işlevini çağırır.
afx_msg LRESULT OnMenuChar(
UINT nChar,
UINT nFlags,
CMenu* pMenu);
Parametreler
nChar
Derleme ayarlarına bağlı olarak, kullanıcının bastığı ANSI veya Unicode karakterini belirtir.
nFlags
MF_POPUP Menü bir açılır menüyse bayrağını içerir. Menü bir Denetim menüsüyse bayrağını içerir MF_SYSMENU .
pMenu
Seçili CMenuöğesine bir işaretçi içerir. İşaretçi geçici olabilir ve depolanmamalıdır.
Dönüş Değeri
Dönüş değerinin yüksek sıralı sözcüğü aşağıdaki komut kodlarından birini içermelidir:
| Value | Açıklama |
|---|---|
| 0 | Windows'a kullanıcının bastığı karakteri atıp sistem hoparlöründe kısa bir bip sesi oluşturmasını söyler. |
| 1 | Windows'a geçerli menüyü kapatmasını söyler. |
| 2 | Windows'a dönüş değerinin düşük sıralı sözcüğünün belirli bir öğenin öğe numarasını içerdiğini bildirir. Bu öğe Windows tarafından seçilir. |
Yüksek sıralı sözcük 0 veya 1 içeriyorsa, düşük sıralı sözcük yoksayılır. Bir menüye yerleştirilen bit eşlemleri seçmek için hızlandırıcı (kısayol) tuşları kullanıldığında uygulamalar bu iletiyi işlemelidir.
Açıklamalar
Menüye CWnd sahip olan öğesine gönderilir. OnMenuChar , kullanıcı ALT tuşuna ve başka bir tuşa bastığında da çağrılır, anahtar bir anımsatıcı karaktere karşılık gelmezse bile. Bu durumda, pMenu öğesine ait menüyü CWndgösterir ve nFlags 0'dır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMenuDrag
Çerçeve, kullanıcı bir menü öğesini sürüklemeye başladığında geçerli sürükle ve bırak menüsünün bu üye işlevini çağırır.
afx_msg UINT OnMenuDrag(
UINT nPos,
CMenu* pMenu);
Parametreler
nPos
[in] Sürükleme işlemi başladığında menü öğesinin dizin konumu.
pMenu
[in] CMenu Menü öğesini içeren nesnenin işaretçisi.
Dönüş Değeri
| Dönüş Değeri | Anlamı |
|---|---|
MND_CONTINUE |
Menü etkin kalmalıdır. Fare serbest bırakılırsa yoksayılmalıdır. |
MND_ENDMENU |
Menü sonlandırılmalıdır. |
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_MENUDRAG .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMenuGetObject
Çerçeve, fare imleci bir menü öğesine girdiğinde veya öğenin ortasından öğenin üstüne veya altına geçtiğinde geçerli sürükle ve bırak menüsünün bu üye işlevini çağırır.
afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);
Parametreler
pMenu
[in] Fare imlecinin açık olduğu sürükle ve bırak menüsü hakkında bilgi içeren bir MENUGETOBJECTINFO yapı işaretçisi.
Dönüş Değeri
| Dönüş Değeri | Anlamı |
|---|---|
MNGO_NOERROR |
Yapının üyesinde pvObj bırakma ve sürükleme işlemlerini destekleyen bir arabirim işaretçisi MENUGETOBJECTINFO döndürülür. Şu anda yalnızca IDropTarget arabirim desteklenmektedir. |
MNGO_NOINTERFACE |
Bırakma ve sürükleme arabirimi desteklenmez. |
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_MENUGETOBJECT .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMenuRButtonUp
Kullanıcı, imleç bir menü öğesi üzerindeyken sağ fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnMenuRButtonUp(
UINT nPos,
CMenu* pMenu);
Parametreler
nPos
[in] Sağ fare düğmesi serbest bırakıldığında menü öğesinin dizin konumu.
pMenu
[in] CMenu Menü öğesini içeren nesnenin işaretçisi.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_MENURBUTTONUP . İleti, WM_MENURBUTTONUP uygulamanın iletide belirtilen menü öğesi için bağlama duyarlı bir menü sağlamasına olanak tanır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMenuSelect
CWnd Nesne bir menüyle ilişkilendirilmişse, OnMenuSelect kullanıcı bir menü öğesi seçtiğinde çerçeve tarafından çağrılır.
afx_msg void OnMenuSelect(
UINT nItemID,
UINT nFlags,
HMENU hSysMenu);
Parametreler
nItemID
Seçilen öğeyi tanımlar. Seçili öğe bir menü öğesiyse, nItemID menü öğesi kimliğini içerir. Seçili öğe bir açılır menü içeriyorsa, nItemID açılır menü dizinini ve hSysMenu ana (tıklanan) menünün tutamacını içerir.
nFlags
Aşağıdaki menü bayraklarının bir bileşimini içerir:
MF_BITMAPÖğe bir bit eşlemdir.MF_CHECKEDÖğe işaretli.MF_DISABLEDÖğe devre dışı bırakıldı.MF_GRAYEDÖğe soluk.MF_MOUSESELECTÖğe fareyle seçildi.MF_OWNERDRAWÖğe bir sahip-çizim öğesidir.MF_POPUPÖğe bir açılır menü içeriyor.MF_SEPARATORÖğe bir menü öğesi ayırıcısıdır.MF_SYSMENUÖğe Denetim menüsünde yer alır.
hSysMenu
içeriyorsa nFlags MF_SYSMENU, iletiyle ilişkili menüyü tanımlar. içeriyorsa nFlags MF_POPUP, ana menünün tutamacını tanımlar. Ne nFlags ne de MF_SYSMENU MF_POPUPiçeriyorsa, kullanılmamış olur.
Açıklamalar
nFlags 0xFFFF içeriyorsa ve hSysMenu 0 içeriyorsa, kullanıcı ESC tuşuna bastığı veya menünün dışına tıkladığı için Windows menüyü kapatmıştır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMouseActivate
çerçeve, imleç etkin olmayan bir pencerede olduğunda ve kullanıcı fare düğmesine bastığında bu üye işlevini çağırır.
afx_msg int OnMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
Parametreler
pDesktopWnd
Etkinleştirilmekte olan pencerenin üst düzey üst penceresine yönelik bir işaretçi belirtir. İşaretçi geçici olabilir ve depolanmamalıdır.
nHitTest
İsabet testi alan kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
message
Fare ileti numarasını belirtir.
Dönüş Değeri
öğesinin etkinleştirilip etkinleştirilmeymeyeceğini CWnd ve fare olayının atılıp atılmayacağını belirtir. Aşağıdaki değerlerden biri olmalıdır:
MA_ACTIVATENesneyi etkinleştirinCWnd.MA_NOACTIVATENesneyi etkinleştirmeyinCWnd.MA_ACTIVATEANDEATnesnesini etkinleştirinCWndve fare olayını atın.MA_NOACTIVATEANDEATNesneyi etkinleştirmeyinCWndve fare olayını atmayın.
Açıklamalar
Varsayılan uygulama, herhangi bir işlem gerçekleşmeden önce bu iletiyi üst pencereye geçirir. Üst pencere TRUE döndürürse işlem durdurulmuş olur.
Tek tek isabet testi alan kodlarının açıklaması için bkz OnNcHitTest . üye işlevi
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
Örnek
// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
CWnd::OnMouseHover
Çerçeve, imleç önceki çağrısında TrackMouseEventbelirtilen süre boyunca pencerenin istemci alanının üzerine geldiğinde bu üye işlevini çağırır.
afx_msg void OnMouseHover(
UINT nFlags,
CPoint point);
Parametreler
nFlags
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak bileşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir.
point
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_MOUSEHOVER .
parametresi, nFlags aşağıdaki tabloda listelenen değiştirici anahtarların bir bileşimi olabilir. Daha fazla bilgi için bkz . Fare Girişi Hakkında.
| Değiştirici Anahtar | Açıklama |
|---|---|
MK_CONTROL |
CTRL tuşuna basılır. |
MK_LBUTTON |
Sol fare düğmesine basılır. |
MK_MBUTTON |
Ortadaki fare düğmesine basılır. |
MK_RBUTTON |
Sağ fare düğmesine basılır. |
MK_SHIFT |
SHIFT tuşuna basılır. |
MK_XBUTTON1 |
XBUTTON1 Microsoft IntelliMouse'un fare düğmesine basılır. |
MK_XBUTTON2 |
XBUTTON2 Microsoft IntelliMouse'un fare düğmesine basılır. |
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMouseHWheel
Farenin yatay kaydırma tekerleği eğildiğinde veya döndürüldüğünde çerçeve bu üyeyi çağırır.
afx_msg void OnMouseHWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parametreler
nFlags
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak bileşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir. Bayrak listesi için Fare Girişi Hakkında'daki "İleti Parametreleri" alt başlığına bakın.
zDelta
[in] Tekerleğin döndürüldüğünü, 120 olan katları veya bölmeleriyle ifade edilen mesafeyi WHEEL_DELTAgösterir. Pozitif değer, tekerleğin sağa döndürüldüğünü gösterir; negatif bir değer, tekerleğin sola döndürüldüğünü gösterir.
pt
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_MOUSEHWHEEL . Bu ileti, farenin yatay kaydırma tekerleği eğildiğinde veya döndürüldüğünde odağın olduğu pencereye gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMouseLeave
çerçeve, imleç önceki çağrısında TrackMouseEventbelirtilen pencerenin istemci alanından ayrıldığında bu üye işlevini çağırır.
afx_msg void OnMouseLeave();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_MOUSELEAVE .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMouseMove
Çerçeve, fare imleci hareket ettiğinde bu üye işlevini çağırır.
afx_msg void OnMouseMove(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Fare yakalanmazsa, WM_MOUSEMOVE ileti fare imlecinin CWnd altındaki nesne tarafından alınır; aksi takdirde, ileti fareyi yakalayan pencereye gider.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMouseWheel
Kullanıcı fare tekerleğini döndürdükçe ve tekerleğin bir sonraki çentiğiyle karşılaştığında çerçeve bu üye işlevini çağırır.
afx_msg BOOL OnMouseWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun basılı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrtadaki fare düğmesi aşağıysa ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
zDelta
Döndürülen uzaklığı gösterir. Değer zDelta , 120 olan değerinin WHEEL_DELTAkatları veya bölümleriyle ifade edilir. Sıfırdan küçük bir değer geri dönmeyi (kullanıcıya doğru) belirtirken, sıfırdan büyük bir değer ileri (kullanıcıdan uzakta) döndürmeyi gösterir. Kullanıcı, fare yazılımındaki Tekerlek ayarını değiştirerek bu yanıtı tersine çevirebilir. Bu parametre hakkında daha fazla bilgi için Açıklamalar'a bakın.
pt
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Dönüş Değeri
Fare tekerleği kaydırma etkinse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Geçersiz kılınmadığı sürece varsayılanını OnMouseWheel WM_MOUSEWHEELçağırır. Windows, iletiyi otomatik olarak odağın bulunduğu denetime veya alt pencereye yönlendirir. Win32 işlevi DefWindowProc , üst zincirdeki iletiyi işleyen pencereye yayılır.
zDelta parametresi, 120 olarak ayarlanan bir katıdırWHEEL_DELTA. Bu değer, gerçekleştirilecek bir eylemin eşiğidir ve her delta için böyle bir eylem (örneğin, bir çentik ileri doğru kaydırma) gerçekleşmelidir.
WHEEL_DELTA , çentiksiz serbestçe dönen bir tekerlek gibi daha ince çözünürlüklü jantlara izin vermek için 120 olarak ayarlanmıştır. Daha ince çözünürlüklü bir tekerlek döndürme başına daha fazla ileti gönderir, ancak her iletinin daha küçük bir delta değeri vardır. Böyle bir tekerleği kullanmak için, ulaşılana kadar WHEEL_DELTA gelen zDelta değerleri ekleyin (belirli bir delta döndürme için aynı yanıtı almanız için) veya daha sık iletiye yanıt olarak kısmi çizgileri kaydırın. Ayrıca, bir kaydırma ayrıntı düzeyi seçebilir ve ulaşılana kadar WHEEL_DELTA deltaları biriktirebilirsiniz.
Kendi fare tekerleği kaydırma davranışınızı sağlamak için bu üye işlevini geçersiz kılın.
Not
OnMouseWheel Windows NT 4.0 ve sonraki sürümleri için iletileri işler. Windows 95/98 veya Windows NT 3.51 ileti işleme için kullanın OnRegisteredMouseWheel.
CWnd::OnMove
Nesne taşındıktan sonra CWnd çerçeve bu üye işlevini çağırır.
afx_msg void OnMove(
int x,
int y);
Parametreler
x
İstemci alanının sol üst köşesinin yeni x koordinat konumunu belirtir. Bu yeni konum, çakışan ve açılır pencereler için ekran koordinatlarında ve alt pencereler için üst istemci koordinatlarında verilir.
y
İstemci alanının sol üst köşesinin yeni y koordinat konumunu belirtir. Bu yeni konum, çakışan ve açılır pencereler için ekran koordinatlarında ve alt pencereler için üst istemci koordinatlarında verilir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnMoving
Bir kullanıcı nesneyi taşırken CWnd çerçeve bu üye işlevini çağırır.
afx_msg void OnMoving(
UINT nSide,
LPRECT lpRect);
Parametreler
nSide
Taşınacak pencerenin kenarı.
lpRect
CRect Öğenin koordinatlarını içerecek veya RECT yapısının adresi.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcActivate
Etkin veya etkin olmayan bir durumu belirtmek için istemci olmayan alanın değiştirilmesi gerektiğinde çerçeve bu üye işlevini çağırır.
afx_msg BOOL OnNcActivate(BOOL bActive);
Parametreler
bActive
Etkin veya etkin olmayan bir durumu belirtmek için resim yazısı çubuğunun veya simgesinin ne zaman değiştirilmesi gerektiğini belirtir. bActive parametresi, TRUE etkin bir resim yazısı veya simge çizilecekse olur. FALSE Etkin olmayan bir resim yazısı veya simge içindir.
Dönüş Değeri
Windows'un varsayılan işlemeye devam etmesi gerekiyorsa sıfır olmayan; Resim yazısı çubuğunun veya simgesinin devre dışı bırakılmasını önlemek için 0.
Açıklamalar
Varsayılan uygulama, başlık çubuğunu ve başlık çubuğu metnini ise etkin renklerinde ve etkin değilse bActive TRUE bActive etkin olmayan renklerinde çizer.FALSE
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcCalcSize
çerçeve, istemci alanının boyutunun ve konumunun hesaplanması gerektiğinde bu üye işlevini çağırır.
afx_msg void OnNcCalcSize(
BOOL bCalcValidRects,
NCCALCSIZE_PARAMS* lpncsp);
Parametreler
bCalcValidRects
Uygulamanın istemci alanının hangi bölümünün geçerli bilgiler içerdiğini belirtmesi gerekip gerekmediğini belirtir. Windows geçerli bilgileri yeni istemci alanı içinde belirtilen alana kopyalar. Bu parametre TRUE ise, uygulama istemci alanının hangi bölümünün geçerli olduğunu belirtmelidir.
lpncsp
NCCALCSIZE_PARAMS Bir uygulamanın dikdörtgenin yeni boyutunu ve konumunu CWnd (istemci alanı, kenarlıklar, resim yazısı, kaydırma çubukları vb.) hesaplamak için kullanabileceği bilgileri içeren bir veri yapısına işaret ediyor.
Açıklamalar
Bir uygulama bu iletiyi işleyerek pencerenin boyutu veya konumu değiştiğinde pencerenin istemci alanının içeriğini denetleyebiliyor.
değerinden bCalcValidRectsbağımsız olarak, yapının yapı üyesi NCCALCSIZE_PARAMS tarafından belirtilen dizideki rgrc ilk dikdörtgen pencerenin koordinatlarını içerir. Alt pencere için koordinatlar üst pencerenin istemci alanına göredir. Üst düzey pencereler için koordinatlar ekran koordinatlarıdır. Bir uygulama, dikdörtgeni rgrc[0] istemci alanının boyutunu ve konumunu yansıtacak şekilde değiştirmelidir.
rgrc[1] ve rgrc[2] dikdörtgenleri yalnızca ise bCalcValidRects TRUEgeçerlidir. Bu durumda dikdörtgen, rgrc[1] pencerenin taşınmadan veya yeniden boyutlandırilmeden önceki koordinatlarını içerir. Dikdörtgen, rgrc[2] pencere taşınmadan önce pencerenin istemci alanının koordinatlarını içerir. Tüm koordinatlar üst pencereye veya ekrana göredir.
Varsayılan uygulama, pencere özelliklerine (kaydırma çubukları, menü vb.) göre istemci alanının boyutunu hesaplar ve sonucu öğesine lpncspyerleştirir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcCreate
Çerçeve, nesne ilk oluşturulduğunda iletiden WM_CREATE CWnd önce bu üye işlevini çağırır.
afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
Parametreler
lpCreateStruct
CREATESTRUCT için CWndveri yapısını gösterir.
Dönüş Değeri
İstemci olmayan alan oluşturulduysa sıfır olmayan. Hata oluşursa 0 olur; Create işlevi bu durumda döndürülecektir failure .
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcDestroy
İstemci olmayan alan yok edilirken çerçeve tarafından çağrılır ve Windows penceresi yok edildiğinde çağrılan son üye işlevidir.
afx_msg void OnNcDestroy();
Açıklamalar
Varsayılan uygulama biraz temizleme gerçekleştirir ve ardından sanal üye işlevini PostNcDestroyçağırır.
İşlem gibi delete this kendi temizleme işleminizi gerçekleştirmek istiyorsanız geçersiz kılınPostNcDestroy. geçersiz kılarsanız OnNcDestroy, pencere için dahili olarak ayrılan tüm belleğin serbest bırakılmasını sağlamak için temel sınıfınızı çağırmalısınız OnNcDestroy .
CWnd::OnNcHitTest
Çerçeve, fare her taşındığında CWnd imleci (veya CWnd fare girişini yakalamak için üye işlevini kullanan SetCapture nesneyi) içeren nesne için bu üye işlevini çağırır.
afx_msg LRESULT OnNcHitTest(CPoint point);
Parametreler
point
İmlecin x ve y koordinatlarını içerir. Bu koordinatlar her zaman ekran koordinatlarıdır.
Dönüş Değeri
Fare isabet sınaması numaralandırılmış değerlerinden biri. Değer listesi için bkz WM_NCHITTEST .
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcLButtonDblClk
Çerçeve, kullanıcı imleç'in istemci olmayan bir alanındayken CWndsol fare düğmesine çift tıkladığında bu üye işlevini çağırır.
afx_msg void OnNcLButtonDblClk(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir. Değer listesi için bkz WM_NCHITTEST .
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Uygunsa, WM_SYSCOMMAND ileti gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcLButtonDown
Çerçeve, kullanıcı nesnenin istemci olmayan bir alanındayken CWnd sol fare düğmesine bastığında bu üye işlevini çağırır.
afx_msg void OnNcLButtonDown(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir. Değer listesi için bkz WM_NCHITTEST .
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Uygunsa, WM_SYSCOMMAND gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcLButtonUp
Kullanıcı, imleç bir istemci olmayan alan içindeyken sol fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcLButtonUp(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir. Değer listesi için bkz WM_NCHITTEST .
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Uygunsa WM_SYSCOMMAND gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMButtonDblClk
Kullanıcı, imleç istemci olmayan bir alanın içindeyken ortadaki fare düğmesine çift tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcMButtonDblClk(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMButtonDown
Kullanıcı, imleç istemci olmayan bir alanın içindeyken ortadaki fare düğmesine bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcMButtonDown(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMButtonUp
Kullanıcı, imleç istemci olmayan bir alan içindeyken orta fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcMButtonUp(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMouseHover
Çerçeve, imleç önceki çağrısında TrackMouseEventbelirtilen süre boyunca pencerenin istemci olmayan alanının üzerine geldiğinde bu üye işlevini çağırır.
afx_msg void OnNcMouseHover(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
[in] İletinin işlenmesinin CWnd::DefWindowProc WM_NCHITTEST bir sonucu olarak işlev tarafından döndürülen isabet testi değeri.
point
[in] CPoint İmlecin ekranın sol üst köşesine göre x ve y koordinatlarını belirten nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_NCMOUSEHOVER .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMouseLeave
çerçeve, imleç önceki çağrısında TrackMouseEventbelirtilen pencerenin istemci olmayan alanından ayrıldığında bu üye işlevini çağırır.
afx_msg void OnNcMouseLeave();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_NCMOUSELEAVE .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcMouseMove
çerçeve, imleç istemci olmayan bir alana taşındığında bu üye işlevini çağırır.
afx_msg void OnNcMouseMove(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Uygunsa, WM_SYSCOMMAND ileti gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcPaint
Çerçeve, istemci olmayan alanın boyanması gerektiğinde bu üye işlevini çağırır.
afx_msg void OnNcPaint();
Açıklamalar
Varsayılan uygulama pencere çerçevesini boyar.
Bir uygulama bu çağrıyı geçersiz kılabilir ve kendi özel pencere çerçevesini boyayabilir. Çerçevenin şekli değiştirilse bile kırpma bölgesi her zaman dikdörtgendir.
CWnd::OnNcRButtonDblClk
kullanıcı sağ fare düğmesine çift tıkladığında, imleç içinde bir istemci olmayan alanı CWndiçinde olduğunda çerçeve bu üye işlevini çağırır.
afx_msg void OnNcRButtonDblClk(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcRButtonDown
Kullanıcı, imleç bir istemci olmayan alan içindeyken sağ fare düğmesine bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcRButtonDown(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcRButtonUp
Kullanıcı, imleç bir istemci olmayan alan içindeyken sağ fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnNcRButtonUp(
UINT nHitTest,
CPoint point);
Parametreler
nHitTest
İsabet testi kodunu belirtir. İsabet testi, imlecin konumunu belirleyen bir testtir.
point
İmleç konumunun x ve y ekran koordinatlarını içeren bir CPoint nesne belirtir. Bu koordinatlar her zaman ekranın sol üst köşesine göredir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcRenderingChanged
çerçeve, istemci olmayan alan için işleme ilkesi değiştiğinde bu üyeyi çağırır.
afx_msg void OnNcRenderingChanged(BOOL bIsRendering);
Parametreler
bIsRendering
[in] TRUE Pencerenin istemci olmayan alanı için Masaüstü Pencere Yöneticisi (DWM) işleme etkinleştirildiyse; FALSE işleme devre dışıysa.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_DWMNCRENDERINGCHANGED .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcXButtonDblClk
Kullanıcı çift tıkladığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci olmayan alanındayken çerçeve bu üye işlevini çağırır.
void OnNcXButtonDblClk(
short nHitTest,
UINT nButton,
CPoint point);
Parametreler
nHitTest
[in] İletinin işlenmesinin CWnd::DefWindowProc WM_NCHITTEST bir sonucu olarak işlev tarafından döndürülen isabet testi değeri.
nButton
[in] XBUTTON1 İlk Microsoft Intellimouse X düğmesine çift tıklandığında veya XBUTTON2 ikinci X düğmesine çift tıklandığında değeri.
point
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_XBUTTONDBLCLK . Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcXButtonDown
Çerçeve, kullanıcı bir pencerenin istemci olmayan alanındayken fareye veya XBUTTON2 fareye bastığında XBUTTON1 bu üye işlevini çağırır.
afx_msg void OnNcXButtonDown(
short nHitTest,
UINT nButton,
CPoint point);
Parametreler
nHitTest
[in] İletinin işlenmesinin CWnd::DefWindowProc WM_NCHITTEST bir sonucu olarak işlev tarafından döndürülen isabet testi değeri.
nButton
[in] XBUTTON1 İlk fare X düğmesine basıldığında veya XBUTTON2 ikinci X düğmesine basıldığında değeri.
point
[in] CPoint İmlecin ekranın sol üst köşesine göre ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_NCXBUTTONDOWN . Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNcXButtonUp
Çerçeve, kullanıcı fareyi serbest bıraktığında XBUTTON1 veya XBUTTON2 imleci bir pencerenin istemci olmayan alanındayken çağırdığında bu üye işlevini çağırır.
afx_msg void OnNcXButtonUp(
short nHitTest,
UINT nButton,
CPoint point);
Parametreler
nHitTest
[in] İletinin işlenmesinin CWnd::DefWindowProc WM_NCHITTEST bir sonucu olarak işlev tarafından döndürülen isabet testi değeri.
nButton
[in] İlk fare X düğmesinin XBUTTON1 serbest bırakılıp bırakılmay olduğuna veya XBUTTON2 ikinci X düğmesinin serbest bırakıldığına ilişkin bir değer.
point
[in] CPoint İmlecin ekranın sol üst köşesine göre x ve y koordinatlarını belirten nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_NCXBUTTONUP . Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNextMenu
Çerçeve, menü çubuğu ile sistem menüsü arasında geçiş yapmak için sağ veya sol ok tuşu kullanıldığında bu üye işlevini çağırır.
afx_msg void OnNextMenu(
UINT nKey,
LPMDINEXTMENU lpMdiNextMenu);
Parametreler
nKey
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak birleşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir. Bayrak listesi için Fare Girişi Hakkında'daki "İleti Parametreleri" alt başlığına bakın.
lpMdiNextMenu
[in] Etkinleştirilecek menü hakkında bilgi içeren bir MDINEXTMENU yapı işaretçisi.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_UNINITMENUPOPUP . Uygulamanız bu iletiye yanıt olarak, yapı üyesini MDINEXTMENU geçiş için menüyü ve üyeyi hwndNext de menü bildirim iletilerini alacak pencereyi belirtecek şekilde ayarlayabilirhmenuNext.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnNotify
Çerçeve, üst pencereye denetimde bir olayın gerçekleştiğini veya denetimin bir tür bilgi gerektirdiğini bildirmek için bu üye işlevini çağırır.
virtual BOOL OnNotify(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parametreler
wParam
İleti bir denetimden geliyorsa iletiyi gönderen denetimi tanımlar. wParam Aksi takdirde 0'dır.
lParam
Bildirim kodunu ve ek bilgileri içeren bir bildirim iletisi (NMHDR) yapısının işaretçisi. Bazı bildirim iletileri için bu parametre, yapısı ilk üyesi olan daha büyük bir yapıya NMHDR işaret eder.
pResult
LRESULT İleti işlenirse sonuç kodunun depolandığı değişkenin işaretçisi.
Dönüş Değeri
Bir uygulama bu iletiyi işlerse sıfır olmayan bir değer döndürür; aksi takdirde 0.
Açıklamalar
OnNotify denetim bildirimi için ileti eşlemesini işler.
İletiyi işlemek WM_NOTIFY için türetilmiş sınıfınızdaki bu üye işlevini geçersiz kılın. Geçersiz kılma, temel sınıf OnNotify çağrılmadığı sürece ileti eşlemesini işlemez.
İleti hakkında WM_NOTIFY daha fazla bilgi için bkz. Teknik Not 61 (TN061) ON_NOTIFY ve WM_NOTIFY iletiler. Denetim Konuları ve Windows Denetimleri için İleti Yansıması TN062'de açıklanan ilgili konular da ilginizi çekebilir.
CWnd::OnNotifyFormat
Çerçeve, geçerli pencerenin bildirim iletisinde ANSI veya Unicode yapılarını WM_NOTIFY kabullenip kabul etmediğini belirlemek için bu üye işlevini çağırır.
afx_msg UINT OnNotifyFormat(
CWnd* pWnd,
UINT nCommand);
Parametreler
pWnd
[in] İletiyi gönderen pencereyi temsil eden bir CWnd nesne işaretçisi WM_NOTIFY . Bu parametre, parametresi NF_QUERYise denetimin nCommand işaretçisidir veya ise nCommand denetimin üst penceresine işaret eden işaretçidirNF_REQUERY.
nCommand
[in] İletiyi WM_NOTIFY özel alan bir komut değeri. Olası değerler:
NF_QUERY- İleti, iletilerdeWM_NOTIFYANSI veya Unicode yapılarının kullanılması gerekip gerekmediğini belirleyen bir sorgudur. Bu ileti, bir denetimin oluşturulması sırasında ve bu iletinin biçimine yanıt olarak bir denetimden üst penceresineNF_REQUERYgönderilir.NF_REQUERY- İleti, bir denetimin bu iletininNF_QUERYbiçimini üst penceresine gönderme isteğidir. Bu istek üst pencereden gönderilir ve denetimden iletilerdeWM_NOTIFYkullanılacak yapı türü hakkında üst öğeyi yeniden sorgulamasını ister.nCommandparametresi iseNF_REQUERY, dönüş değeri yeniden sorgulama işleminin sonucudur.
Dönüş Değeri
| Dönüş değeri | Anlamı |
|---|---|
NFR_ANSI |
ANSI yapıları, denetim tarafından gönderilen iletilerde WM_NOTIFY kullanılmalıdır. |
NFR_UNICODE |
Unicode yapıları, denetim tarafından gönderilen iletilerde WM_NOTIFY kullanılmalıdır. |
| 0 | Bir hata oluştu. |
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_NOTIFYFORMAT . WM_NOTIFY iletileri ortak bir denetimden üst penceresine ve üst pencereden ortak denetime gönderilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnPaint
Windows veya bir uygulama bir uygulama penceresinin bir bölümünü yeniden boyama isteğinde bulunduğunda çerçeve bu üye işlevini çağırır.
afx_msg void OnPaint();
Açıklamalar
veya WM_PAINT RedrawWindow üye işlevi çağrıldığında UpdateWindow ileti gönderilir.
Bir pencere, üye işlevini bayrak kümesiyle RDW_INTERNALPAINT çağırmanın RedrawWindow bir sonucu olarak iç boya iletileri alabilir. Bu durumda, pencerenin bir güncelleştirme bölgesi olmayabilir. Bir uygulama, pencerenin bir güncelleştirme bölgesi olup olmadığını belirlemek için üye işlevini çağırmalıdır GetUpdateRect . 0 döndürürseGetUpdateRect, uygulama ve EndPaint üye işlevlerini çağırmamalıdırBeginPaint.
Bir iletinin nedeni hem geçersiz bir alan hem de bayrak kümesine sahip üye işlevine RDW_INTERNALPAINT yapılan bir çağrı RedrawWindow olabileceğindenWM_PAINT, her WM_PAINT ileti için iç veri yapılarına bakarak gerekli iç boyama veya güncelleştirmeleri denetlemek bir uygulamanın sorumluluğudur.
WM_PAINT İç ileti Windows tarafından yalnızca bir kez gönderilir. Üye işlevi tarafından UpdateWindow bir WM_PAINT iç ileti bir pencereye gönderildikten sonra, pencere geçersiz kılınana veya üye işlevi bayrak kümesiyle RDW_INTERNALPAINT yeniden çağrılana RedrawWindow kadar başka WM_PAINT ileti gönderilmez veya gönderilmez.
Belge/görünüm uygulamalarında görüntü işleme hakkında bilgi için bkz CView::OnDraw. .
kullanma WM_Painthakkında daha fazla bilgi için Windows SDK'sında aşağıdaki konulara bakın:
CWnd::OnPaintClipboard
Pano sahibi Verileri Pano'ya OnPaintClipboard biçiminde yerleştirdiğinde CF_OWNERDISPLAY ve Pano görüntüleyicisinin istemci alanının yeniden boyanması gerektiğinde Pano sahibinin üye işlevi Pano görüntüleyicisi tarafından çağrılır.
afx_msg void OnPaintClipboard(
CWnd* pClipAppWnd,
HGLOBAL hPaintStruct);
Parametreler
pClipAppWnd
Pano uygulaması penceresinin işaretçisini belirtir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
hPaintStruct
İstemci alanının hangi bölümünün boyandığını tanımlayan bir PAINTSTRUCT veri yapısı tanımlar.
Açıklamalar
İstemci alanının tamamının mı yoksa yalnızca bir kısmının mı yeniden boyanması gerektiğini belirlemek için Pano sahibinin, yapı üyesinde rcpaint PAINTSTRUCT verilen çizim alanının boyutlarını en son OnSizeClipboard üye işlev çağrısında verilen boyutlarla karşılaştırması gerekir.
OnPaintClipboardveri yapısını içeren PAINTSTRUCT belleği kilitlemek için Windows işlevini kullanmalıdır GlobalLock ve çıkmadan önce Windows işleviyle bu belleğin GlobalUnlock kilidini açmalıdır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnPaletteChanged
Giriş odağını içeren pencere mantıksal paletini gerçekleştirdikten sonra çerçeve, tüm üst düzey pencereler için bu üye işlevini çağırır ve böylece sistem paletini değiştirir.
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
Parametreler
pFocusWnd
Sistem paletinin değişmesine neden olan pencere işaretçisini belirtir. İşaretçi geçici olabilir ve depolanmamalıdır.
Açıklamalar
Bu çağrı, mantıksal paletlerini gerçekleştirmek ve istemci alanını güncelleştirmek için renk paleti kullanan giriş odağı olmayan bir pencere sağlar.
OnPaletteChanged Üye işlevi, sistem paletini değiştiren ve iletinin gönderilmesine neden WM_PALETTECHANGED olan pencere de dahil olmak üzere tüm üst düzey ve çakışan pencereler için çağrılır. Herhangi bir alt pencere renk paleti kullanıyorsa, bu ileti ona geçirilmelidir.
Sonsuz döngüden kaçınmak için pencere, kendisine yönelik bir işaretçi içermediğini belirlemediği pFocusWnd sürece paletini fark etmemelidir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnPaletteIsChanging
Çerçeve, bir uygulamanın mantıksal paletini gerçekleştireceğini uygulamalara bildirmek için bu üye işlevini çağırır.
afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);
Parametreler
pRealizeWnd
Mantıksal paletini gerçekleştirmek üzere olan pencereyi belirtir.
Açıklamalar
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnParentNotify
Bir üst öğenin OnParentNotify üye işlevi, alt penceresi oluşturulduğunda veya yok edildiğinde veya kullanıcı imleç alt pencerenin üzerindeyken fare düğmesine tıkladığında çerçeve tarafından çağrılır.
afx_msg void OnParentNotify(
UINT message,
LPARAM lParam);
Parametreler
message
Üst öğeye bildirimde bulunulan olayı ve alt pencerenin tanımlayıcısını belirtir. Olay, düşük sıralı sözcüğüdür message. Olay veya WM_DESTROYiseWM_CREATE, öğesinin yüksek sıralı sözcüğü message alt pencerenin tanımlayıcısıdır; aksi takdirde, yüksek sıralı sözcük tanımsız olur. Olay (düşük sıralı sözcüğü message) şu değerlerden herhangi biri olabilir:
WM_CREATEAlt pencere oluşturuluyor.WM_DESTROYAlt pencere yok ediliyor.WM_LBUTTONDOWNKullanıcı fare imlecini alt pencerenin üzerine yerleştirmiş ve sol fare düğmesine tıklamıştır.WM_MBUTTONDOWNKullanıcı fare imlecini alt pencerenin üzerine yerleştirmiş ve ortadaki fare düğmesine tıklamıştır.WM_RBUTTONDOWNKullanıcı fare imlecini alt pencerenin üzerine yerleştirmiş ve sağ fare düğmesine tıklamıştır.
lParam
öğesinin olayı (düşük sıralı sözcük) message veya WM_DESTROYlParam iseWM_CREATE, alt pencerenin pencere tutamacını belirtir; aksi takdirde lParam imlecin x ve y koordinatlarını içerir. X koordinatı düşük sıralı sözcükte, y koordinatı ise yüksek sıralı sözcüktedir.
Açıklamalar
Alt pencere oluşturulduğunda sistem, pencereyi oluşturan üye işlevi döndürülmeden hemen önce Create çağrırOnParentNotify. Alt pencere yok edilirken, sistem pencereyi yok etmek için herhangi bir işlem gerçekleşmeden önce çağırır OnParentNotify .
OnParentNotify , üst düzey pencere de dahil olmak üzere alt pencerenin tüm üst pencereleri için çağrılır.
Stili olanlar WS_EX_NOPARENTNOTIFY dışındaki tüm alt pencereler bu iletiyi üst pencerelerine gönderir. Varsayılan olarak, üye işlevi çağrılarak alt pencere bu stil olmadan oluşturulmadığı sürece, iletişim kutusundaki alt pencereler stile CreateEx sahiptirWS_EX_NOPARENTNOTIFY.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnPowerBroadcast
Bir güç yönetimi olayı gerçekleştiğinde çerçeve bu üye işlevini çağırır.
afx_msg UINT OnPowerBroadcast(
UINT nPowerEvent,
UINT nEventData);
Parametreler
nPowerEvent
[in] Güç yönetimi olayı.
nEventData
[in] Olaya özgü veriler.
Dönüş Değeri
Olay bir istekse isteği vermek veya BROADCAST_QUERY_DENY isteği reddetmek için geri dönünTRUE.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan iletiyi alır WM_POWERBROADCAST .
nPowerEvent parametresi pil gücünün düşük olması, güç durumunun değişmesi, askıya alma izninin istenmesi veya reddedilmesi, bir olayın ardından işlemin otomatik olarak devam ettirilmesi, sistemin işlemi askıya alması veya askıya alındıktan sonra bir işlemin devam ettirilmesi gibi olayları belirtir. nEventData parametresi genellikle kullanılmaz. Daha fazla bilgi için iletinin wParam ve lParam parametrelerine WM_POWERBROADCAST bakın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnQueryDragIcon
Çerçeve, sınıfı için tanımlanmış bir simge içermeyen simge durumuna küçültülmüş (simgesel) bir pencereyle bu üye işlevini çağırır.
afx_msg HCURSOR OnQueryDragIcon();
Dönüş Değeri
Düşük sıralı sözcükte imleç veya simge tutamacını içeren çift sözcüklü değer. İmleç veya simge, görüntü sürücüsünün çözünürlüğüyle uyumlu olmalıdır. Uygulama döndürürse NULL, sistem varsayılan imleci görüntüler. Varsayılan dönüş değeri şeklindedir NULL.
Açıklamalar
Sistem, kullanıcı simge durumuna küçültülmüş pencereyi sürüklerken görüntülenecek imleci almak için bu çağrıyı yapar. Bir uygulama simgenin veya imlecin tutamacını döndürürse, sistem bunu siyah beyaza dönüştürür. Bir uygulama tanıtıcı döndürürse, tanıtıcının görüntü sürücüsünün çözünürlüğüyle uyumlu tek renkli bir imleç veya simge tanımlaması gerekir. Uygulama, yürütülebilir dosyasındaki CWinApp::LoadCursor kaynaklardan bir imleç veya simge yüklemek ve bu tanıtıcıyı almak için veya CWinApp::LoadIcon üye işlevlerini çağırabilir.
CWnd::OnQueryEndSession
Kullanıcı Windows oturumunu sonlandırmayı seçtiğinde veya bir uygulama Windows işlevini çağırdığında çerçeve bu üye işlevini çağırır ExitWindows .
afx_msg BOOL OnQueryEndSession();
Dönüş Değeri
Bir uygulama rahatça kapatılabilirse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Herhangi bir uygulama 0 döndürürse Windows oturumu sona ermez. Windows, bir uygulama 0 döndürür döndürmez çağrıyı OnQueryEndSession durdurur ve sıfır olmayan bir uygulama için parametre değeri FALSE içeren iletiyi gönderirWM_ENDSESSION.
CWnd::OnQueryNewPalette
Çerçeve, nesne giriş odağını almak üzereyken CWnd bu üye işlevini çağırır ve odağı aldığında mantıksal paletini gerçekleştirme fırsatı verir CWnd .
afx_msg BOOL OnQueryNewPalette();
Dönüş Değeri
mantıksal paletini CWnd gerçekleştiriyorsa sıfır olmayan; aksi takdirde 0.
CWnd::OnQueryOpen
Nesne simge durumuna küçültüldüğünde CWnd ve kullanıcı, öğesinin baskın boyutuna ve konumuna geri yüklenmesini istediğinde CWnd çerçeve bu üye işlevini çağırır.
afx_msg BOOL OnQueryOpen();
Dönüş Değeri
Simge açılabilirse sıfır olmayan veya simgenin açılmasını önlemek için 0.
Açıklamalar
içindeykenOnQueryOpenCWnd, etkinleştirme veya odak değişikliğine neden olacak herhangi bir eylem gerçekleştirmemelidir (örneğin, bir iletişim kutusu oluşturma).
CWnd::OnQueryUIState
Bir pencerenin kullanıcı arabirimi (UI) durumunu almak için çağrılır.
afx_msg UINT OnQueryUIState();
Dönüş Değeri
Dönüş değeri, NULL odak göstergelerinin ve klavye hızlandırıcılarının görünür olmasıdır. Aksi takdirde, dönüş değeri aşağıdaki değerlerden biri veya daha fazlası olabilir:
UISF_HIDEFOCUSOdak göstergeleri gizlidir.UISF_HIDEACCELKlavye hızlandırıcıları gizlenir.UISF_ACTIVEWindows XP: Etkin denetimler için kullanılan stilde bir denetim çizilmelidir.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin WM_QUERYUISTATE işlevselliğine öykünmektedir.
CWnd::OnRawInput
Geçerli pencere ham giriş aldığında çerçeve bu üye işlevini çağırır.
afx_msg void OnRawInput(
UINT nInputCode,
HRAWINPUT hRawInput);
Parametreler
nInputCode
[in] Girişin uygulama ön plandayken oluşup oluşmadığını gösteren giriş kodu. Her iki durumda da sistemin temizleme yapabilmesi için uygulamanın çağrısı CWnd::DefWindowProc gerekir. Bu parametre aşağıdaki değerlerden biri olabilir:
RIM_INPUT- Uygulama ön plandayken giriş oluştu.RIM_INPUTSINK- Uygulama ön planda değilken giriş oluştu.
hRawInput
[in] Cihazdan ham girişi içeren bir RAWINPUT yapıya tanıtın.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_INPUT .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnRButtonDblClk
Kullanıcı sağ fare düğmesine çift tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnRButtonDblClk(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun devre dışı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrta fare düğmesinin aşağı olup olmadığını ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatlarını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Yalnızca CS_DBLCLKS WNDCLASS stiline sahip pencereler çağrı alabilir OnRButtonDblClk . Bu, Microsoft Foundation Sınıf Kitaplığı içindeki pencereler için varsayılan değerdir. Kullanıcı basıldığında, serbest bırakıldığında ve ardından sistemin çift tıklama süresi sınırındaki sağ fare düğmesine tekrar bastığında Windows çağrır OnRButtonDblClk . Sağ fare düğmesine çift tıklandığında aslında dört olay oluşturulur: WM_RBUTTONDOWN WM_RBUTTONUP ve iletiler, OnRButtonDblClk arama ve düğme serbest bırakıldığında başka bir WM_RBUTTONUP iletisi.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnRButtonDown
Kullanıcı sağ fare düğmesine bastığında çerçeve bu üye işlevini çağırır.
afx_msg void OnRButtonDown(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun devre dışı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrta fare düğmesinin aşağı olup olmadığını ayarlayın.MK_RBUTTONSağ fare düğmesi aşağıysa ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatlarını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnRButtonUp
Kullanıcı sağ fare düğmesini serbest bıraktığında çerçeve bu üye işlevini çağırır.
afx_msg void OnRButtonUp(
UINT nFlags,
CPoint point);
Parametreler
nFlags
Çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerin herhangi bir bileşimi olabilir:
MK_CONTROLCTRL tuşunun devre dışı olup olmadığını ayarlayın.MK_LBUTTONSol fare düğmesi aşağıysa ayarlayın.MK_MBUTTONOrta fare düğmesinin aşağı olup olmadığını ayarlayın.MK_SHIFTSHIFT tuşunun devre dışı olup olmadığını ayarlayın.
point
İmlecin x ve y koordinatlarını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir.
Açıklamalar
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnRegisteredMouseWheel
Kullanıcı fare tekerleğini döndürdükçe ve tekerleğin bir sonraki çentiğiyle karşılaştığında çerçeve bu üye işlevini çağırır.
afx_msg LRESULT OnRegisteredMouseWheel(
WPARAM wParam,
LPARAM lParam);
Parametreler
wParam
İşaretçinin yatay konumu.
lParam
İşaretçinin dikey konumu.
Dönüş Değeri
Şu anda önemsiz. Her zaman sıfır.
Açıklamalar
Geçersiz kılınmadığı sürece, OnRegisteredMouseWheel iletiyi uygun pencereye (odaklı üst pencere) yönlendirir ve bu pencere için işleyiciyi WM_MOUSEWHEEL çağırır.
Kendi ileti yönlendirmenizi sağlamak veya fare tekerleği kaydırma davranışını değiştirmek için bu üye işlevini geçersiz kılın.
Not
OnRegisteredMouseWheel Windows 95/98 ve Windows NT 3.51 için iletileri işler. Windows NT 4.0 ileti işleme için kullanın OnMouseWheel.
CWnd::OnRenderAllFormats
Pano sahibinin OnRenderAllFormats üye işlevi, sahip uygulaması yok edilirken çerçeve tarafından çağrılır.
afx_msg void OnRenderAllFormats();
Açıklamalar
Pano sahibi, verileri oluşturabileceğinden tüm biçimlerde işlemeli ve Windows işlevini çağırarak her biçim için bir veri tutamacını Pano'ya SetClipboardData geçirmelidir. Bu, verileri işleyen uygulama yok edilmiş olsa bile Pano'da geçerli veriler olmasını sağlar. Uygulama, Windows işlevini çağırmadan SetClipboardData önce üye işlevini çağırmalı OpenClipboard ve daha sonra Windows işlevini çağırmalıdırCloseClipboard.
CWnd::OnRenderFormat
Gecikmeli işlemeye sahip belirli bir biçimin işlenmesi gerektiğinde Pano sahibinin OnRenderFormat üye işlevi çerçeve tarafından çağrılır.
afx_msg void OnRenderFormat(UINT nFormat);
Parametreler
nFormat
Pano biçimini belirtir.
Açıklamalar
Alıcı verileri bu biçimde işlemeli ve Windows işlevini çağırarak Pano'ya SetClipboardData geçirmelidir.
içinden üye işlevini veya CloseClipboard Windows işlevini OnRenderFormatçağırmayınOpenClipboard.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSessionChange
Çerçeve, bir uygulamaya oturum durumundaki bir değişikliği bildirmek için bu üye işlevini çağırır.
afx_msg void OnSessionChange(
UINT nSessionState,
UINT nId);
Parametreler
nSessionState
[in] Durum kodu, oturum durumu değişikliğini açıklar.
nId
[in] Oturum tanımlayıcısı.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_WTSSESSION_CHANGE .
nSessionState parametresi, bir oturumun konsola veya uzak terminale bağlı olduğunu veya bağlantısının kesildiğini, oturum açmış veya kapatılmış bir kullanıcının, oturumun kilitlendiğini veya kilidinin açıldığını ya da oturumun uzaktan denetimli duruma değiştiğini belirtir. Daha fazla bilgi için iletinin wParam parametresine WM_WTSSESSION_CHANGE bakın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSetCursor
Fare girişi yakalanmazsa ve fare nesne içinde CWnd imleç hareketlerine neden olursa çerçeve bu üye işlevini çağırır.
afx_msg BOOL OnSetCursor(
CWnd* pWnd,
UINT nHitTest,
UINT message);
Parametreler
pWnd
İmleci içeren pencerenin işaretçisini belirtir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
nHitTest
İsabet testi alan kodunu belirtir. İsabet testi imlecin konumunu belirler.
message
Fare ileti numarasını belirtir.
Dönüş Değeri
Daha fazla işlemeyi durdurmak için sıfır olmayan veya devam etmek için 0.
Açıklamalar
Varsayılan uygulama, işlemden önce üst pencerenin penceresini OnSetCursor çağırır. Üst pencere döndürürse TRUE, daha fazla işlem durdurulmuş olur. Üst pencereyi çağırmak, üst pencereye alt penceredeki imlecin ayarı üzerinde denetim sağlar.
Varsayılan uygulama, istemci alanında değilse imleci bir oka veya varsa kayıtlı sınıf imlecine ayarlar.
HTERROR message ve bir fare düğme aşağı iletisiysenHitTest, MessageBeep üye işlevi çağrılır.
menü moduna girildiğinde CWnd ileti parametresi 0'dır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSetFocus
Çerçeve, giriş odağını kazandıktan sonra bu üye işlevini çağırır.
afx_msg void OnSetFocus(CWnd* pOldWnd);
Parametreler
pOldWnd
CWnd Giriş odağını kaybeden nesneyi içerir (olabilirNULL). İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
Bir şapka işareti görüntülemek için bu CWnd noktada uygun şapka işareti işlevlerini çağırmalıdır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSettingChange
Win32 SystemParametersInfo işlevi sistem genelindeki bir ayarı değiştirdiğinde çerçeve tüm üst düzey pencereleri çağırır OnSettingChange .
afx_msg void OnSettingChange(
UINT uFlags,
LPCTSTR lpszSection);
Parametreler
uFlags
Sistem bir SystemParametersInfo çağrının sonucu olarak iletiyi gönderdiğinde, bu parametre değiştirilen sistem parametresini gösteren bir bayraktır. Değerlerin listesi için Bkz SystemParametersInfo . Windows SDK'sında. Bir uygulama iletiyi gönderdiğinde, bu parametre 0 olmalıdır.
lpszSection
Değiştirilen bölümün adını belirten bir dizeye işaret eder. (Dize, bölüm adını kapsayan köşeli ayraçları içermez.)
Açıklamalar
Bir uygulama sistem parametrelerinde değişiklik yaptığında iletiyi tüm üst düzey pencerelere göndermelidir ve kullanıcı Denetim Masası aracılığıyla ayarları değiştirirse Windows iletiyi gönderir.
İleti ON_WM_SETTINGCHANGE , aşağıdaki farkla iletiye benzer ON_WM_WININICHANGE :
Windows NT 4.0 veya daha yeni bir sürümünü veya Windows 95/98 altında çalıştırırken kullanın
ON_WM_SETTINGCHANGE.Windows NT 3.51 veya üzerini çalıştırırken kullanın
ON_WININICHANGE. Bu ileti artık kullanımdan kaldırıldı.
İleti eşlemenizde bu makrolardan yalnızca biri olmalıdır. Hem Windows 95/98 hem de Windows NT 4.0 için çalışan bir program yazmak için için ON_WM_SETTINGCHANGEbir işleyici yazın. Windows NT 3.51 altında işleyiciniz tarafından OnSettingChange uFlags çağrılır ve her zaman sıfır olur.
CWnd::OnShowWindow
Nesne gizlenmek CWnd veya gösterilmek üzere olduğunda çerçeve bu üye işlevini çağırır.
afx_msg void OnShowWindow(
BOOL bShow,
UINT nStatus);
Parametreler
bShow
Bir pencerenin gösterilip gösterilmediğini belirtir. TRUE Pencere gösteriliyorsaFALSE, pencere gizleniyorsa gösterilir.
nStatus
Gösterilen pencerenin durumunu belirtir. İleti bir ShowWindow üye işlev çağrısı nedeniyle gönderilirse 0'dır; aksi takdirde nStatus aşağıdakilerden biridir:
SW_PARENTCLOSINGÜst pencere kapatılıyor (simgesel hale getiriliyor) veya bir açılır pencere gizleniyor.SW_PARENTOPENINGÜst pencere açılıyor (görüntüleniyor) veya bir açılır pencere gösteriliyor.
Açıklamalar
Bir pencere gizlenir ShowWindow veya üye işlevi çağrıldığında, çakışan bir pencere ekranı kapladığında veya geri yüklendiğinde ya da çakışan veya açılır pencere kapatıldığında (simge haline getirildiğinde) veya açıldığında (ekranda görüntülenir) gösterilir. Çakışan bir pencere kapatıldığında, bu pencereyle ilişkili tüm açılır pencereler gizlenir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSize
Çerçeve, pencerenin boyutu değiştikten sonra bu üye işlevini çağırır.
afx_msg void OnSize(
UINT nType,
int cx,
int cy);
Parametreler
nType
İstenen yeniden boyutlandırma türünü belirtir. Bu parametre aşağıdaki değerlerden biri olabilir:
SIZE_MAXIMIZEDPencere ekranı kaplamış.SIZE_MINIMIZEDPencere simge durumuna küçültüldü.SIZE_RESTOREDPencere yeniden boyutlandırıldı, ancak ne uygulanıyor ne deSIZE_MINIMIZEDSIZE_MAXIMIZEDuygulanıyor.SIZE_MAXHIDEİleti, başka bir pencere ekranı kapladığında tüm açılır pencerelere gönderilir.SIZE_MAXSHOWİleti, başka bir pencere eski boyutuna geri yüklendiğinde tüm açılır pencerelere gönderilir.
cx
İstemci alanının yeni genişliğini belirtir.
cy
İstemci alanının yeni yüksekliğini belirtir.
Açıklamalar
veya üye işlevi öğesinden bRedraw OnSizebir alt pencere için çağrılırsa, parametresinin SetScrollPos yeniden boyanmasına CWnd neden olması için veya MoveWindow parametresi sıfır olmayan olmalıdır.MoveWindow SetScrollPos
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
Örnek
// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// Resize edit to fill the whole view.
// OnSize can be called before OnInitialUpdate
// so make sure the edit control has been created.
if (::IsWindow(m_Edit.GetSafeHwnd()))
{
m_Edit.MoveWindow(0, 0, cx, cy);
}
}
CWnd::OnSizeClipboard
Pano özniteliğine sahip CF_OWNERDISPLAY veriler içerdiğinde ve Pano görüntüleyici penceresinin istemci alanının boyutu değiştiğinde Pano sahibinin OnSizeClipboard üye işlevi Pano görüntüleyicisi tarafından çağrılır.
afx_msg void OnSizeClipboard(
CWnd* pClipAppWnd,
HGLOBAL hRect);
Parametreler
pClipAppWnd
Pano uygulaması penceresini tanımlar. İşaretçi geçici olabilir ve depolanmamalıdır.
hRect
Genel bellek nesnesini tanımlar. Bellek nesnesi, Pano sahibinin boyayabilecek alanını belirten bir RECT veri yapısı içerir.
Açıklamalar
OnSizeClipboard Üye işlevi, Pano uygulaması yok edilmek veya simge durumuna küçültülmek üzere olduğunda yeni boyut olarak null dikdörtgen (0,0,0,0) ile çağrılır. Bu, Pano sahibinin görüntüleme kaynaklarını boşaltmasına izin verir.
içinde OnSizeClipboardbir uygulama, veri yapısını içeren RECT belleği kilitlemek için Windows işlevini kullanmalıdırGlobalLock. Uygulamanın denetimi vermeden veya döndürmeden önce Windows işleviyle GlobalUnlock bu belleğin kilidini açmasını sağlayın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSizing
Çerçeve, kullanıcının dikdörtgeni yeniden boyutlandırdığını belirtmek için bu üye işlevini çağırır.
afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect);
Parametreler
nSide
Taşınacak pencerenin kenarı.
lpRect
CRect Öğenin koordinatlarını içerecek veya RECT yapısının adresi.
Açıklamalar
Bir uygulama bu iletiyi işleyerek sürükleme dikdörtgeninin boyutunu ve konumunu izleyebilir ve gerekirse boyutunu veya konumunu değiştirebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
Örnek
void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
CMDIChildWnd::OnSizing(fwSide, pRect);
// Resize the splitter window in the frame. m_wndSplitter is of
// type CSplitterWnd
int nWidth = (pRect->right) - (pRect->left);
m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
m_wndSplitter.RecalcLayout();
}
CWnd::OnSpoolerStatus
Çerçeve, Print Manager kuyruğuna bir iş eklendiğinde veya bu kuyruktan kaldırıldığında Print Manager'dan bu üye işlevini çağırır.
afx_msg void OnSpoolerStatus(
UINT nStatus,
UINT nJobs);
Parametreler
nStatus
bayrağını SP_JOBSTATUS belirtir.
nJobs
Yazdırma Yöneticisi kuyruğunda kalan iş sayısını belirtir.
Açıklamalar
Bu çağrı yalnızca bilgilendirme amaçlıdır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnStyleChanged
çerçeve, işlev pencerenin stillerinden birini veya daha fazlasını değiştirdikten sonra SetWindowLong bu üye işlevini çağırır.
afx_msg void OnStyleChanged(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parametreler
nStyleType
Pencerenin genişletilmiş veya var olmayan stillerinin değişip değişmediğini belirtir. Bu parametre aşağıdaki değerlerin bir bileşimi olabilir:
GWL_EXSTYLEPencerenin genişletilmiş stilleri değişti.GWL_STYLEPencerenin istenmeyen stilleri değişti.
lpStyleStruct
Pencere için yeni stilleri içeren bir STYLESTRUCT yapıyı gösterir. Bir uygulama stilleri inceleyebilir ancak değiştiremez.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnStyleChanging
çerçeve, işlev pencerenin stillerinden birini veya daha fazlasını değiştirmek üzereyken SetWindowLong bu üye işlevini çağırır.
afx_msg void OnStyleChanging(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parametreler
nStyleType
Pencerenin genişletilmiş veya var olmayan stillerinin değişip değişmediğini belirtir. Bu parametre aşağıdaki değerlerin bir bileşimi olabilir:
GWL_EXSTYLEPencerenin genişletilmiş stilleri değişti.GWL_STYLEPencerenin istenmeyen stilleri değişti.
lpStyleStruct
Pencere için yeni stilleri içeren bir STYLESTRUCT yapıyı gösterir. Bir uygulama stilleri inceleyebilir ve değiştirebilir.
Açıklamalar
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSysChar
Giriş odağı varsa ve WM_SYSKEYUP WM_SYSKEYDOWN iletileri çevrilirseCWnd, çerçeve bu üye işlevini çağırır.
afx_msg void OnSysChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Control-menu tuşunun ASCII karakterli anahtar kodunu belirtir.
nRepCnt
Yineleme sayısını, yani kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun kaç kez yinelendiğini belirtir.
nFlags
nFlags parametresi şu değerlere sahip olabilir:
| Değer | Anlamı |
|---|---|
| 0-15 | Yineleme sayısını belirtir. Değer, kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun kaç kez yinelenme sayısıdır. |
| 16-23 | Tarama kodunu belirtir. Değer, orijinal ekipman üreticisine (OEM) bağlıdır |
| 24 | Anahtarın gelişmiş bir 101 veya 102 tuşlu klavyede görünen sağ alt ve CTRL tuşları gibi genişletilmiş bir tuş olup olmadığını belirtir. Genişletilmiş anahtarsa değer 1'dir; aksi takdirde 0 olur. |
| 25-28 | Windows tarafından dahili olarak kullanılır. |
| 29 | Bağlam kodunu belirtir. Tuşa basıldığında ALT tuşu basılı tutulursa değer 1'dir; aksi takdirde, değer 0'dır. |
| 30 | Önceki anahtar durumunu belirtir. Değer, ileti gönderilmeden önce anahtarın kapanması durumunda 1 veya anahtar yukarı olduğunda 0 olur. |
| 31 | Geçiş durumunu belirtir. Anahtar serbest bırakılıyorsa değer 1 veya tuşa basılıyorsa 0 olur. |
Açıklamalar
Control-menu tuşunun sanal anahtar kodunu belirtir. (Standart sanal anahtar kodlarının listesi için bkz. Winuser.h)
Bağlam kodu 0 olduğunda, WM_SYSCHAR iletiyi Windows işlevine TranslateAccelerator iletebilir WM_SYSCHAR ve bu, bunu sistem karakter tuşu yerine normal bir anahtar iletisiymiş gibi işler. Bu, etkin pencere giriş odağına sahip olmasa bile hızlandırıcı anahtarlarının etkin pencereyle birlikte kullanılmasını sağlar.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler içinde nFlagsgenişletilmiş tuş bitini destekleyemeyebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSysColorChange
Çerçeve, sistem rengi ayarında bir değişiklik yapıldığında tüm üst düzey pencereler için bu üye işlevini çağırır.
afx_msg void OnSysColorChange();
Açıklamalar
Windows, sistem renk değişikliğinden etkilenen herhangi bir pencereyi çağırır OnSysColorChange .
Mevcut sistem renklerini kullanan fırçaları olan uygulamalar bu fırçaları silip yeni sistem renkleriyle yeniden oluşturmalıdır.
CWnd::OnSysCommand
Kullanıcı Denetim menüsünden bir komut seçtiğinde veya kullanıcı Ekranı Kapla veya Simge Durumuna Küçült düğmesini seçtiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnSysCommand(
UINT nID,
LPARAM lParam);
Parametreler
nID
İstenen sistem komutunun türünü belirtir. Bu parametre aşağıdaki değerlerden herhangi biri olabilir:
SC_CLOSECWndNesneyi kapatın.SC_HOTKEYUygulama tarafındanCWndbelirtilen kısayol anahtarıyla ilişkili nesneyi etkinleştirin. düşük sıralı sözcüğülParam, etkinleştirecek pencerenin öğesini tanımlarHWND.SC_HSCROLLYatay olarak kaydırın.SC_KEYMENUTuş vuruşu aracılığıyla menü alma.SC_MAXIMIZE(veyaSC_ZOOM) Nesneyi ekranı kaplaCWnd.SC_MINIMIZE(veyaSC_ICON) Nesneyi simge durumuna küçültünCWnd.SC_MOUSEMENUFare tıklaması ile menü alma.SC_MOVECWndNesneyi taşıyın.SC_NEXTWINDOWSonraki pencereye gitme.SC_PREVWINDOWÖnceki pencereye gitme.SC_RESTOREPencereyi normal konuma ve boyuta geri yükleyin.SC_SCREENSAVEDosyanın [boot] bölümünde belirtilen ekran koruyucu uygulamasını yürütürSYSTEM.INI.SC_SIZENesneyi boyutlandırınCWnd.SC_TASKLISTWindows Görev Yöneticisi uygulamasını yürütür veya etkinleştirir.SC_VSCROLLDikey olarak kaydırın.
lParam
Fareyle bir Control-menu komutu seçilirse, lParam imleç koordinatlarını içerir. Düşük sıralı sözcük x koordinatını, yüksek sıralı sözcük ise y koordinatını içerir. Aksi takdirde bu parametre kullanılmaz.
SC_HOTKEYUygulama tarafından belirtilen kısayol tuşuyla ilişkili pencereyi etkinleştirin. düşük sıralı sözcüğülParam, etkinleştirecek pencereyi tanımlar.SC_SCREENSAVEDenetim Masası Desktop bölümünde belirtilen ekran kaydetme uygulamasını yürütür.
Açıklamalar
Varsayılan olarak, OnSysCommand önceki tabloda belirtilen önceden tanımlanmış eylemler için Control-menu isteğini gerçekleştirir.
İletilerde WM_SYSCOMMAND , parametresinin dört düşük sıralı biti nID Windows tarafından dahili olarak kullanılır. Bir uygulama değerini nIDtest ettiğinde, doğru sonucu elde etmek için bit düzeyinde AND işlecini kullanarak 0xFFF0 değerini değerle nID birleştirmesi gerekir.
Denetim menüsündeki menü öğeleri , , AppendMenuInsertMenuve ModifyMenu üye işlevleriyle GetSystemMenudeğiştirilebilir. Denetim menüsünü değiştiren uygulamaların iletileri işlemesi WM_SYSCOMMAND ve WM_SYSCOMMAND uygulama tarafından işlenmeyen iletilerin uygulamasına OnSysCommandgeçirilmesi gerekir. Bir uygulama tarafından eklenen tüm komut değerleri uygulama tarafından işlenmelidir ve uygulamasına OnSysCommandgeçirilemez.
Bir uygulama herhangi bir zamanda bir ileti OnSysCommandileterek herhangi bir WM_SYSCOMMAND sistem komutunu gerçekleştirebilir.
Denetim menüsünden öğeleri seçmek için tanımlanan hızlandırıcı (kısayol) tuş vuruşları çağrılara OnSysCommand çevrilir; diğer tüm hızlandırıcı tuş vuruşları iletilere WM_COMMAND çevrilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSysDeadChar
veya OnSysKeyDown üye işlevi çağrıldığında OnSysKeyUp nesne giriş odağına sahipse CWnd çerçeve bu üye işlevini çağırır.
afx_msg void OnSysDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Ölü anahtar karakter değerini belirtir.
nRepCnt
Yineleme sayısını belirtir.
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Değer | Anlamı |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). Yüksek sıralı sözcüğün alt baytı. |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir anahtar gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1; aksi takdirde 0). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basıldığında ALT tuşu basılı tutulursa 1; aksi takdirde 0). |
| 14 | Önceki anahtar durumu (aramadan önce anahtar çalışmıyorsa 1, anahtar çalışır durumdaysa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
Açıklamalar
Ölü bir anahtarın karakter değerini belirtir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSysKeyDown
Nesne giriş odağına CWnd sahipse, OnSysKeyDown kullanıcı ALT tuşunu basılı tuttuğunda ve sonra başka bir tuşa bastığında üye işlevi çerçeve tarafından çağrılır.
afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Basılmakta olan anahtarın sanal anahtar kodunu belirtir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nRepCnt
Yineleme sayısını belirtir.
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Değer | Anlamı |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). Yüksek sıralı sözcüğün alt baytı. |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir anahtar gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1; aksi takdirde 0). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basılırken ALT tuşu basılı tutulursa 1, aksi takdirde 0). |
| 14 | Önceki anahtar durumu (ileti gönderilmeden önce anahtar çalışmıyorsa 1, anahtar çalışıyorsa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
Çağrılar için OnSysKeyDown anahtar geçişi biti (bit 15) 0'dır. Alt tuşuna basıldığında alt tuşu çalışmıyorsa bağlam kodu biti (bit 13) 1 olur; etkin pencereye ileti gönderilirse 0 olur çünkü hiçbir pencerede giriş odağı yoktur.
Açıklamalar
Şu anda giriş odağı olan bir pencere yoksa etkin pencerenin OnSysKeyDown üye işlevi çağrılır. İletiyi CWnd alan nesne, içindeki bağlam kodunu nFlagsdenetleyerek bu iki bağlamı ayırt edebilir.
Bağlam kodu 0 olduğunda, WM_SYSKEYDOWN tarafından OnSysKeyDown alınan ileti Windows işlevine TranslateAccelerator geçirilebilir ve bunu sistem anahtarı iletisi yerine normal bir anahtar iletisiymiş gibi işler. Bu, etkin pencere giriş odağına sahip olmasa bile hızlandırıcı anahtarlarının etkin pencereyle birlikte kullanılmasını sağlar.
Otomatik yineleme nedeniyle, ileti alınmadan önce WM_SYSKEYUP birden OnSysKeyDown fazla çağrı oluşabilir. Önceki anahtar durumu (bit 14), çağrının OnSysKeyDown ilk aşağı geçişi mi yoksa tekrarlanan aşağı geçişi mi gösterdiğini belirlemek için kullanılabilir.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, gelişmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler içinde nFlagsgenişletilmiş tuş bitini destekleyemeyebilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnSysKeyUp
CWnd Nesnenin odağı varsa, OnSysKeyUp kullanıcı ALT tuşu basılı tutulurken basılan bir anahtarı serbest bıraktığında üye işlevi çerçeve tarafından çağrılır.
afx_msg void OnSysKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
Basılmakta olan anahtarın sanal anahtar kodunu belirtir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nRepCnt
Yineleme sayısını belirtir.
nFlags
Aşağıdaki listede gösterildiği gibi tarama kodunu, anahtar geçiş kodunu, önceki anahtar durumunu ve bağlam kodunu belirtir:
| Değer | Anlamı |
|---|---|
| 0-7 | Tarama kodu (OEM'e bağımlı değer). Yüksek sıralı sözcüğün alt baytı. |
| 8 | İşlev tuşu veya sayısal tuş takımındaki bir anahtar gibi genişletilmiş anahtar (genişletilmiş anahtarsa 1; aksi takdirde 0). |
| 9-10 | Kullanılmadı. |
| 11-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodu (tuşa basılırken ALT tuşu basılı tutulursa 1, aksi takdirde 0). |
| 14 | Önceki anahtar durumu (ileti gönderilmeden önce anahtar çalışmıyorsa 1, anahtar çalışıyorsa 0). |
| 15 | Geçiş durumu (tuş serbest bırakılıyorsa 1, tuşa basılıyorsa 0). |
Çağrılar için OnSysKeyUp anahtar geçişi biti (bit 15) 1'dir. Alt tuşuna basıldığında alt tuşu çalışmıyorsa bağlam kodu biti (bit 13) 1 olur; etkin pencereye ileti gönderilirse 0 olur çünkü hiçbir pencerede giriş odağı yoktur.
Açıklamalar
Şu anda giriş odağı olan bir pencere yoksa etkin pencerenin OnSysKeyUp üye işlevi çağrılır. CWnd Çağrıyı alan nesne, içindeki bağlam kodunu nFlagsdenetleyerek bu iki bağlamı ayırt edebilir.
Bağlam kodu 0 olduğunda, WM_SYSKEYUP tarafından OnSysKeyUp alınan ileti Windows işlevine TranslateAccelerator geçirilebilir ve bunu sistem anahtarı iletisi yerine normal bir anahtar iletisiymiş gibi işler. Bu, etkin pencerede giriş odağı olmasa bile hızlandırıcı (kısayol) tuşlarının etkin pencereyle birlikte kullanılmasına olanak tanır.
IBM Enhanced 101 ve 102 tuşlu klavyeler için, iyileştirilmiş tuşlar klavyenin ana bölümünde sağ ALT ve sağ CTRL tuşlarıdır; sayısal tuş takımının solundaki kümelerdeki INS, DEL, HOME, END, PAGE UP, PAGE DOWN ve ok tuşları; ve sayısal tuş takımında eğik çizgi (/) ve ENTER tuşları. Diğer bazı klavyeler nFlags'da genişletilmiş tuş bitini destekleyebilebilir.
ABD dışındakiler için Gelişmiş 102 tuşlu klavyeler, sağ ALT tuşu CTRL+ALT tuş bileşimi olarak işlenir. Aşağıda, kullanıcı bu tuşa basıp bıraktığında elde edilen iletilerin ve çağrıların sırası gösterilmektedir:
| Sequence | İşleve Erişildi | İleti Geçirildi |
|---|---|---|
| 1. | WM_KEYDOWN |
VK_CONTROL |
| 2. | WM_KEYDOWN |
VK_MENU |
| 3. | WM_KEYUP |
VK_CONTROL |
| 4. | WM_SYSKEYUP |
VK_MENU |
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnTCard
Kullanıcı yazılabilir bir düğmeye tıkladığında çerçeve bu üye işlevini çağırır.
afx_msg void OnTCard(
UINT idAction,
DWORD dwActionData);
Parametreler
idAction
Kullanıcının gerçekleştirilen eylemi gösterir. Bu parametre şu değerlerden biri olabilir:
IDABORTKullanıcı yazılabilir bir İptal düğmesine tıkladı.IDCANCELKullanıcı yazılabilir bir İptal düğmesine tıkladı.IDCLOSEKullanıcı eğitim kartını kapattı.IDHELPKullanıcı yazılabilir bir Windows Yardımı düğmesine tıkladı.IDIGNOREKullanıcı yazılabilir bir Yoksay düğmesine tıkladı.IDOKKullanıcı yazılabilir bir Tamam düğmesine tıkladı.IDNOKullanıcı yazılabilir bir Hayır düğmesine tıkladı.IDRETRYKullanıcı yazılabilir bir Yeniden Deneme düğmesine tıkladı.HELP_TCARD_DATAKullanıcı yazılabilir bir düğmeye tıkladı. parametresi,dwActionDatayardım yazarı tarafından belirtilen uzun bir tamsayı içerir.HELP_TCARD_NEXTKullanıcı yazılabilir bir İleri düğmesine tıkladı.HELP_TCARD_OTHER_CALLERBaşka bir uygulama eğitim kartları istedi.IDYESKullanıcı yazılabilir bir Evet düğmesine tıkladı.
dwActionData
belirtirse idAction HELP_TCARD_DATA, bu parametre yardım yazarı tarafından belirtilen uzun bir tamsayıdır. Aksi takdirde, bu parametre sıfırdır.
Açıklamalar
Bu işlev yalnızca bir uygulama Windows Yardımı ile bir eğitim kartı başlattığında çağrılır. Bir uygulama, işlev çağrısında HELP_TCARD WinHelp komutunu belirterek bir eğitim kartı başlatır.
CWnd::OnTimeChange
Sistem saati değiştirildikten sonra çerçeve bu üye işlevini çağırır.
afx_msg void OnTimeChange();
Açıklamalar
Sistem saatini değiştiren herhangi bir uygulamanın bu iletiyi tüm üst düzey pencerelere göndermesini sağlayın. İletiyi WM_TIMECHANGE tüm üst düzey pencerelere göndermek için, bir uygulama parametresi olarak ayarlanmış HWND_BROADCASTwindows hwnd işlevini kullanabilirSendMessage.
CWnd::OnTimer
Çerçeve, bir zamanlayıcı yüklemek için kullanılan üye işlevinde belirtilen her aralık sonrasında SetTimer bu üye işlevini çağırır.
afx_msg void OnTimer(UINT_PTR nIDEvent);
Parametreler
nIDEvent
Zamanlayıcının tanımlayıcısını belirtir.
Açıklamalar
DispatchMessage Uygulamanın ileti kuyruğunda başka ileti olmadığında Windows işlevi bir WM_TIMER ileti gönderir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
Örnek
içindeki CWnd::SetTimerörne bakın.
CWnd::OnToolHitTest
Çerçeve, bir noktanın belirtilen aracın sınırlayıcı dikdörtgeninde olup olmadığını belirlemek için bu üye işlevini çağırır.
virtual INT_PTR OnToolHitTest(
CPoint point,
TOOLINFO* pTI) const;
Parametreler
point
İmlecin x ve y koordinatını belirtir. Bu koordinatlar her zaman pencerenin sol üst köşesine göredir
pTI
Bir yapıya işaretçi TOOLINFO . Aşağıdaki yapı değerleri varsayılan olarak ayarlanır:
hwnd=m_hWndPencere tutamacıuId=(UINT)hWndChildAlt pencere tutamacıuFlags|=TTF_IDISHWNDAracın tutamacılpszText=LPSTR_TEXTCALLBACKBelirtilen pencerede görüntülenecek dize işaretçisi
Dönüş Değeri
Araç ipucu denetimi bulunduysa, pencere denetim kimliği. Araç ipucu denetimi bulunamadıysa, -1.
Açıklamalar
Nokta dikdörtgendeyse, araç hakkındaki bilgileri alır.
Araç ipucunun ilişkilendirildiği alan bir düğme değilse, OnToolHitTest yapı bayraklarını ve TTF_CENTERTIPolarak TTF_NOTBUTTON ayarlar.
Varsayılanın sağladığından farklı bilgiler sağlamak için geçersiz kılın OnToolHitTest .
Yapı hakkında daha fazla bilgi için windows SDK'sında bölümüne bakın TOOLINFO.
CWnd::OnTouchInput
Windows touch'tan tek girişi işleme.
virtual BOOL OnTouchInput(
CPoint pt,
int nInputNumber,
int nInputsCount,
PTOUCHINPUT pInput);
Parametreler
pt
Ekrana dokunulduğu nokta (istemci koordinatlarında).
nInputNumber
Dokunma girişi sayısı.
nInputsCount
Toplam dokunma girişi sayısı.
pInput
Yapı işaretçisi TOUCHINPUT .
Dönüş Değeri
TRUE uygulama Windows dokunma girişini işliyorsa; aksi takdirde FALSE.
Açıklamalar
CWnd::OnTouchInputs
Windows touch'tan gelen girişleri işler.
virtual BOOL OnTouchInputs(
UINT nInputsCount,
PTOUCHINPUT pInputs);
Parametreler
nInputsCount
Toplam Windows dokunma girişi sayısı.
pInputs
dizisi.TOUCHINPUT
Dönüş Değeri
TRUE uygulama Windows dokunma girişlerini işliyorsa; aksi takdirde FALSE.
Açıklamalar
CWnd::OnUniChar
Bir tuşa basıldığında çerçeve bu üye işlevini çağırır. Diğer bir ifadeyle, geçerli pencerede klavye odağı bulunur ve bir WM_KEYDOWN ileti işlev tarafından çevrilir TranslateMessage .
afx_msg void OnUniChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parametreler
nChar
[in] Basılan tuşun karakter kodunu belirtir.
nRepCnt
[in] Geçerli ileti için yineleme sayısını belirtir. Değer, kullanıcının anahtarı basılı tutmasının sonucu olarak tuş vuruşunun otomatik olarak yeniden değerlenme sayısıdır. Tuş vuruşu yeterince uzun tutulursa, birden çok ileti gönderilir. Ancak yineleme sayısı kümülatif değildir.
nFlags
[in] Aşağıdaki tabloda gösterildiği gibi tarama kodunu, genişletilmiş anahtarı, bağlam kodunu, önceki anahtar durumunu ve geçiş durumunu belirten bayraklar:
| Bayrak bitleri | Açıklama |
|---|---|
| 0-7 | Tarama kodunu belirtir. Değer, özgün ekipman üreticisine (OEM) bağlıdır. |
| 8 | Gelişmiş bir 101 veya 102 tuşlu klavyede görünen sağ alt ve CTRL tuşları gibi genişletilmiş bir tuş belirtir. Anahtar genişletilmiş anahtarsa bayrak 1'dir; aksi takdirde 0 olur. |
| 9-12 | Windows tarafından dahili olarak kullanılır. |
| 13 | Bağlam kodunu belirtir. Tuşa basıldığında ALT tuşu basılı tutulursa bayrak 1 olur; aksi takdirde, değer 0'dır. |
| 14 Önceki anahtar durumunu belirtir. İleti gönderilmeden önce anahtar devre dışıysa bayrak 1, anahtar yukarıysa 0 olur. | |
| 15 | Geçiş durumunu belirtir. Bayrak, tuş serbest bırakılıyorsa 1 veya tuşa basılıyorsa 0 olur. |
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_UNICHAR . İleti, WM_UNICHAR ANSI pencerelerine Unicode karakterleri göndermek veya göndermek için tasarlanmıştır. İletiye WM_CHAR eşdeğerdir, ancak Unicode Dönüşüm Biçimi-32 kodlaması (UTF-32) kullanılırken WM_CHAR ileti UTF-16 kullanır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnUnInitMenuPopup
Bir açılan menü veya alt menü yok edildiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnUnInitMenuPopup(
CMenu* pPopupMenu,
UINT nFlags);
Parametreler
pMenu
[in] Menüyü CMenu veya alt menüyü temsil eden nesnenin işaretçisi.
nFlags
[in] Yok edilen menü. Şu anda yalnızca pencere menüsü olabilir. MF_SYSMENU
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_UNINITMENUPOPUP .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnUpdateUIState
Belirtilen pencerenin ve tüm alt pencerelerinin kullanıcı arabirimi (UI) durumunu değiştirmek için çağrılır.
afx_msg void OnUpdateUIState(
UINT nAction,
UINT nUIElement);
Parametreler
nAction
Gerçekleştirilecek eylemi belirtir. Aşağıdaki değerlerden biri olabilir:
UIS_CLEARKULLANıCı arabirimi durum öğesi (tarafındannUIElementbelirtilen) gizlenmelidir.UIS_INITIALIZEKullanıcı arabirimi durum öğesi (tarafındannUIElementbelirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüneWM_UPDATEISTATEbakın.UIS_SETKULLANıCı arabirimi durum öğesi (tarafındannUIElementbelirtilen) görünür olmalıdır.
nUIElement
Etkilenen kullanıcı arabirimi durum öğelerini veya denetimin stilini belirtir. Aşağıdaki değerlerden biri olabilir:
UISF_HIDEACCELKlavye hızlandırıcıları.UISF_HIDEFOCUSOdak göstergeleri.UISF_ACTIVEWindows XP: Etkin denetimler için kullanılan stilde bir denetim çizilmelidir.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin WM_UPDATEUISTATE işlevselliğine öykünmektedir.
CWnd::OnUserChanged
Çerçeve, kullanıcı oturum açtıktan veya kapattıktan sonra tüm pencereler için bu üyeyi çağırır.
afx_msg void OnUserChanged();
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_USERCHANGED . Kullanıcı oturum açtığında veya kapattığında, işletim sistemi kullanıcıya özgü ayarları güncelleştirir. Sistem, ayarları güncelleştirdikten hemen sonra bu iletiyi gönderir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnVKeyToItem
Nesne stile CWnd sahip bir liste kutusuna LBS_WANTKEYBOARDINPUT sahipse, liste kutusu iletiyi bir WM_KEYDOWN iletiye yanıt olarak gönderirWM_VKEYTOITEM.
afx_msg int OnVKeyToItem(
UINT nKey,
CListBox* pListBox,
UINT nIndex);
Parametreler
nKey
Kullanıcının bastığı anahtarın sanal anahtar kodunu belirtir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
pListBox
Liste kutusuna yönelik bir işaretçi belirtir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
nIndex
Geçerli şapka işaretinin konumunu belirtir.
Dönüş Değeri
Uygulamanın iletiye yanıt olarak gerçekleştirdiği eylemi belirtir. -2 dönüş değeri, uygulamanın öğeyi seçmenin tüm yönlerini işlediğini ve liste kutusu tarafından başka eylem gerektirmediğini gösterir. -1 dönüş değeri, liste kutusunun tuş vuruşlarına yanıt olarak varsayılan eylemi gerçekleştirmesi gerektiğini gösterir. 0 veya daha büyük bir dönüş değeri, liste kutusundaki bir öğenin sıfır tabanlı dizinini belirtir ve liste kutusunun verilen öğedeki tuş vuruşu için varsayılan eylemi gerçekleştirmesi gerektiğini belirtir.
Açıklamalar
Bu üye işlevi, çerçeve tarafından yalnızca stili olan liste kutuları için çağrılır LBS_HASSTRINGS .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnVScroll
Çerçeve, kullanıcı pencerenin dikey kaydırma çubuğuna tıkladığında bu üye işlevini çağırır.
afx_msg void OnVScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parametreler
nSBCode
Kullanıcının kaydırma isteğini gösteren bir kaydırma çubuğu kodu belirtir. Bu parametre aşağıdakilerden biri olabilir:
SB_BOTTOMEkranı en alta kaydırın.SB_ENDSCROLLBitiş kaydırması.SB_LINEDOWNBir satır aşağı kaydırın.SB_LINEUPBir satır yukarı kaydırın.SB_PAGEDOWNBir sayfa aşağı kaydırın.SB_PAGEUPBir sayfa yukarı kaydırın.SB_THUMBPOSITIONMutlak konuma kaydırın. Geçerli konum içindenPossağlanır.SB_THUMBTRACKKaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum içindenPossağlanır.SB_TOPEn üste kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION veya SB_THUMBTRACKdeğilse geçerli kaydırma kutusu konumunu içerir. İlk kaydırma aralığına bağlı olarak, nPos negatif olabilir ve gerekirse bir'e int atılmalıdır.
pScrollBar
Kaydırma iletisi bir kaydırma çubuğu denetiminden geldiyse, denetimin işaretçisini içerir. Kullanıcı bir pencerenin kaydırma çubuğuna tıkladıysa, bu parametre olur NULL. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
Açıklamalar
OnVScroll genellikle kaydırma kutusu sürüklenirken geri bildirimde bulunan uygulamalar tarafından kullanılır.
OnVScroll Nesnenin CWnd içeriğini kaydırırsa, üye işleviyle SetScrollPos birlikte kaydırma kutusunun konumunu da sıfırlaması gerekir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnVScrollClipboard
Pano verileri biçime sahip CF_OWNERDISPLAY olduğunda ve Pano görüntüleyicisinin dikey kaydırma çubuğunda bir olay olduğunda Pano sahibinin OnVScrollClipboard üye işlevi Pano görüntüleyicisi tarafından çağrılır.
afx_msg void OnVScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parametreler
pClipAppWnd
Pano görüntüleyici penceresinin işaretçisini belirtir. İşaretçi geçici olabilir ve daha sonra kullanılmak üzere depolanmamalıdır.
nSBCode
Aşağıdaki kaydırma çubuğu değerlerinden birini belirtir:
SB_BOTTOMEkranı en alta kaydırın.SB_ENDSCROLLBitiş kaydırması.SB_LINEDOWNBir satır aşağı kaydırın.SB_LINEUPBir satır yukarı kaydırın.SB_PAGEDOWNBir sayfa aşağı kaydırın.SB_PAGEUPBir sayfa yukarı kaydırın.SB_THUMBPOSITIONMutlak konuma kaydırın. Geçerli konum içindenPossağlanır.SB_TOPEn üste kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITIONise kaydırma kutusu konumunu içerir; aksi takdirde nPos kullanılmaz.
Açıklamalar
Sahibin Pano görüntüsünü kaydırması, uygun bölümü geçersiz kılması ve kaydırma çubuğu değerlerini güncelleştirmesi gerekir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnWindowMaximizedChanged
Çerçeve, geçerli pencere ekranı kapladığında ve pencere Masaüstü Pencere Yöneticisi (DWM) tarafından oluşturulduğunda bu üyeyi çağırır.
afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);
Parametreler
bIsMaximized
[in] TRUE geçerli pencere ekranı kaplamışsa ve FALSE değilse.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirim iletisini alır WM_DWMWINDOWMAXIMIZEDCHANGE .
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnWindowPosChanged
Üye işlevine veya başka bir pencere yönetimi işlevine SetWindowPos yapılan çağrı sonucunda boyut, konum veya Z sırası değiştiğinde çerçeve bu üye işlevini çağırır.
afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);
Parametreler
lpwndpos
Pencerenin yeni boyutu ve konumu hakkında bilgi içeren bir WINDOWPOS veri yapısını gösterir.
Açıklamalar
Varsayılan uygulama ve WM_MOVE iletilerini pencereye gönderirWM_SIZE. Bir uygulama, temel sınıfını çağırmadan çağrıyı OnWindowPosChanged işlerse bu iletiler gönderilmez. çağrısı sırasında OnWindowPosChanged temel sınıfını çağırmadan herhangi bir taşıma veya boyut değişiklik işlemini gerçekleştirmek daha verimlidir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnWindowPosChanging
Üye işlevine veya başka bir pencere yönetimi işlevine yapılan çağrının sonucu olarak boyut, konum veya Z sırası değişmek SetWindowPos üzereyken çerçeve bu üye işlevini çağırır.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
Parametreler
lpwndpos
Pencerenin yeni boyutu ve konumu hakkında bilgi içeren bir WINDOWPOS veri yapısını gösterir.
Açıklamalar
Bir uygulama, yapının üyesindeki WINDOWPOS uygun bitleri flags ayarlayarak veya temizleyerek pencerede değişiklik yapılmasını önleyebilir.
veya stiline WS_OVERLAPPED sahip bir pencere için, varsayılan uygulama pencereye bir WM_GETMINMAXINFO ileti WS_THICKFRAME gönderir. Bu, pencerenin yeni boyutunu ve konumunu doğrulamak ve ve CS_BYTEALIGN istemci stillerini zorlamak CS_BYTEALIGNCLIENT için yapılır. Bir uygulama, temel sınıfını çağırmayarak bu işlevselliği geçersiz kılabilir.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnWinIniChange
Çerçeve, Windows başlatma dosyasında WIN.INIbir değişiklik yapıldıktan sonra bu üye işlevini çağırır.
afx_msg void OnWinIniChange(LPCTSTR lpszSection);
Parametreler
lpszSection
Değiştirilen bölümün adını belirten bir dizeye işaret eder. (Dize, bölüm adını kapsayan köşeli ayraçları içermez.)
Açıklamalar
Windows SystemParametersInfo işlevi, bir uygulama dosyadaki WIN.INI bir ayarı değiştirmek için işlevini kullandıktan sonra çağırırOnWinIniChange.
İletiyi WM_WININICHANGE tüm üst düzey pencerelere göndermek için, bir uygulama parametresi olarak ayarlanmış HWND_BROADCASTwindows hwnd işlevini kullanabilirSendMessage.
Bir uygulama içinde WIN.INI birçok farklı bölümü aynı anda değiştirirse, uygulamanın olarak ayarlanmış NULLbir WM_WININICHANGE ileti lpszSection göndermesi gerekir. Aksi takdirde, bir uygulama her değişiklik WIN.INIyaptığında göndermelidirWM_WININICHANGE.
Bir uygulama olarak ayarlanmış NULLbir OnWinIniChange çağrı lpszSection alırsa, uygulama WIN'deki tüm bölümleri denetlemelidir. Uygulamayı etkileyen INI.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnWndMsg
Bu üye işlevi tarafından WindowProcçağrılır veya ileti yansıması sırasında çağrılır.
virtual BOOL OnWndMsg(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parametreler
message
Gönderilecek iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
pResult
değerinin WindowProcdönüş değeri. İletiye bağlıdır; olabilir NULL.
Dönüş Değeri
İleti işlendiyse TRUE; aksi takdirde YANLIŞ.
Açıklamalar
OnWndMsg ileti türünü belirler ve uygun çerçeve işlevini (örneğin, OnCommand için WM_COMMAND) çağırır veya ileti eşlemesinde uygun iletiyi bulur.
İleti yansıması hakkında daha fazla bilgi için bkz . Yansıtılan İletileri İşleme.
CWnd::OnXButtonDblClk
Kullanıcı çift tıkladığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci alanındayken çerçeve bu üye işlevini çağırır.
afx_msg void OnXButtonDblClk(
UINT nFlags,
UINT nButton,
CPoint point);
Parametreler
nFlags
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak bileşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir.
nButton
[in] XBUTTON1 İlk Microsoft Intellimouse X düğmesine çift tıklandığında veya ikinci X düğmesine çift tıklandığında XBUTTON2 değeri.
point
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_XBUTTONDBLCLK . Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
parametresi, nFlags aşağıdaki tabloda listelenen değiştirici anahtarların bir bileşimi olabilir. Daha fazla bilgi için bkz . Fare Girişi Hakkında.
| Değiştirici Anahtar | Açıklama |
|---|---|
MK_CONTROL |
CTRL tuşuna basılır. |
MK_LBUTTON |
Sol fare düğmesine basılır. |
MK_MBUTTON |
Ortadaki fare düğmesine basılır. |
MK_RBUTTON |
Sağ fare düğmesine basılır. |
MK_SHIFT |
SHIFT tuşuna basılır. |
MK_XBUTTON1 |
XBUTTON1 Microsoft IntelliMouse'un fare düğmesine basılır. |
MK_XBUTTON2 |
XBUTTON2 Microsoft IntelliMouse'un fare düğmesine basılır. |
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnXButtonDown
Kullanıcı bastığında XBUTTON1 veya XBUTTON2 imleç bir pencerenin istemci alanındayken çerçeve bu üye işlevini çağırır.
afx_msg void OnXButtonDown(
UINT nFlags,
UINT nButton,
CPoint point);
Parametreler
nFlags
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak bileşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir.
nButton
[in] XBUTTON1 İlk Microsoft Intellimouse X düğmesine tıklandıysa veya XBUTTON2 ikinci X düğmesine tıklandıysa değeri.
point
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_XBUTTONDOWN . Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
parametresi, nFlags aşağıdaki tabloda listelenen değiştirici anahtarların bir bileşimi olabilir. Daha fazla bilgi için bkz . Fare Girişi Hakkında.
| Değiştirici Anahtar | Açıklama |
|---|---|
MK_CONTROL |
CTRL tuşuna basılır. |
MK_LBUTTON |
Sol fare düğmesine basılır. |
MK_MBUTTON |
Ortadaki fare düğmesine basılır. |
MK_RBUTTON |
Sağ fare düğmesine basılır. |
MK_SHIFT |
SHIFT tuşuna basılır. |
MK_XBUTTON1 |
XBUTTON1 Microsoft IntelliMouse'un fare düğmesine basılır. |
MK_XBUTTON2 |
XBUTTON2 Microsoft IntelliMouse'un fare düğmesine basılır. |
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnXButtonUp
Çerçeve, kullanıcı serbest XBUTTON1 bırakıldığında veya XBUTTON2 imleç bir pencerenin istemci alanındayken bu üye işlevini çağırır.
afx_msg void OnXButtonUp(
UINT nFlags,
UINT nButton,
CPoint point);
Parametreler
nFlags
[in] Hangi değiştirici tuşlara basıldığını gösteren bit düzeyinde bir bayrak bileşimi (OR). Örneğin, MK_CONTROL bayrağı CTRL tuşuna basıldığını gösterir.
nButton
[in] XBUTTON1 İlk Microsoft Intellimouse X düğmesine çift tıklandıysa veya XBUTTON2 ikinci X düğmesine çift tıklandıysa değeri.
point
[in] CPoint İstemci alanının sol üst köşesine göre imlecin ve y koordinatlarını belirten x nesne.
Açıklamalar
Bu yöntem, Windows SDK'sında açıklanan bildirimi alır WM_XBUTTONUP . Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
parametresi, nFlags aşağıdaki tabloda listelenen değiştirici anahtarların bir bileşimi olabilir. Daha fazla bilgi için bkz . Fare Girişi Hakkında.
| Değiştirici Anahtar | Açıklama |
|---|---|
MK_CONTROL |
CTRL tuşuna basılır. |
MK_LBUTTON |
Sol fare düğmesine basılır. |
MK_MBUTTON |
Ortadaki fare düğmesine basılır. |
MK_RBUTTON |
Sağ fare düğmesine basılır. |
MK_SHIFT |
SHIFT tuşuna basılır. |
MK_XBUTTON1 |
XBUTTON1 Microsoft IntelliMouse'un fare düğmesine basılır. |
MK_XBUTTON2 |
XBUTTON2 Microsoft IntelliMouse'un fare düğmesine basılır. |
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OpenClipboard
Pano'ya açılır.
BOOL OpenClipboard();
Dönüş Değeri
Pano aracılığıyla CWndaçılırsa sıfır olmayan veya başka bir uygulama veya pencerede Pano açıksa 0.
Açıklamalar
Windows işlevi çağrılana kadar diğer uygulamalar Pano'da CloseClipboard değişiklik yapamayacaktır.
Geçerli CWnd nesne, Windows işlevi çağrılana kadar Pano'nun EmptyClipboard sahibi olmaz.
Örnek
//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
if (!OpenClipboard())
{
AfxMessageBox(_T("Cannot open the Clipboard"));
return;
}
// Remove the current Clipboard contents
if (!EmptyClipboard())
{
AfxMessageBox(_T("Cannot empty the Clipboard"));
return;
}
// Get the currently selected data, hData handle to
// global memory of data
CString str;
m_Edit.GetWindowText(str);
size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
GlobalUnlock(hData);
str.UnlockBuffer();
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
AfxMessageBox(_T("Unable to set Clipboard data"));
CloseClipboard();
return;
}
CloseClipboard();
}
CWnd::operator HWND
Tanıtıcıyı nesneye almak için CWnd bu işleci kullanın.
operator HWND() const;
CWnd::operator !=
aynı m_hWndolup olmadığını belirlemek için iki CWnd nesneyi karşılaştırır.
BOOL operator!=(const CWnd& wnd) const;
Parametreler
wnd
Bir nesneye CWnd başvuru.
Dönüş Değeri
Sıfır olmayan eşitse; aksi takdirde 0.
CWnd::operator ==
aynı m_hWndolup olmadığını belirlemek için iki CWnd nesneyi karşılaştırır.
BOOL operator==(const CWnd& wnd) const;
Parametreler
wnd
Bir nesneye CWnd başvuru.
Dönüş Değeri
Sıfır olmayan eşitse; aksi takdirde 0.
CWnd::PaintWindowlessControls
Denetim kapsayıcısı üzerinde penceresiz denetimler çizer.
BOOL PaintWindowlessControls(CDC* pDC);
Parametreler
pDC
Penceresiz denetimlerin çizildiği cihaz bağlamı.
Dönüş Değeri
Bir denetim kapsayıcısı varsa ve penceresiz denetimler başarıyla çizilirse döndürür TRUE , aksi takdirde FALSE.
CWnd::PostMessage
Pencerenin ileti kuyruğuna bir ileti yerleştirir ve ilgili pencerenin iletiyi işlemesini beklemeden döndürür.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parametreler
message
Postalanacak iletiyi belirtir.
wParam
Ek ileti bilgilerini belirtir. Bu parametrenin içeriği, gönderilen iletiye bağlıdır.
lParam
Ek ileti bilgilerini belirtir. Bu parametrenin içeriği, gönderilen iletiye bağlıdır.
Dönüş Değeri
İleti gönderiliyorsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İleti kuyruğundaki iletiler, veya PeekMessage Windows işlevine yapılan GetMessage çağrılar tarafından alınır.
Windows PostMessage işlevi başka bir uygulamaya erişmek için kullanılabilir.
Örnek
örneğine AfxGetMainWndbakın.
CWnd::PostNcDestroy
Pencere yok edildikten sonra varsayılan OnNcDestroy üye işlevi tarafından çağrılır.
virtual void PostNcDestroy();
Açıklamalar
Türetilmiş sınıflar, işaretçinin silinmesi this gibi özel temizleme için bu işlevi kullanabilir.
CWnd::PreCreateWindow
Bu CWnd nesneye bağlı Windows penceresi oluşturulmadan önce çerçeve tarafından çağrılır.
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parametreler
cs
Bir CREATESTRUCT yapı.
Dönüş Değeri
Pencere oluşturma işleminin devam etmesi gerekiyorsa sıfır olmayan; Oluşturma hatasını göstermek için 0.
Açıklamalar
Uyarı
CWnd::PreCreateWindowşimdi menü NULL ise ve stil içeriyorsa WS_CHILDişaretçiye hMenu üyesini cs this atar. Düzgün işlevsellik için, iletişim kutusu denetiminizin olmayan NULLbir kimliği olduğundan emin olun.
Bu değişiklik, yönetilen/yerel birlikte çalışma senaryolarındaki kilitlenmeyi düzeltir. TRACE içindeki CWnd::Create bir deyim, sorunun geliştiricisini uyarır.
Bu işlevi hiçbir zaman doğrudan çağırmayın.
Bu işlevin varsayılan uygulaması bir NULL pencere sınıfı adını denetler ve uygun bir varsayılanı değiştirir. Pencere oluşturulmadan önce yapıyı CREATESTRUCT değiştirmek için bu üye işlevini geçersiz kılın.
öğesinden CWnd türetilen her sınıf, geçersiz kılmasına PreCreateWindowkendi işlevselliğini ekler. Tasarım gereği, bu türetmeler PreCreateWindow belgelenmez. Her sınıfa uygun stilleri ve stiller arasındaki bağımlılıkları belirlemek için, uygulamanızın temel sınıfı için MFC kaynak kodunu inceleyebilirsiniz. Geçersiz kılmayı PreCreateWindow, seçerseniz, MFC kaynak kodundan toplanan bilgileri kullanarak uygulamanızın temel sınıfında kullanılan stillerin ihtiyacınız olan işlevselliği sağlayıp sağlamadığını belirleyebilirsiniz.
Pencere stillerini değiştirme hakkında daha fazla bilgi için bkz . MFC Tarafından Oluşturulan Pencerenin Stillerini Değiştirme.
Örnek
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
CWnd::PreSubclassWindow
Bu üye işlevi, pencere alt sınıflanmadan önce diğer gerekli alt sınıfların gerçekleşmesine izin vermek için çerçeve tarafından çağrılır.
virtual void PreSubclassWindow();
Açıklamalar
Bu üye işlevinin geçersiz kılınarak denetimlerin dinamik alt sınıflanması sağlanır. Gelişmiş bir geçersiz kılınabilir.
CWnd::PreTranslateMessage
ve DispatchMessage Windows işlevlerine dağıtilmeden önce pencere iletilerini çevirmek için TranslateMessage sınıf CWinApp tarafından kullanılır.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parametreler
pMsg
İşlenmek üzere ileti içeren bir MSG yapıyı gösterir.
Dönüş Değeri
İleti çevrildiyse ve gönderilmemesi gerekiyorsa sıfır olmayan; İleti çevrilmediyse ve gönderilmesi gerekiyorsa 0.
CWnd::Print
Belirtilen cihaz bağlamında geçerli pencereyi çizmek için bu üye işlevini çağırın. Bu pencere en yaygın olarak bir yazıcı cihaz bağlamındadır.
void Print(
CDC* pDC,
DWORD dwFlags) const;
Parametreler
pDC
Cihaz bağlamı işaretçisi.
dwFlags
Çizim seçeneklerini belirtir. Bu parametre şu bayraklardan biri veya daha fazlası olabilir:
PRF_CHECKVISIBLEPencereyi yalnızca görünür durumdaysa çizin.PRF_CHILDRENTüm görünür alt pencereleri çizin.PRF_CLIENTPencerenin istemci alanını çizin.PRF_ERASEBKGNDPencereyi çizmeden önce arka planı silin.PRF_NONCLIENTPencerenin istemci olmayan alanını çizin.PRF_OWNEDSahip olunan tüm pencereleri çizin.
Açıklamalar
CWnd::DefWindowProc işlevi, bu iletiyi hangi çizim seçeneğinin belirtildiğine göre işler:
belirtilirse ve pencere görünmüyorsa
PRF_CHECKVISIBLEhiçbir şey yapma.belirtilirse
PRF_NONCLIENT, verilen cihaz bağlamında istemci olmayan alanı çizin.Belirtilirse
PRF_ERASEBKGNDpencereye birWM_ERASEBKGNDileti gönderin.Belirtilirse
PRF_CLIENTpencereye birWM_PRINTCLIENTileti gönderin.Ayarlandıysa
PRF_CHILDREN, her görünür alt pencereye birWM_PRINTileti gönderin.Ayarlanırsa
PRF_OWNED, görünür olan her pencereye birWM_PRINTileti gönderin.
CWnd::PrintClient
Belirtilen cihaz bağlamındaki herhangi bir pencereyi (genellikle bir yazıcı cihaz bağlamı) çizmek için bu üye işlevini çağırın.
void PrintClient(
CDC* pDC,
DWORD dwFlags) const;
Parametreler
pDC
Cihaz bağlamı işaretçisi.
dwFlags
Çizim seçeneklerini belirtir. Bu parametre şu bayraklardan biri veya daha fazlası olabilir:
PRF_CHECKVISIBLEPencereyi yalnızca görünür durumdaysa çizin.PRF_CHILDRENTüm görünür alt pencereleri çizin.PRF_CLIENTPencerenin istemci alanını çizin.PRF_ERASEBKGNDPencereyi çizmeden önce arka planı silin.PRF_NONCLIENTPencerenin istemci olmayan alanını çizin.PRF_OWNEDSahip olunan tüm pencereleri çizin.
CWnd::PrintWindow
Görsel bir pencereyi belirtilen cihaz bağlamına( genellikle bir yazıcı DC'sine) kopyalar.
BOOL PrintWindow(
CDC* pDC,
UINT nFlags) const;
Parametreler
pDC
Yazdırılacak cihaz bağlamı işaretçisi.
nFlags
Çizim seçeneklerini belirtir. Olası değerlerin listesi için bkz PrintWindow. .
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin PrintWindowişlevselliğine öykünmektedir.
CWnd::RedrawWindow
Belirtilen pencerenin istemci alanında belirtilen dikdörtgeni veya bölgeyi güncelleştirir.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
Parametreler
lpRectUpdate
Güncelleştirme dikdörtgeninin koordinatlarını içeren bir RECT yapıyı gösterir. Geçerli bir bölge tanıtıcısı içeriyorsa prgnUpdate bu parametre yoksayılır.
prgnUpdate
Güncelleştirme bölgesini tanımlar. hem hem lpRectUpdate de prgnUpdate iseNULL, istemci alanının tamamı güncelleştirme bölgesine eklenir.
flags
Pencereyi geçersiz kılmaya yönelik aşağıdaki bayraklar kullanılır:
RDW_ERASEPencere yeniden boyandığında pencerenin iletiWM_ERASEBKGNDalmasına neden olur. BayrağınRDW_INVALIDATEda belirtilmesi gerekir; aksi takdirde RDW_ERASE hiçbir etkisi olmaz.RDW_FRAMEPencerenin istemci olmayan alanının güncelleştirme bölgesiyle kesişen herhangi bir bölümünün iletiWM_NCPAINTalmasına neden olur. BayrağınRDW_INVALIDATEda belirtilmesi gerekir; aksi takdirdeRDW_FRAMEhiçbir etkisi olmaz.RDW_INTERNALPAINTPencerenin geçersiz birWM_PAINTbölge içerip içermediğine bakılmaksızın bir iletinin pencereye nakledilmesine neden olur.RDW_INVALIDATEGeçersiz kılınlpRectUpdateveyaprgnUpdate(yalnızca biri olmayabilirNULL). Her ikisi deNULLise, tüm pencere geçersiz kılınmış olur.
Pencereyi doğrulamak için aşağıdaki bayraklar kullanılır:
RDW_NOERASEBekleyenWM_ERASEBKGNDiletileri gizler.RDW_NOFRAMEBekleyenWM_NCPAINTiletileri gizler. Bu bayrak ileRDW_VALIDATEkullanılmalıdır ve genellikle ileRDW_NOCHILDRENkullanılır. Bir pencerenin bölümlerinin düzgün şekilde boyanmasını engelleyebileceğinden, bu seçenek dikkatli kullanılmalıdır.RDW_NOINTERNALPAINTBekleyen tüm içWM_PAINTiletileri gizler. Bu bayrak, geçersiz alanlardan kaynaklanan iletileri etkilemezWM_PAINT.RDW_VALIDATEveya doğrularlpRectUpdate(yalnızca biri olmayabilirNULL).prgnUpdateHer ikisi deNULLise, tüm pencere doğrulanır. Bu bayrak içWM_PAINTiletileri etkilemez.
Yeniden boyanırken aşağıdaki bayraklar denetimi yapar. Bu bitlerden biri belirtilmediği sürece, boyama işlevi tarafından RedrawWindow gerçekleştirilmez.
RDW_ERASENOWetkilenen pencerelerin (veRDW_NOCHILDRENbayrakları tarafındanRDW_ALLCHILDRENbelirtildiği gibi) işlev döndürülmeden önce ve iletileri almasınaWM_NCPAINTWM_ERASEBKGNDneden olur.WM_PAINTiletileri ertelenmiş.RDW_UPDATENOWEtkilenen pencerelerin (veRDW_NOCHILDRENbayrakları tarafındanRDW_ALLCHILDRENbelirtildiği gibi) işlev döndürülmeden önce , veWM_PAINTiletilerini almasınaWM_NCPAINTWM_ERASEBKGNDneden olur.
Varsayılan olarak, işlevden etkilenen RedrawWindow pencereler belirtilen pencerenin stiline sahip WS_CLIPCHILDREN olup olmadığına bağlıdır. Pencerelerin WS_CLIPCHILDREN alt pencereleri etkilenmez. Ancak, pencere olmayan WS_CLIPCHILDREN pencereler bir WS_CLIPCHILDREN pencereyle karşılaşılana kadar yinelemeli olarak doğrulanır veya geçersiz kılınabilir. Aşağıdaki bayraklar işlevden hangi pencerelerin RedrawWindow etkileneceğini denetler:
RDW_ALLCHILDRENYeniden boyama işlemine alt pencereleri (varsa) içerir.RDW_NOCHILDRENVarsa alt pencereleri yeniden boyama işleminin dışında tutar.
Dönüş Değeri
Pencere başarıyla yeniden çizildiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Üye işlevi masaüstü penceresinin RedrawWindow bir bölümünü geçersiz kılma amacıyla kullanıldığında, bu pencere bir WM_PAINT ileti almaz. Masaüstünü yeniden boyamak için bir uygulama , , CWnd::InvalidateRgnCWnd::UpdateWindowveya kullanmalıdır CWnd::ValidateRgnRedrawWindow
CWnd::ReflectChildNotify
Bu ileti işlevi, içinden çerçeve tarafından çağrılır OnChildNotify.
BOOL ReflectChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parametreler
message
Yansıtılacak iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
pResult
Üst pencere tarafından döndürülecek alt pencere tarafından oluşturulan sonuç. olabilir NULL.
Dönüş Değeri
TRUE ileti yansıtıldıysa; aksi takdirde FALSE.
Açıklamalar
Kaynağına yansıtan message bir yardımcı işlevdir.
Yansıtılan iletiler doğrudan veya CCmdTarget::OnCmdMsgöğesine CWnd::OnWndMsg gönderilir.
İleti yansıması hakkında daha fazla bilgi için bkz . Yansıtılan İletileri İşleme.
CWnd::ReflectLastMsg
Bu üye işlevi, alt pencereye son iletiyi yansıtmak için çerçeve tarafından çağrılır.
static BOOL PASCAL ReflectLastMsg(
HWND hWndChild,
LRESULT* pResult = NULL);
Parametreler
hWndChild
Alt pencerenin tutamacı.
pResult
Üst pencere tarafından döndürülecek alt pencere tarafından oluşturulan sonuç. olabilir NULL.
Dönüş Değeri
İleti işlendiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Tarafından tanımlanan hWndChild pencere bir OLE denetimi veya kalıcı eşlemedeki bir pencereyse, bu üye işlevi çağırırSendChildNotifyLastMsg.
İleti yansıması hakkında daha fazla bilgi için bkz . Yansıtılan İletileri İşleme.
CWnd::ReleaseDC
Cihaz bağlamını serbest bırakır ve diğer uygulamalar tarafından kullanılmak üzere serbest bırakır.
int ReleaseDC(CDC* pDC);
Parametreler
pDC
Yayınlanacak cihaz bağlamını tanımlar.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Üye işlevinin ReleaseDC etkisi cihaz bağlamı türüne bağlıdır.
Uygulama, üye işlevine ReleaseDC yapılan her çağrı ve üye işlevine yapılan GetWindowDC her çağrı için üye işlevini çağırmalıdır GetDC .
CWnd::RepositionBars
Pencerenin istemci alanındaki denetim çubuklarını yeniden konumlandırmak ve yeniden boyutlandırmak için çağrılır.
void RepositionBars(UINT nIDFirst,
UINT nIDLast,
UINT nIDLeftOver,
UINT nFlag = reposDefault,
LPRECT lpRectParam = NULL,
LPCRECT lpRectClient = NULL,
BOOL bStretch = TRUE) ;
Parametreler
nIDFirst
Yeniden konumlandırmak ve yeniden boyutlandırmak için bir dizi denetim çubuğundaki ilkinin kimliği.
nIDLast
Yeniden konumlandırmak ve yeniden boyutlandırmak için bir dizi denetim çubuğu içindeki son değerin kimliği.
nIDLeftOver
İstemci alanının geri kalanını dolduran bölmenin kimliğini belirtir.
nFlag
Aşağıdaki değerlerden birine sahip olabilir:
CWnd::reposDefaultDenetim çubuklarının düzenini gerçekleştirir.lpRectParamkullanılmaz ve olabilirNULL.CWnd::reposQueryDenetim çubuklarının düzeni yapılmaz; bunun yerinelpRectParam, düzen gerçekten yapılmış gibi istemci alanının boyutuyla başlatılır.CWnd::reposExtradeğerinilpRectParamistemci alanınanIDLastekler ve ayrıca düzenini gerçekleştirir.
lpRectParam
Bir RECT yapıya işaret eder; kullanımı değerine nFlagbağlıdır.
lpRectClient
Kullanılabilir istemci alanını içeren bir RECT yapıya işaret ediyor. ise NULL, pencerenin istemci alanı kullanılır.
bStretch
Çubuğun çerçeve boyutuna kadar uzatılıp uzatılmayacağını gösterir.
Açıklamalar
ve nIDLast parametreleri, nIDFirst istemci alanında yeniden konumlandırılacak bir dizi denetim çubuğu kimliği tanımlar. parametresi, nIDLeftOver denetim çubuklarıyla doldurulmayan istemci alanının geri kalanını doldurmak için yeniden konumlandırılan ve yeniden boyutlandırılan alt pencerenin (normalde görünüm) kimliğini belirtir.
CWnd::RunModalLoop
döndürene FALSEkadar ContinueModal iletileri almak, çevirmek veya göndermek için bu üye işlevini çağır.
int RunModalLoop(DWORD dwFlags = 0);
Parametreler
dwFlags
Gönderilecek Windows iletisini belirtir. Aşağıdaki değerlerden biri olabilir:
MLF_NOIDLEMSGÜst öğeye ileti göndermeyinWM_ENTERIDLE.MLF_NOKICKIDLEPencereye ileti göndermeyinWM_KICKIDLE.MLF_SHOWONIDLEİleti kuyruğu boşta kaldığında pencereyi gösterin.
Dönüş Değeri
Üye işlevine EndModalLoop geçirilen parametrenin nResult değerini belirtir. Bu değer daha sonra kalıcı döngünün sona ermesi için kullanılır.
Açıklamalar
Varsayılan olarak, ContinueModal çağrıldıktan sonra EndModalLoop döndürürFALSE. olarak nResult EndModalLoopsağlanan değeri döndürür.
CWnd::ScreenToClient
Ekrandaki belirli bir noktanın veya dikdörtgenin ekran koordinatlarını istemci koordinatlarına dönüştürür.
void ScreenToClient(LPPOINT lpPoint) const;
void ScreenToClient(LPRECT lpRect) const;
Parametreler
lpPoint
Dönüştürülecek ekran koordinatlarını içeren bir CPoint nesneye veya POINT yapıya işaret eder.
lpRect
Dönüştürülecek ekran koordinatlarını içeren bir CRect nesneye veya RECT yapıya işaret eder.
Açıklamalar
ScreenToClient Üye işlevi, veya lpRect içinde lpPoint verilen ekran koordinatlarını istemci koordinatlarıyla değiştirir. Yeni koordinatlar, istemci alanının sol üst köşesine CWnd göredir.
Örnek
örneğine CListCtrl::GetItemRectbakın.
CWnd::ScrollWindow
Geçerli CWnd nesnenin istemci alanının içeriğini kaydırıyor.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parametreler
xAmount
Cihaz birimlerinde yatay kaydırmanın miktarını belirtir. Bu parametrenin sola kaydırılabilmesi için negatif bir değer olması gerekir.
yAmount
Cihaz birimlerinde dikey kaydırmanın miktarını belirtir. Bu parametrenin yukarı kaydırılabilmesi için negatif bir değer olması gerekir.
lpRect
Kaydırılacak istemci alanının bölümünü belirten bir CRect nesneye veya RECT yapıya işaret eder. ise lpRect NULL, istemci alanının tamamı kaydırılır. İmleç dikdörtgeni kaydırma dikdörtgeninin kesiştiğinde şapka işareti yeniden konumlandırılır.
lpClipRect
Kaydıracak kırpma dikdörtgenini belirten bir CRect nesneye veya RECT yapıya işaret eder. Yalnızca bu dikdörtgenin içindeki bitler kaydırılır. Bu dikdörtgenin dışındaki bitler, dikdörtgen içinde lpRect olsalar bile etkilenmez. ise lpClipRect NULL, kaydırma dikdörtgeninde kırpma işlemi yapılmaz.
Açıklamalar
Şapka işareti kaydırılmaktaysa CWnd , ScrollWindow şapka işaretinin silinmesini önlemek için otomatik olarak gizler ve kaydırma tamamlandıktan sonra şapka işaretini geri yükler. Şapka işareti konumu buna göre ayarlanır.
Üye işlevi tarafından ScrollWindow ortaya çıkarılan alan yeniden boyanmaz, ancak geçerli CWnd nesnenin güncelleştirme bölgesinde birleştirilir. Uygulama sonunda bölgenin yeniden boyanması gerektiğini bildiren bir WM_PAINT ileti alır. Kaydırma işlemi yapılırken, açığa çıkarılan alanı yeniden boyamak için çağrısından hemen sonra üye işlevini çağırın UpdateWindow ScrollWindow.
ise lpRect NULL, penceredeki tüm alt pencerelerin konumları ve yAmounttarafından xAmount belirtilen tutara göre kaydırılır ve içindeki CWnd geçersiz (boyanmamış) alanlar da kaydırılır. ScrollWindow olduğunda lpRect daha hızlıdır NULL.
değilse lpRect NULL, alt pencerelerin konumları değiştirilmez ve içindeki CWnd geçersiz alanlar uzaklık olmaz. olmadığında sorunların lpRect güncelleştirilmesini önlemek için, çağırmadan önce yeniden boyamak CWnd için üye işlevini çağırın UpdateWindow ScrollWindow.NULL
CWnd::ScrollWindowEx
Pencerenin istemci alanının içeriğini kaydırıyor.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags);
Parametreler
dx
Cihaz birimlerinde yatay kaydırmanın miktarını belirtir. Bu parametrenin sola kaydırılabilmesi için negatif bir değere sahip olması gerekir.
dy
Cihaz birimlerinde dikey kaydırmanın miktarını belirtir. Bu parametrenin yukarı kaydırılabilmesi için negatif bir değere sahip olması gerekir.
lpRectScroll
Kaydırılacak istemci alanının bölümünü belirten bir RECT yapıya işaret eder. Bu parametre ise NULL, istemci alanının tamamı kaydırılır.
lpRectClip
Kaydıracak kırpma dikdörtgenini belirten bir RECT yapıya işaret eder. Bu yapı, tarafından lpRectScrollişaret edilen dikdörtgenden önceliklidir. Yalnızca bu dikdörtgenin içindeki bitler kaydırılır. Bu dikdörtgenin dışındaki bitler, dikdörtgen içinde lpRectScroll olsalar bile etkilenmez. Bu parametre ise NULL, kaydırma dikdörtgeninde kırpma işlemi yapılmaz.
prgnUpdate
Kaydırarak geçersiz kılınan bölgeyi tutmak için değiştirilen bölgeyi tanımlar. Bu parametre olabilir NULL.
lpRectUpdate
Kaydırarak geçersiz kılınan dikdörtgenin sınırlarını alacak bir RECT yapıya işaret eder. Bu parametre olabilir NULL.
flags
Aşağıdaki değerlerden birine sahip olabilir:
SW_ERASEileSW_INVALIDATEbelirtildiğinde, pencereye birWM_ERASEBKGNDileti göndererek yeni geçersiz kılınan bölgeyi siler.SW_INVALIDATEKaydırma sonrasında tarafındanprgnUpdatetanımlanan bölgeyi geçersiz kılır.SW_SCROLLCHILDRENvedyiçinde belirtilendxpiksel sayısına göre işaret edilenlpRectScrolldikdörtgeni kesiştiren tüm alt pencereleri kaydırıyor. Windows, hareket etmeseler bile ile kesişenlpRectScrolltüm alt pencerelere birWM_MOVEileti gönderir. Bir alt pencere kaydırıldığında ve imleç dikdörtgeni kaydırma dikdörtgenini kesiştirdiğinde şapka işareti yeniden konumlandırılır.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri SIMPLEREGION (dikdörtgen geçersiz kılınmış bölge), COMPLEXREGION (nonrectangular invalidated region; çakışan dikdörtgenler) veya NULLREGION (geçersiz bölge yok) olur; aksi takdirde dönüş değeri olur ERROR.
Açıklamalar
Bu işlev, bazı ek özelliklerle işleve ScrollWindow benzer.
ve SW_ERASE belirtilmezseSW_INVALIDATE, ScrollWindowEx üye işlevi kaydırılan alanı geçersiz kılmaz. Bu bayraklardan biri ayarlanırsa, ScrollWindowEx bu alanı geçersiz kılır. Uygulama üye işlevini çağıranaUpdateWindow, RedrawWindow üye işlevini çağırana (veya RDW_ERASENOWbelirterekRDW_UPDATENOW) veya iletiyi uygulama kuyruğundan alana WM_PAINT kadar alan güncelleştirilmez.
Pencere stiline WS_CLIPCHILDREN sahipse, tarafından belirtilen prgnUpdate ve lpRectUpdate döndürülen alanlar, alt pencerelerde güncelleştirilmesi gereken alt pencerelerdeki alanlar da dahil olmak üzere güncelleştirilmesi gereken kaydırılan pencerenin toplam alanını temsil eder.
SW_SCROLLCHILDREN Bayrak belirtilirse, alt pencerenin bir bölümü kaydırılırsa Windows ekranı düzgün bir şekilde güncelleştirmez. Kaydırılan alt pencerenin kaynak dikdörtgenin dışında yer alan bölümü silinmez ve yeni hedefinde düzgün şekilde yeniden çizilmez. Tamamen dikdörtgenin DeferWindowPos içinde lpRectScroll yer almayan alt pencereleri taşımak için Windows işlevini kullanın. bayrak ayarlanırsa SW_SCROLLCHILDREN ve şapka işareti dikdörtgeni kaydırma dikdörtgenini kesiştirirse imleç yeniden konumlandırılır.
Tüm giriş ve çıkış koordinatlarının (, , ve içinlpRectScroll) pencerenin veya CS_CLASSDC sınıf stiline sahip CS_OWNDC olup olmadığına bakılmaksızın istemci koordinatlarında olduğu varsayılırprgnUpdate. lpRectUpdatelpRectClip LPtoDP Gerekirse mantıksal koordinatlara ve mantıksal koordinatlardan dönüştürmek için ve DPtoLP Windows işlevlerini kullanın.
CWnd::SendChildNotifyLastMsg
Bu üye işlevi, alt pencerenin bir görevi işleyebilmesi için üst pencereden bir alt pencereye bildirim iletisi sağlamak için çerçeve tarafından çağrılır.
BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);
Parametreler
pResult
Üst pencere tarafından döndürülecek alt pencere tarafından oluşturulan sonuç.
Dönüş Değeri
Alt pencere üst penceresine gönderilen iletiyi işlediyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
SendChildNotifyLastMsg yansıtılan bir iletiyse, geçerli iletiyi kaynağa gönderin.
İleti yansıması hakkında daha fazla bilgi için bkz . Yansıtılan İletileri İşleme.
CWnd::SendDlgItemMessage
Bir denetime ileti gönderir.
LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parametreler
nID
İletiyi alacak iletişim kutusu denetiminin tanımlayıcısını belirtir.
message
Gönderilecek iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
Dönüş Değeri
Denetimin pencere yordamı tarafından döndürülen değeri veya denetim bulunamadıysa 0 değerini belirtir.
Açıklamalar
üye SendDlgItemMessage işlevi, ileti işlenene kadar döndürülmüyor.
kullanma SendDlgItemMessage , verilen denetime * alma CWndve üye işlevini çağırma ile SendMessage aynıdır.
Örnek
void CMyDlg::SetSpinRange()
{
//set the min and max range of the up/down or spin control
SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}
CWnd::SendMessage
Belirtilen iletiyi bu pencereye gönderir.
LRESULT SendMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parametreler
message
Gönderilecek iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
Dönüş Değeri
İleti işlemenin sonucu; değeri gönderilen iletiye bağlıdır.
Açıklamalar
SendMessage Üye işlevi pencere yordamını doğrudan çağırır ve bu pencere yordamı iletiyi işleyene kadar döndürmez. Bu, iletiyi pencerenin ileti kuyruğuna PostMessage yerleştiren ve hemen döndüren üye işlevinin aksinedir.
Örnek
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::SendMessageToDescendants
Belirtilen Windows iletisini tüm alt pencerelere göndermek için bu üye işlevini çağırın.
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE,
BOOL bOnlyPerm = FALSE);
Parametreler
message
Gönderilecek iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
bDeep
Aranacak düzeyi belirtir. ise TRUE, tüm alt öğeleri özyinelemeli olarak, ise FALSEyalnızca anlık alt öğeleri arayın.
bOnlyPerm
İletinin geçici pencereler tarafından alınıp alınmayacağını belirtir. ise TRUE, geçici pencereler iletiyi alabilir; ise FALSEyalnızca kalıcı pencereler iletiyi alır. Geçici pencereler hakkında daha fazla bilgi için bkz . Teknik Not 3.
Açıklamalar
ise bDeep FALSE, ileti yalnızca pencerenin hemen alt öğelerine gönderilir; aksi takdirde ileti tüm alt pencerelere gönderilir.
ve bOnlyPerm ise bDeep TRUE, arama geçici pencerelerin altında devam eder. Bu durumda, yalnızca arama sırasında karşılaşılan kalıcı pencereler iletiyi alır. ise bDeep FALSE, ileti yalnızca pencerenin hemen alt öğelerine gönderilir.
Örnek
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;
lf.lfHeight = 15; // Request a 15-pixel-high font
// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
m_font.CreateFontIndirect(&lf); // Create the font.
SendMessageToDescendants(WM_SETFONT,
(WPARAM)m_font.m_hObject, //handle to font
MAKELONG((WORD)fRedraw, 0),
FALSE); // send to all descendants(TRUE) or
// just children of *this (FALSE)
CWnd::SendNotifyMessage
Belirtilen iletiyi pencereye gönderir.
BOOL SendNotifyMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametreler
message
Gönderilecek iletiyi belirtir.
wParam
İletiye bağımlı ek bilgileri belirtir.
lParam
İletiye bağımlı ek bilgileri belirtir.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Pencere çağıran iş parçacığı tarafından oluşturulduysa, SendNotifyMessage pencere için pencere yordamını çağırır ve pencere yordamı iletiyi işleyene kadar geri dönmez. Pencere farklı bir iş parçacığı tarafından oluşturulduysa, SendNotifyMessage iletiyi pencere yordamına geçirir ve hemen döndürür; pencere yordamının iletiyi işlemeyi bitirmesini beklemez.
CWnd::SetActiveWindow
Etkin pencereyi oluşturur CWnd .
CWnd* SetActiveWindow();
Dönüş Değeri
Daha önce etkin olan pencere.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Üye SetActiveWindow işlevi, bir uygulamanın etkin pencereyi ve giriş odağını rastgele devralmasına izin verdiğinden dikkatli kullanılmalıdır. Normalde, Windows tüm etkinleştirmeleri üstlenir.
CWnd::SetCapture
İmlecin konumundan bağımsız olarak sonraki tüm fare girişinin geçerli CWnd nesneye gönderilmesine neden olur.
CWnd* SetCapture();
Dönüş Değeri
Daha önce tüm fare girişlerini alan pencere nesnesinin işaretçisi. Böyle bir pencere yoksa öyledir NULL . Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Artık tüm fare girişlerine gerek kalmadığında CWnd , uygulamanın diğer pencerelerin ReleaseCapture fare girişi alabilmesi için işlevini çağırması gerekir.
Fare girişi yakalanırken etkin pencereye hayır WM_NCHITTEST veya WM_SETCURSOR ileti gönderilir.
CWnd::SetCaretPos
Şapka işaretinin konumunu ayarlar.
static void PASCAL SetCaretPos(POINT point);
Parametreler
point
Şapka işaretinin yeni x ve y koordinatlarını (istemci koordinatlarında) belirtir.
Açıklamalar
SetCaretPos Üye işlevi, yalnızca geçerli görevdeki bir pencereye aitse şapka işaretini taşır. SetCaretPos şapka işaretinin gizlenip gizlenmediğini taşır.
Şapka işareti paylaşılan bir kaynaktır. Bir pencere, şapka işaretinin sahibi değilse şapka işaretini taşımamalıdır.
Örnek
// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
//create a solid caret, the width is 2, the length is 20.
CreateSolidCaret(2, 20);
SetCaretPos(point);
ShowCaret();
CView::OnLButtonDown(nFlags, point);
}
CWnd::SetClipboardViewer
Pano'nun içeriği her değiştirildiğinde bu pencereyi bildirimde bulunan pencere zincirine (ileti yoluyla WM_DRAWCLIPBOARD ) ekler.
HWND SetClipboardViewer();
Dönüş Değeri
Başarılı olursa Pano görüntüleyici zincirinde sonraki pencereye bir tanıtıcı. Uygulamalar bu tanıtıcıyı kaydetmeli (üye değişkeni olarak depolanabilir) ve Pano görüntüleyici zincir iletilerine yanıt verirken kullanmalıdır.
Açıklamalar
Pano görüntüleyici zincirinin parçası olan bir pencere , WM_CHANGECBCHAINve iletilerine WM_DRAWCLIPBOARDyanıt vermeli ve WM_DESTROY iletiyi zincirdeki bir sonraki pencereye geçirmelidir.
Bu üye işlevi pencereye bir WM_DRAWCLIPBOARD ileti gönderir. Pano görüntüleyici zincirindeki sonraki pencerenin tutamacı henüz döndürülmediğinden, uygulamanın çağrısı SetClipboardViewersırasında aldığı iletiyi iletmemesi WM_DRAWCLIPBOARD gerekir.
Pano görüntüleyici zincirinden kendisini kaldırmak için bir uygulamanın üye işlevini çağırması ChangeClipboardChain gerekir.
CWnd::SetDlgCtrlID
Pencerenin pencere kimliğini veya denetim kimliğini yeni bir değere ayarlar.
int SetDlgCtrlID(int nID);
Parametreler
nID
Denetimin tanımlayıcısı için ayarlanacağı yeni değer.
Dönüş Değeri
Başarılı olursa pencerenin önceki tanımlayıcısı; aksi takdirde 0.
Açıklamalar
Pencere, yalnızca iletişim kutusundaki bir denetim değil, herhangi bir alt pencere olabilir. Pencere en üst düzey pencere olamaz.
CWnd::SetDlgItemInt
İletişim kutusundaki belirli bir denetimin metnini, belirtilen tamsayı değerinin dize gösterimine ayarlar.
void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned = TRUE);
Parametreler
nID
Değiştirilecek denetimin tamsayı kimliğini belirtir.
nValue
Öğe metnini oluşturmak için kullanılan tamsayı değerini belirtir.
bSigned
Tamsayı değerinin imzalı mı yoksa imzasız mı olduğunu belirtir. Bu parametre iseTRUEnValue, imzalanır. Bu parametre TRUE 0'dan küçükse ve nValue 0'dan küçükse, dizedeki ilk basamaktan önce bir eksi işareti yerleştirilir. Bu parametre iseFALSEnValue, işaretizdir.
Açıklamalar
SetDlgItemInt verilen denetime bir WM_SETTEXT ileti gönderir.
Örnek
örneğine CWnd::SetDlgItemTextbakın.
CWnd::SetDlgItemText
Bir pencereye veya iletişim kutusuna ait bir denetimin resim yazısını veya metnini ayarlar.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parametreler
nID
Metni ayarlanacak denetimi tanımlar.
lpszString
Denetime kopyalanacak metni içeren bir CString nesneye veya null ile sonlandırılan dizeye işaret edilir.
Açıklamalar
SetDlgItemText verilen denetime bir WM_SETTEXT ileti gönderir.
Örnek
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);
CWnd::SetForegroundWindow
Pencereyi oluşturan iş parçacığını ön plana yerleştirir ve pencereyi etkinleştirir.
BOOL SetForegroundWindow();
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Klavye girişi pencereye yönlendirilir ve kullanıcı için çeşitli görsel ipuçları değiştirilir. Ön plan penceresi, kullanıcının çalışmakta olduğu penceredir. Ön plan penceresi yalnızca üst düzey pencerelere (çerçeve pencereleri veya iletişim kutuları) uygulanır.
Örnek
örneğine CWnd::FindWindowbakın.
CWnd::SetFocus
Giriş odağını talep eder.
CWnd* SetFocus();
Dönüş Değeri
Daha önce giriş odağına sahip olan pencere nesnesinin işaretçisi. Böyle bir pencere yoksa öyledir NULL . Döndürülen işaretçi geçici olabilir ve depolanmamalıdır.
Açıklamalar
Giriş odağı, sonraki tüm klavye girişlerini bu pencereye yönlendirir. Daha önce giriş odağına sahip olan tüm pencerelerde bu durum kaybolur.
SetFocus Üye işlevi pencereye giriş odağını kaybeden bir WM_KILLFOCUS ileti ve giriş odağını alan pencereye bir WM_SETFOCUS ileti gönderir. Ayrıca pencereyi veya üst öğesini etkinleştirir.
Geçerli pencere etkinse ancak odak yoksa (odak pencere yoksa), basılan herhangi bir tuş , WM_SYSKEYDOWNveya WM_SYSKEYUPiletilerini WM_SYSCHARüretir.
CWnd::SetFont
WM_SETFONT Belirtilen yazı tipini kullanmak için iletiyi pencereye gönderir.
void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE);
Parametreler
pFont
Nesne CFont işaretçisi.
bRedraw
TRUE penceresinin iletiyi işledikten hemen sonra yeniden çizeceğini WM_SETFONT ; aksi takdirde FALSE.
Açıklamalar
Pencere iletiyi işlemediği sürece bu yöntemin WM_SETFONT hiçbir etkisi yoktur. İleti için bir ileti işleyicisi içeren önceden tanımlanmış bir pencere sınıfına eklendiği içinWM_SETFONT, bu iletiden CWnd türetilen birçok MFC sınıfı bu iletiyi işler. Bu yöntemi kullanmak için, türetdiğiniz CWnd sınıfların ileti için bir yöntem işleyicisi tanımlaması WM_SETFONT gerekir.
CWnd::SetIcon
Tanıtıcıyı tarafından tanımlanan belirli bir simgeye ayarlamak için bu üye işlevini çağırın hIcon.
HICON SetIcon(
HICON hIcon,
BOOL bBigIcon);
Parametreler
hIcon
Önceki simgenin tutamacı.
bBigIcon
ise 32 piksel 32 piksel simgesini belirtir; ise TRUEFALSE16 piksel 16 piksel simgesini belirtir.
Dönüş Değeri
Simgenin tutamacı.
Açıklamalar
Pencere sınıfı kaydedildiğinde bir simge seçer.
Örnek
örneğine CWnd::GetSystemMenubakın.
CWnd::SetLayeredWindowAttributes
Katmanlı bir pencerenin opaklık ve saydamlık renk anahtarını ayarlar.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
Parametreler
crKey
Katmanlı pencere oluştururken kullanılacak saydamlık renk anahtarını belirten bir COLORREF değer işaretçisi. Bu renkte pencere tarafından boyanan tüm pikseller saydam olur. oluşturmak COLORREFiçin makroyu RGB kullanın.
bAlpha
Katmanlı pencerenin opaklığını açıklamak için kullanılan alfa değeri. Daha fazla bilgi için yapının üyesine BLENDFUNCTION bakınSourceConstantAlpha. 0 olduğunda bAlpha , pencere tamamen saydamdır. 255 olduğunda bAlpha pencere opaktır.
dwFlags
Bir eylem gerçekleştirmeyi belirtir. Bu parametre aşağıdaki değerlerden biri veya daha fazlası olabilir. Olası değerlerin listesi için bkz SetLayeredWindowAttributes. .
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin SetLayeredWindowAttributesişlevselliğine öykünmektedir.
CWnd::SetMenu
Geçerli menüyü belirtilen menüye ayarlar.
BOOL SetMenu(CMenu* pMenu);
Parametreler
pMenu
Yeni menüyü tanımlar. Bu parametre ise NULLgeçerli menü kaldırılır.
Dönüş Değeri
Menü değiştirilirse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Pencerenin menü değişikliğini yansıtacak şekilde yeniden çizilmesine neden olur.
SetMenu önceki bir menüyü yok etmeyecektir. Bir uygulama, bu görevi gerçekleştirmek için üye işlevini çağırmalıdır CMenu::DestroyMenu .
Örnek
örneğine CMenu::LoadMenubakın.
CWnd::SetOwner
Geçerli pencerenin sahibini belirtilen pencere nesnesine ayarlar.
void SetOwner(CWnd* pOwnerWnd);
Parametreler
pOwnerWnd
Pencere nesnesinin yeni sahibini tanımlar. Bu parametre ise NULL, pencere nesnesinin sahibi yoktur.
Açıklamalar
Bu sahip, geçerli pencere nesnesinden komut iletileri alabilir. Varsayılan olarak, geçerli pencerenin üst öğesi sahibidir.
Genellikle pencere hiyerarşisi ile ilişkili olmayan pencere nesneleri arasında bağlantı kurmak yararlı olur. Örneğin, CToolBar bildirimleri üst öğesi yerine sahibine gönderir. Bu, araç çubuğunun başka bir pencereye (yerinde çerçeve penceresi gibi) bildirim gönderirken bir pencerenin (OLE kapsayıcı uygulaması penceresi gibi) alt öğesi olmasına olanak tanır. Ayrıca, yerinde düzenleme sırasında bir sunucu penceresi devre dışı bırakıldığında veya etkinleştirildiğinde, çerçeve penceresine ait herhangi bir pencere gizlenir veya gösterilir. Bu sahiplik açıkça çağrısıyla SetOwnerayarlanır.
Bu işlevin sahiplik kavramı, sahiplik kavramından GetWindowfarklıdır.
CWnd::SetParent
Alt pencerenin üst penceresini değiştirir.
CWnd* SetParent(CWnd* pWndNewParent);
Parametreler
pWndNewParent
Yeni üst pencereyi tanımlar.
Dönüş Değeri
Başarılı olursa, önceki üst pencere nesnesinin işaretçisi. Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
Alt pencere görünür durumdaysa, Windows uygun yeniden çizme ve yeniden boyama işlemlerini gerçekleştirir.
CWnd::SetProperty
tarafından belirtilen OLE denetimi özelliğini ayarlamak için bu üye işlevini çağırın dwDispID.
void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parametreler
dwDispID
Ayarlanacak özelliği tanımlar.
vtProp
Ayarlanacak özelliğin türünü belirtir. Olası değerler için COleDispatchDriver::InvokeHelperiçin Açıklamalar bölümüne bakın.
...
tarafından vtPropbelirtilen türde tek bir parametre.
Açıklamalar
Not
Bu işlev yalnızca OLE denetimini temsil eden bir CWnd nesnede çağrılmalıdır.
Bu üye işlevini OLE Denetim Kapsayıcıları ile kullanma hakkında daha fazla bilgi için ActiveX Denetim Kapsayıcıları: ActiveX Denetim Kapsayıcısında ActiveX Denetimlerini Programlama makalesine bakın.
CWnd::SetRedraw
Bir uygulama, değişikliklerin yeniden çizilmesine izin vermek veya değişikliklerin yeniden çizilmesini önlemek için çağırır SetRedraw .
void SetRedraw(BOOL bRedraw = TRUE);
Parametreler
bRedraw
Yeniden çiz bayrağının durumunu belirtir. Bu parametre ise TRUE, yeniden çiz bayrağı ayarlanır; ise FALSEbayrağı temizlenir.
Açıklamalar
Bu üye işlevi yeniden çiz bayrağını ayarlar veya temizler. Yeniden çiz bayrağı temizlense de, her değişiklik sonrasında içerik güncelleştirilmez ve yeniden çiz bayrağı ayarlanana kadar yeniden çizilmez. Örneğin, liste kutusuna birkaç öğe eklemesi gereken bir uygulama yeniden çiz bayrağını temizleyebilir, öğeleri ekleyebilir ve sonra yeniden çiz bayrağını ayarlayabilir. Son olarak, uygulama liste kutusunun yeniden boyanmasına Invalidate neden olmak için veya InvalidateRect üye işlevini çağırabilir.
Örnek
// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing
//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode
//
// Update control
//
m_List.SetRedraw(TRUE); // turn drawing back on and update the window
// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();
CWnd::SetScrollInfo
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLINFO ayarlamak için bu üye işlevini çağırın.
BOOL SetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parametreler
nBar
Kaydırma çubuğunun bir denetim mi yoksa pencerenin istemci olmayan alanının bir parçası mı olduğunu belirtir. İstemci olmayan alanın bir parçasıysa, nBar kaydırma çubuğunun yatay olarak mı, dikey olarak mı yoksa her ikisinde de mi konumlandırılmış olduğunu da gösterir. Aşağıdakilerden biri olmalıdır:
SB_CTLKaydırma çubuğu denetiminin parametrelerini içerir. Verim_hWndüyesi kaydırma çubuğu denetiminin tutamacı olmalıdır.SB_HORZPencerenin yatay kaydırma çubuğu olduğunu belirtir.SB_VERTPencerenin dikey kaydırma çubuğu olduğunu belirtir.
lpScrollInfo
Bir yapıya işaretçi SCROLLINFO . Bu yapı hakkında daha fazla bilgi için bkz. Windows SDK'sı.
bRedraw
Kaydırma çubuğunun yeni konumu yansıtacak şekilde yeniden çizilip çizilmeyeceğini belirtir. ise bRedraw TRUE, kaydırma çubuğu yeniden çizilir. Ise FALSE, yeniden çizilir değil. Kaydırma çubuğu varsayılan olarak yeniden çizilir.
Dönüş Değeri
Başarılı olursa, dönüş olur TRUE. Aksi takdirde, olur FALSE.
Açıklamalar
Yapı, SCROLLINFO kaydırma çubuğuyla ilgili minimum ve maksimum kaydırma konumları, sayfa boyutu ve kaydırma kutusunun (başparmak) konumu gibi bilgiler içerir. Yapı varsayılanlarını SCROLLINFO değiştirme hakkında daha fazla bilgi için Windows SDK'sında yapı konusuna bakın.
Kaydırma çubuğu konumunu CWnd::OnHScroll gösteren MFC Windows ileti işleyicileri ve CWnd::OnVScrollyalnızca 16 bit konum verileri sağlar. GetScrollInfo ve SetScrollInfo 32 bit kaydırma çubuğu konum verileri sağlayın. Bu nedenle, bir uygulama 32 bit kaydırma çubuğu konum verilerini almak için veya CWnd::OnVScroll işlerken CWnd::OnHScroll çağırabilirGetScrollInfo.
Not
CWnd::GetScrollInfo uygulamaların 32 bit kaydırma çubuğu konumlarını kullanmasını sağlar.
CWnd::SetScrollPos
Kaydırma kutusunun geçerli konumunu ayarlar ve istenirse kaydırma çubuğunu kaydırma kutusunun yeni konumunu yansıtacak şekilde yeniden çizer.
int SetScrollPos(
int nBar,
int nPos,
BOOL bRedraw = TRUE);
Parametreler
nBar
Ayarlanacak kaydırma çubuğunu belirtir. Bu parametre aşağıdakilerden biri olabilir:
SB_HORZPencerenin yatay kaydırma çubuğundaki kaydırma kutusunun konumunu ayarlar.SB_VERTPencerenin dikey kaydırma çubuğundaki kaydırma kutusunun konumunu ayarlar.
nPos
Kaydırma kutusunun yeni konumunu belirtir. Kaydırma aralığı içinde olmalıdır.
bRedraw
Kaydırma çubuğunun yeni kaydırma kutusu konumunu yansıtacak şekilde yeniden boyanıp boyanmayacağını belirtir. Bu parametre ise TRUE, kaydırma çubuğu yeniden boyanmış olur; ise FALSEkaydırma çubuğu yeniden boyanmıyor demektir.
Dönüş Değeri
Kaydırma kutusunun önceki konumu.
Açıklamalar
FALSE ayarıbRedraw, kaydırma çubuğu başka bir işleve yapılan sonraki bir çağrıyla yeniden çizildiğinde kullanışlıdır.
CWnd::SetScrollRange
Verilen kaydırma çubuğu için en düşük ve en yüksek konum değerlerini ayarlar.
void SetScrollRange(
int nBar,
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parametreler
nBar
Ayarlanacak kaydırma çubuğunu belirtir. Bu parametre aşağıdaki değerlerden biri olabilir:
SB_HORZPencerenin yatay kaydırma çubuğunun aralığını ayarlar.SB_VERTPencerenin dikey kaydırma çubuğunun aralığını ayarlar.
nMinPos
En düşük kaydırma konumunu belirtir.
nMaxPos
En yüksek kaydırma konumunu belirtir.
bRedraw
Kaydırma çubuğunun değişikliği yansıtacak şekilde yeniden çizilip çizilmeyeceğini belirtir. ise bRedraw TRUE, kaydırma çubuğu yeniden çizilir; ise FALSEkaydırma çubuğu yeniden çizilir.
Açıklamalar
Standart kaydırma çubuklarını gizlemek veya göstermek için de kullanılabilir.
Bir uygulama, kaydırma çubuğu bildirim iletisini işlerken kaydırma çubuğunu gizlemek için bu işlevi çağırmamalıdır.
Çağrısı üye işlevine SetScrollRange yapılan çağrıyı SetScrollPos hemen izlerse, bRedraw kaydırma çubuğunun iki kez çizilmesini önlemek için üye işlevindeki parametre SetScrollPos 0 olmalıdır.
Standart kaydırma çubuğunun varsayılan aralığı 0 ile 100 arasındadır. Kaydırma çubuğu denetiminin varsayılan aralığı boş (hem hem de nMinPos nMaxPos değerleri 0'dır). ve tarafından nMinPos nMaxPos belirtilen değerler arasındaki fark değerinden INT_MAXbüyük olmamalıdır.
CWnd::SetTimer
Bir sistem zamanlayıcı yükler.
UINT_PTR SetTimer(
UINT_PTR nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND,
UINT,
UINT_PTR,
DWORD));
Parametreler
nIDEvent
Sıfır olmayan bir zamanlayıcı tanımlayıcısı belirtir. Zamanlayıcı tanımlayıcısı benzersizse, bu değer tarafından SetTimerdöndürülür. Aksi takdirde, SetTimer yeni bir benzersiz değer belirler ve bunu döndürür. Bir pencere süreölçeri için (geri çağırma işlevi vardır NULL ), değerin yalnızca geçerli pencereyle ilişkili diğer windows zamanlayıcıları için benzersiz olması gerekir. Geri çağırma süreölçeri için değerin tüm işlemlerdeki tüm zamanlayıcılar için benzersiz olması gerekir. Bu nedenle, bir geri çağırma süreölçeri oluşturduğunuzda, döndürülen değerin belirttiğiniz değerden farklı olma olasılığı daha yüksektir.
nElapse
Zaman aşımı değerini veya aralığı milisaniye cinsinden belirtir.
lpfnTimer
İletileri işleyen uygulama tarafından sağlanan TimerProc geri çağırma işlevinin WM_TIMER adresini belirtir. Bu parametre iseNULLWM_TIMER, iletiler uygulamanın ileti kuyruğuna yerleştirilir ve nesnesi tarafından CWnd işlenir.
Dönüş Değeri
İşlev başarılı olursa yeni zamanlayıcının zamanlayıcı tanımlayıcısı. Bu değer, parametresi aracılığıyla nIDEvent geçirilen değere eşit olabilir veya olmayabilir. Bir uygulama, zamanlayıcıyı sonlandırmak için KillTimer her zaman dönüş değerini üye işlevine geçirmelidir. Başarılı olursa sıfır olmayan; aksi takdirde, 0.
Açıklamalar
Bir aralık değeri belirtilir ve aralık her geçtiğinde, sistem yükleme uygulamasının yükleme ileti kuyruğuna bir WM_TIMER ileti gönderir veya iletiyi uygulama tanımlı TimerProc bir geri çağırma işlevine geçirir.
lpfnTimer Geri çağırma işlevi olarak adlandırılmamalıdırTimerProc, ancak statik olarak bildirilmeli ve aşağıdaki gibi tanımlanmalıdır.
void CALLBACK TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time);
Örnek
Bu örnekte, iletileri işlemek WM_TIMER için , CWnd::OnTimerve CWnd::KillTimer kullanılırCWnd::SetTimer. İlk zamanlayıcı, içinde her 2 saniyede OnStartTimerbir ana çerçeve penceresine ileti WM_TIMER gönderecek şekilde ayarlanır. Olay işleyicisi OnTimer , ana çerçeve penceresi için iletileri işler WM_TIMER . Bu yöntem, bilgisayar hoparlörü her 2 saniyede bir bip sesine neden olur. İkinci zamanlayıcı her 3,75 saniyede bir geri çağırma işlevine bir ileti gönderir. OnStopTimer her zamanlayıcı kimliğini çağırarak CWnd::KillTimer her iki zamanlayıcıyı da durdurur.
void CMainFrame::OnStartTimer()
{
// This timer uses a WM_TIMER message, not a callback.
// Therefore, the timer is specific to this window.
// m_nWindowTimer is a UINT_PTR field.
m_nWindowTimer = SetTimer(1, 2000, NULL);
// For this demo, we specify an interval that won't overlap
// with the window timer.
m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);
// See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
CString str;
str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
TRACE(str);
#endif
}
void CALLBACK CMainFrame::MyTimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time
)
{
MessageBeep(0x00000030L); // Windows question sound.
}
void CMainFrame::OnStopTimer()
{
KillTimer(m_nWindowTimer);
KillTimer(m_nCallbackTimer);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
MessageBeep(0xFFFFFFFF); // Beep
// Call base class handler.
CMDIFrameWnd::OnTimer(nIDEvent);
}
CWnd::SetWindowContextHelpId
Bir yardım bağlamı tanımlayıcısını belirtilen pencereyle ilişkilendirmek için bu üye işlevini çağırın.
BOOL SetWindowContextHelpId(DWORD dwContextHelpId);
Parametreler
dwContextHelpId
Yardım bağlamı tanımlayıcısı.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Alt pencerenin yardım bağlamı tanımlayıcısı yoksa, üst penceresinin tanımlayıcısını devralır. Benzer şekilde, sahip olunan bir pencerenin yardım bağlamı tanımlayıcısı yoksa, sahip penceresinin tanımlayıcısını devralır. Bu yardım bağlamı tanımlayıcılarını devralma, uygulamanın bir iletişim kutusu ve tüm denetimleri için tek bir tanımlayıcı ayarlamasına olanak tanır.
Örnek
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);
CWnd::SetWindowPlacement
Bir pencere için gösteri durumunu ve normal (geri yüklenen), simge durumuna küçültülmüş ve ekranı kaplamış konumları ayarlar.
BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);
Parametreler
lpwndpl
Yeni gösteri durumunu ve konumlarını belirten bir WINDOWPLACEMENT yapıya işaret eder.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
CWnd::SetWindowPos
Alt, açılır pencere ve üst düzey pencerelerin boyutunu, konumunu ve Z sırasını değiştirir.
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags);
Parametreler
pWndInsertAfter
Bu CWnd nesneden CWnd önce gelecek nesneyi (daha yüksek) Z düzeninde tanımlar. Bu parametre, aşağıdaki değerlerden birinin işaretçisi CWnd veya işaretçisi olabilir:
wndBottomPencereyi Z düzeninin en altına yerleştirir. BuCWnden üstteki pencereyse, pencere en üstteki durumunu kaybeder; sistem pencereyi diğer tüm pencerelerin altına yerleştirir.wndTopPencereyi Z düzeninin en üstüne yerleştirir.wndTopMostPencereyi en üstteki olmayan tüm pencerelerin üzerine yerleştirir. Pencere devre dışı bırakıldığında bile en üstteki konumunu korur.wndNoTopMostPencereyi en üstteki olmayan tüm pencerelerin (diğer bir ifadeyle en üstteki tüm pencerelerin arkasında) en üste konumlandırır. Pencere zaten en üstteki olmayan bir pencereyse, bu bayrağın hiçbir etkisi olmaz.
Bu parametreyi kullanma hakkında kurallar için bu konunun "Açıklamalar" bölümüne bakın.
x
Pencerenin sol tarafının yeni konumunu belirtir.
y
Pencerenin üst kısmının yeni konumunu belirtir.
cx
Pencerenin yeni genişliğini belirtir.
cy
Pencerenin yeni yüksekliğini belirtir.
nFlags
Boyutlandırma ve konumlandırma seçeneklerini belirtir. Bu parametre aşağıdaki bayrakların bir bileşimi olabilir:
SWP_DRAWFRAMEPencerenin çevresine bir çerçeve çizer (pencere oluşturulduğunda tanımlanır).SWP_FRAMECHANGEDPencerenin boyutu değiştirilmese bile pencereye birWM_NCCALCSIZEileti gönderir. Bu bayrak belirtilmezse,WM_NCCALCSIZEyalnızca pencerenin boyutu değiştirildiğinde gönderilir.SWP_HIDEWINDOWPencereyi gizler.SWP_NOACTIVATEPencereyi etkinleştirmez. Bu bayrak ayarlanmamışsa, pencere etkinleştirilir ve en üstteki veya en üstteki olmayan grubun en üstüne taşınır (parametreninpWndInsertAfterayarına bağlı olarak).SWP_NOCOPYBITSİstemci alanının tüm içeriğini atar. Bu bayrak belirtilmezse, istemci alanının geçerli içeriği kaydedilir ve pencere boyutlandırıldıktan veya yeniden konumlandırıldıktan sonra istemci alanına geri kopyalanır.SWP_NOMOVEGeçerli konumu korur (veyparametrelerini yoksayarx).SWP_NOOWNERZORDERSahip penceresinin Z düzenindeki konumunu değiştirmez.SWP_NOREDRAWDeğişiklikleri yeniden çizmez. Bu bayrak ayarlanırsa, herhangi bir tür yeniden boyama gerçekleşmez. Bu, istemci alanı, istemci olmayan alan (başlık ve kaydırma çubukları dahil) ve taşınan pencerenin sonucunda ortaya çıkan üst pencerenin herhangi bir bölümü için geçerlidir. Bu bayrak ayarlandığında, uygulamanın pencerenin ve üst pencerenin yeniden çizilmesi gereken bölümlerini açıkça geçersiz kılması veya yeniden çizmesi gerekir.SWP_NOREPOSITIONileSWP_NOOWNERZORDERaynı.SWP_NOSENDCHANGINGPencerenin iletiyi almasınıWM_WINDOWPOSCHANGINGengeller.SWP_NOSIZEGeçerli boyutu korur (vecyparametrelerini yoksayarcx).SWP_NOZORDERGeçerli sıralamayı korur (yoksayarpWndInsertAfter).SWP_SHOWWINDOWPencereyi görüntüler.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde, 0.
Açıklamalar
Windows, ekranda Z düzenine göre sıralanır; Z sırasının en üstündeki pencere sırasıyla diğer tüm pencerelerin üzerinde görünür.
Alt pencerelerin tüm koordinatları istemci koordinatlarıdır (üst pencerenin istemci alanının sol üst köşesine göre).
Bir pencere, parametresini &wndTopMost olarak ayarlayıp pWndInsertAfter bayrağın ayarlanmadığından emin olarak SWP_NOZORDER veya pencerenin Z sırasını mevcut en üst pencerelerin üzerinde olacak şekilde ayarlayarak Z sırasının en üstüne taşınabilir. En üstte olmayan bir pencere en üstte yapıldığında, sahip olduğu pencereler de en üstte yapılır. Sahipleri değiştirilmez.
Z sırasının altına (&wndBottom) veya en üstteki olmayan herhangi bir pencereden sonra yeniden konumlandırıldıysa, en üstteki pencere artık en üstte değildir. En üstteki pencere en üstte olmayan bir pencere yapıldığında, tüm sahipleri ve sahip olduğu pencereler de en üstteki olmayan pencereler yapılır.
Belirtilmemişse SWP_NOACTIVATE ( SWP_NOZORDER yani, uygulama bir pencerenin aynı anda etkinleştirilmesini ve belirtilen Z sırasına yerleştirilmesini istediğinde), içinde pWndInsertAfter belirtilen değer yalnızca aşağıdaki durumlarda kullanılır:
&wndTopMostParametresinde ne belirtilir ne depWndInsertAfter&wndNoTopMostbelirtilir.Bu pencere etkin pencere değil.
Bir uygulama etkin olmayan bir pencereyi Z sırasının en üstüne getirmeden etkinleştiremez. Uygulamalar, etkinleştirilmiş bir pencerenin Z sırasını kısıtlama olmadan değiştirebilir.
En üstteki olmayan bir pencerenin en üstteki penceresi olabilir, ancak tersi geçerli değildir. En üstteki pencereye ait tüm pencereler (örneğin, bir iletişim kutusu) sahip olunan tüm pencerelerin sahiplerinin üzerinde kalmasını sağlamak için en üstteki pencere haline getirilir.
Windows 3.1 ve sonraki sürümleriyle, windows stilleri ayarlanarak WS_EX_TOPMOST Z düzeninin en üstüne taşınabilir ve orada kilitlenebilir. Böyle bir en üstteki pencere, devre dışı bırakıldığında bile en üstteki konumunu korur. Örneğin, WinHelp Always On Top komutu seçildiğinde Yardım penceresi en üstte olur ve uygulamanıza döndüğünüzde görünür durumda kalır.
En üstteki pencereyi oluşturmak için parametresine eşit olarak çağırın SetWindowPos pWndInsertAfter veya pencereyi oluştururken stili ayarlayınWS_EX_TOPMOST.&wndTopMost
Z düzeninde stile sahip WS_EX_TOPMOST pencereler varsa, değerle &wndTopMost taşınan bir pencere en üstteki olmayan tüm pencerelerin üstüne, ancak en üstteki pencerelerin altına yerleştirilir. Bir uygulama bit olmadan WS_EX_TOPMOST etkin olmayan bir pencereyi etkinleştirdiğinde, pencere en üstteki olmayan tüm pencerelerin üstüne ancak en üstteki pencerelerin altına taşınır.
Parametre CWnd &wndBottom en üstteki pWndInsertAfter pencere olduğunda çağrılırsaSetWindowPos, pencere en üstteki durumunu kaybeder (WS_EX_TOPMOST temizlenir) ve sistem pencereyi Z sırasının en altına yerleştirir.
Örnek
void CMyApp::OnHideApplication()
{
//m_pMainWnd is the main application window, a member of CMyApp
ASSERT_VALID(m_pMainWnd);
// hide the application's windows before closing all the documents
m_pMainWnd->ShowWindow(SW_HIDE);
m_pMainWnd->ShowOwnedPopups(FALSE);
// put the window at the bottom of z-order, so it isn't activated
m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
CWnd::SetWindowRgn
Pencerenin bölgesini ayarlamak için bu üye işlevini çağırın.
int SetWindowRgn(
HRGN hRgn,
BOOL bRedraw);
Parametreler
hRgn
Bir bölgenin tanıtıcısı.
bRedraw
ise TRUE, işletim sistemi bölgeyi ayarladıktan sonra pencereyi yeniden çizer; aksi takdirde, ayarlanmaz. Genellikle, pencerenin görünür olup olmadığını olarak ayarlayın bRedraw TRUE . olarak ayarlanırsaTRUE, sistem ve WM_WINDOWPOSCHANGED iletilerini pencereye gönderirWM_WINDOWPOSCHANGING.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri sıfır değildir. İşlev başarısız olursa, dönüş değeri sıfır olur.
Açıklamalar
Pencerenin pencere bölgesinin koordinatları pencerenin istemci alanına değil, pencerenin sol üst köşesine göredir.
için başarılı bir çağrıdan SetWindowRgnsonra, işletim sistemi bölge işleyicisi hRgntarafından belirtilen bölgeye sahip. İşletim sistemi bölgenin bir kopyasını oluşturmaz, bu nedenle bu bölge tanıtıcısıyla başka işlev çağrısı yapma ve bu bölge tutamacını kapatma.
CWnd::SetWindowText
Pencerenin başlığını belirtilen metne ayarlar.
void SetWindowText(LPCTSTR lpszString);
Parametreler
lpszString
Yeni başlık veya denetim metni olarak kullanılacak bir CString nesneye veya null ile sonlandırılan dizeye işaret edin.
Açıklamalar
Pencere bir denetimse, denetim içindeki metin ayarlanır.
Bu işlev, bu pencereye bir WM_SETTEXT ileti gönderilmesine neden olur.
Örnek
// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.
CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));
// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.
TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);
// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);
// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);
CWnd::ShowCaret
Ekrandaki şapka işaretini, şapka işaretinin geçerli konumunda gösterir.
void ShowCaret();
Açıklamalar
Gösterildikten sonra şapka işareti otomatik olarak yanıp söner.
ShowCaret Üye işlevi yalnızca geçerli bir şekle sahipse ve art arda iki veya daha fazla kez gizlenmediyse şapka işaretini gösterir. Şapka işareti bu pencereye ait değilse, şapka işareti gösterilmez.
Şapka işaretini gizlemek kümülatiftir. HideCaret Üye işlevi art arda beş kez çağrıldıysa, ShowCaret şapka işaretini göstermek için beş kez çağrılmalıdır.
Şapka işareti paylaşılan bir kaynaktır. Pencere yalnızca giriş odağına sahip olduğunda veya etkin olduğunda şapka işaretini göstermelidir.
Örnek
örneğine CWnd::CreateCaretbakın.
CWnd::ShowOwnedPopups
Bu pencereye ait tüm açılır pencereleri gösterir veya gizler.
void ShowOwnedPopups(BOOL bShow = TRUE);
Parametreler
bShow
Açılır pencerelerin gösterileceğini veya gizlenip gizlenmeyeceğini belirtir. Bu parametre ise TRUE, tüm gizli açılır pencereler gösterilir. Bu parametre ise FALSE, tüm görünür açılır pencereler gizlenir.
Örnek
örneğine CWnd::SetWindowPosbakın.
CWnd::ShowScrollBar
Kaydırma çubuğunu gösterir veya gizler.
void ShowScrollBar(
UINT nBar,
BOOL bShow = TRUE);
Parametreler
nBar
Kaydırma çubuğunun bir denetim mi yoksa pencerenin istemci olmayan alanının bir parçası mı olduğunu belirtir. İstemci olmayan alanın bir parçasıysa, nBar kaydırma çubuğunun yatay olarak mı, dikey olarak mı yoksa her ikisinde de mi konumlandırılmış olduğunu da gösterir. Aşağıdakilerden biri olmalıdır:
SB_BOTHPencerenin yatay ve dikey kaydırma çubuklarını belirtir.SB_HORZPencerenin yatay kaydırma çubuğu olduğunu belirtir.SB_VERTPencerenin dikey kaydırma çubuğu olduğunu belirtir.
bShow
Windows'un kaydırma çubuğunu gösterip göstermediğini veya gizlediğini belirtir. Bu parametre ise TRUEkaydırma çubuğu gösterilir; aksi takdirde kaydırma çubuğu gizlenir.
Açıklamalar
Bir uygulama, kaydırma çubuğu bildirim iletisini işlerken kaydırma çubuğunu gizlemek için aramamalıdır ShowScrollBar .
CWnd::ShowWindow
Pencerenin görünürlük durumunu ayarlar.
BOOL ShowWindow(int nCmdShow);
Parametreler
nCmdShow
öğesinin CWnd nasıl gösterileceğini belirtir. Aşağıdaki değerlerden biri olmalıdır:
SW_HIDEBu pencereyi gizler ve etkinleştirmeyi başka bir pencereye geçirir.SW_MINIMIZEPencereyi simge durumuna küçültür ve sistem listesindeki en üst düzey pencereyi etkinleştirir.SW_RESTOREPencereyi etkinleştirir ve görüntüler. Pencere simge durumuna küçültülmüş veya ekranı kaplamışsa, Windows pencereyi özgün boyutuna ve konumuna geri yükler.SW_SHOWPencereyi etkinleştirir ve geçerli boyutu ve konumunda görüntüler.SW_SHOWMAXIMIZEDPencereyi etkinleştirir ve ekranı kaplamış bir pencere olarak görüntüler.SW_SHOWMINIMIZEDPencereyi etkinleştirir ve simge olarak görüntüler.SW_SHOWMINNOACTIVEPencereyi simge olarak görüntüler. Şu anda etkin olan pencere etkin kalır.SW_SHOWNAPencereyi geçerli durumunda görüntüler. Şu anda etkin olan pencere etkin kalır.SW_SHOWNOACTIVATEPencereyi en son boyutu ve konumuyla görüntüler. Şu anda etkin olan pencere etkin kalır.SW_SHOWNORMALPencereyi etkinleştirir ve görüntüler. Pencere simge durumuna küçültülmüş veya ekranı kaplamışsa, Windows pencereyi özgün boyutuna ve konumuna geri yükler.
Dönüş Değeri
Pencere daha önce görünürse sıfır olmayan; daha önce gizliyse CWnd 0.
Açıklamalar
ShowWindow ile CWinApp::m_nCmdShowana pencere için uygulama başına yalnızca bir kez çağrılmalıdır. sonraki çağrıları ShowWindow , tarafından CWinApp::m_nCmdShowbelirtilen değer yerine yukarıda listelenen değerlerden birini kullanmalıdır.
Örnek
örneğine CWnd::CalcWindowRectbakın.
CWnd::SubclassDlgItem
Bu üye işlevini bir iletişim kutusu şablonundan oluşturulan denetimi "dinamik olarak alt sınıfa" çağırıp bu CWnd nesneye ekleyin.
BOOL SubclassDlgItem(
UINT nID,
CWnd* pParent);
Parametreler
nID
Denetimin kimliği.
pParent
Denetimin üst öğesi (genellikle bir iletişim kutusu).
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Bir denetim dinamik olarak alt sınıflandırıldığında, Windows iletileri önce 'nin ileti eşlemesi üzerinden CWndyönlendirilir ve 'nin sınıfında ileti işleyicilerini CWndçağırır. Temel sınıfa geçirilen iletiler denetimdeki varsayılan ileti işleyicisine geçirilir.
Bu üye işlevi, Windows denetimini bir CWnd nesneye ekler ve denetimin WndProc ve AfxWndProc işlevlerinin yerini alır. işlevi, eski WndProc değerini üye işlevi tarafından GetSuperWndProcAddr döndürülen konumda depolar.
Örnek
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);
CWnd::SubclassWindow
Bu üye işlevini bir pencereyi "dinamik olarak alt sınıfa" çağırıp bu CWnd nesneye ekleyin.
BOOL SubclassWindow(HWND hWnd);
Parametreler
hWnd
Pencerenin tutamacı.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Bir pencere dinamik olarak alt sınıflandığında, Windows iletileri önce 'nin ileti eşlemesi üzerinden CWndyönlendirilir ve 'nin sınıfında ileti işleyicilerini CWndçağırır. Temel sınıfa geçirilen iletiler, penceredeki varsayılan ileti işleyicisine geçirilir.
Bu üye işlevi, Windows denetimini bir CWnd nesneye ekler ve pencerenin WndProc ve AfxWndProc işlevlerinin yerini alır. işlevi, nesnedeki CWnd eskiye WndProc yönelik bir işaretçi depolar.
Not
Bu işlev çağrıldığında pencere zaten bir MFC nesnesine eklenmemiş olmalıdır.
Örnek
// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_EDIT)
{
//Edit control
if (m_edit.GetSafeHwnd() == NULL)
m_edit.SubclassWindow(pWnd->GetSafeHwnd());
}
else if (nCtlColor == CTLCOLOR_LISTBOX)
{
//ListBox control
if (m_listbox.GetSafeHwnd() == NULL)
m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
}
HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
void CSuperComboBox::OnDestroy()
{
//unsubclass edit and list box before destruction
if (m_edit.GetSafeHwnd() != NULL)
m_edit.UnsubclassWindow();
if (m_listbox.GetSafeHwnd() != NULL)
m_listbox.UnsubclassWindow();
CComboBox::OnDestroy();
}
CWnd::UnlockWindowUpdate
ile CWnd::LockWindowUpdatekilitlenmiş bir pencerenin kilidini açmak için bu üye işlevini çağırabilirsiniz.
void UnlockWindowUpdate();
Açıklamalar
kullanılarak LockWindowUpdatetek seferde yalnızca bir pencere kilitlenebilir. Pencereleri kilitleme hakkında daha fazla bilgi için bkz CWnd::LockWindowUpdate . veya Win32 işlevi LockWindowUpdate .
CWnd::UnsubclassWindow
Özgün değerine geri dönmek WndProc ve HWND tarafından tanımlanan pencereyi nesneden ayırmak için bu üye işlevini çağırın CWnd .
HWND UnsubclassWindow();
Dönüş Değeri
Aboneliği kaldırılmış pencere tutamacı.
Örnek
örneğine CWnd::SubclassWindowbakın.
CWnd::UpdateData
bir iletişim kutusundaki verileri başlatmak veya iletişim kutusu verilerini alıp doğrulamak için bu üye işlevini çağır.
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
Parametreler
bSaveAndValidate
İletişim kutusunun başlatıldığını (FALSE) veya verilerin alınıp alınmadığını (TRUE) gösteren bayrak.
Dönüş Değeri
İşlem başarılı olursa sıfır olmayan; aksi takdirde 0. ise bSaveAndValidate TRUEsıfır olmayan bir dönüş değeri, verilerin başarıyla doğrulandığını gösterir.
Açıklamalar
Çerçeve, varsayılan uygulamasında CDialog::OnInitDialogkalıcı bir iletişim kutusu oluşturulduğunda olarak ayarlanmış FALSE olarak otomatik olarak çağrır UpdateData bSaveAndValidate. Çağrı, iletişim kutusu görünür olmadan önce gerçekleşir. Varsayılan uygulaması CDialog::OnOK , bu üye işlevini bSaveAndValidate verileri almak için olarak ayarlanmış TRUE olarak çağırır ve başarılı olursa iletişim kutusunu kapatır. (İletişim kutusunda İptal düğmesine tıklanırsa, veriler alınmadan iletişim kutusu kapatılır.)
CWnd::UpdateDialogControls
Geri çağırma mekanizmasını kullanan bir iletişim kutusunda veya pencerede iletişim kutusu düğmelerinin ve diğer denetimlerin durumunu güncelleştirmek için bu üye işlevini çağırın ON_UPDATE_COMMAND_UI .
void UpdateDialogControls(
CCmdTarget* pTarget,
BOOL bDisableIfNoHndler);
Parametreler
pTarget
Uygulamanın ana çerçeve penceresini gösterir ve güncelleştirme iletilerini yönlendirmek için kullanılır.
bDisableIfNoHndler
Güncelleştirme işleyicisi olmayan bir denetimin otomatik olarak devre dışı olarak görüntülenip görüntülenmeyeceğini gösteren bayrak.
Açıklamalar
Bir alt denetimin işleyicisi yoksa ve bDisableIfNoHndler ise TRUE, alt denetim devre dışı bırakılır.
Çerçeve, uygulamanın boşta işlemesinin bir parçası olarak iletişim çubukları veya araç çubuklarındaki denetimler için bu üye işlevini çağırır.
CWnd::UpdateLayeredWindow
Katmanlı pencerenin konumunu, boyutunu, şeklini, içeriğini ve saydamlığını güncelleştirir.
BOOL UpdateLayeredWindow(
CDC* pDCDst,
POINT* pptDst,
SIZE* psize,
CDC* pDCSrc,
POINT* pptSrc,
COLORREF crKey,
BLENDFUNCTION* pblend,
DWORD dwFlags);
Parametreler
pDCDst
Ekran için cihaz bağlamı işaretçisi. Pencere içeriği güncelleştirildiğinde palet renk eşleştirmesi için kullanılır. ise pDCDst NULL, varsayılan palet kullanılır.
ise pDCSrc NULLolmalıdır pDCDst NULL.
pptDst
Katmanlı pencerenin yeni ekran konumunu belirten bir POINT yapı işaretçisi. Geçerli konum değişmiyorsa, pptDst olabilir NULL.
psize
Katmanlı pencerenin yeni boyutunu belirten bir SIZE yapı işaretçisi. Pencerenin boyutu değişmiyorsa, psize olabilir NULL.
ise pDCSrc NULLolmalıdır psize NULL.
pDCSrc
Katmanlı pencereyi tanımlayan yüzey için DC işaretçisi. Pencerenin şekil ve görsel bağlamı değişmiyorsa, pDCSrc olabilir NULL.
pptSrc
Cihaz bağlamında katmanın konumunu belirten bir POINT yapıya yönelik işaretçi.
ise pDCSrc NULLolmalıdır pptSrc NULL.
crKey
Katmanlı pencere oluştururken kullanılacak saydamlık renk anahtarını belirten bir COLORREF değer işaretçisi. Bu renkte pencere tarafından boyanan tüm pikseller saydam olur. oluşturmak COLORREFiçin RGB makrosunu kullanın.
pblend
Katmanlı pencere oluştururken kullanılacak saydamlık değerini belirten bir BLENDFUNCTION yapı işaretçisi.
dwFlags
Bir eylem gerçekleştirmeyi belirtir. Bu parametre aşağıdaki değerlerden biri veya daha fazlası olabilir. Olası değerlerin listesi için bkz UpdateLayeredWindow. .
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi işlevinin UpdateLayeredWindowişlevselliğine öykünmektedir.
CWnd::UpdateWindow
Güncelleştirme bölgesi boş değilse bir WM_PAINT ileti göndererek istemci alanını güncelleştirir.
void UpdateWindow();
Açıklamalar
UpdateWindow Üye işlevi, uygulama kuyruğunun atlanmasıyla doğrudan bir WM_PAINT ileti gönderir. Güncelleştirme bölgesi boşsa WM_PAINT gönderilmez.
Örnek
// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated. It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.
void CMdiView::OnChangeRect()
{
// Change Rectangle size.
m_rcBox = CRect(20, 20, 210, 210);
// Invalidate window so entire client area
// is redrawn when UpdateWindow is called.
Invalidate();
// Update Window to cause View to redraw.
UpdateWindow();
}
// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
// Other draw code here.
pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}
CWnd::ValidateRect
Dikdörtgeni pencerenin güncelleştirme bölgesinden kaldırarak verilen dikdörtgenin içindeki istemci alanını doğrular.
void ValidateRect(LPCRECT lpRect);
Parametreler
lpRect
Güncelleştirme bölgesinden kaldırılacak dikdörtgenin istemci koordinatlarını içeren bir CRect nesneye veya RECT yapıya işaret eder. ise lpRect NULL, tüm pencere doğrulanır.
Açıklamalar
BeginPaint Üye işlevi istemci alanının tamamını otomatik olarak doğrular. ValidateRect Güncelleştirme bölgesinin bir bölümünün bir sonraki oluşturulmadan önce WM_PAINT doğrulanması gerekiyorsa ne ne de ValidateRgn üye işlevi çağrılmamalıdır.
Geçerli güncelleştirme bölgesi doğrulanana kadar Windows ileti oluşturmaya WM_PAINT devam eder.
CWnd::ValidateRgn
Pencerenin geçerli güncelleştirme bölgesinden bölgeyi kaldırarak belirtilen bölge içindeki istemci alanını doğrular.
void ValidateRgn(CRgn* pRgn);
Parametreler
pRgn
CRgn Güncelleştirme bölgesinden kaldırılacak alanı tanımlayan bir bölgeyi tanımlayan nesne işaretçisi. Bu parametre ise NULL, istemci alanının tamamı kaldırılır.
Açıklamalar
Belirtilen bölge daha önce bir bölge işlevi tarafından oluşturulmuş olmalıdır. Bölge koordinatlarının istemci koordinatları olduğu varsayılır.
BeginPaint Üye işlevi istemci alanının tamamını otomatik olarak doğrular. ValidateRect Bir sonraki WM_PAINT ileti oluşturulmadan önce güncelleştirme bölgesinin bir bölümünün doğrulanması gerekiyorsa ne ne de ValidateRgn üye işlevi çağrılmamalıdır.
CWnd::WindowFromPoint
Belirtilen noktayı içeren pencereyi alır; point ekrandaki bir noktanın ekran koordinatlarını belirtmelidir.
static CWnd* PASCAL WindowFromPoint(POINT point);
Parametreler
point
denetlenecek noktayı tanımlayan bir CPoint nesne veya POINT veri yapısı belirtir.
Dönüş Değeri
Noktanın bulunduğu pencere nesnesinin işaretçisi. Bu, NULL belirtilen noktada pencere yoksa olur. Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
Açıklamalar
WindowFromPoint , nokta pencerenin içinde olsa bile gizli veya devre dışı bırakılmış bir pencereyi almaz. Bir uygulama, kısıtlayıcı olmayan bir arama için üye işlevini kullanmalıdır ChildWindowFromPoint .
CWnd::WindowProc
Bir nesne için CWnd bir Windows yordamı (WindowProc) sağlar.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametreler
message
İşlenecek Windows iletisini belirtir.
wParam
İletiyi işlerken kullanılan ek bilgiler sağlar. Parametre değeri iletiye bağlıdır.
lParam
İletiyi işlerken kullanılan ek bilgiler sağlar. Parametre değeri iletiye bağlıdır.
Dönüş Değeri
Dönüş değeri iletiye bağlıdır.
Açıklamalar
İletileri pencerenin ileti eşlemesi üzerinden dağıtıyor.
CWnd::WinHelp
WinHelp uygulamasını başlatmak için çağrıldı.
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
Parametreler
dwData
Ek verileri belirtir. Kullanılan değer parametresinin nCmd değerine bağlıdır.
nCmd
İstenen yardım türünü belirtir. Olası değerlerin listesi ve parametreyi dwData nasıl etkiledikleri için Windows SDK'sında Windows işlevine bakın WinHelp .
Açıklamalar
Daha fazla bilgi edinmek için bkz. CWinApp::WinHelp.
CWnd::RegisterTouchWindow
Windows dokunma desteğini kaydeder veya kaydını açar.
BOOL RegisterTouchWindow(
BOOL bRegister = TRUE,
ULONG ulFlags = 0);
Parametreler
bRegister
TRUE Windows dokunma desteğini kaydetmeyi gösterir; FALSE yoksa.
ulFlags
İsteğe bağlı değişiklikleri belirten bit bayrakları kümesi. Bu alan şu değerlerden 0 veya birini içerebilir: TWF_FINETOUCH, TWF_WANTPALM.
Dönüş Değeri
TRUE başarılı olursa; aksi takdirde FALSE.
Açıklamalar
CWnd::ResizeDynamicLayout
Pencere için dinamik düzen etkinse, pencere boyutu alt pencerelerin düzenini ayarlamak üzere değiştiğinde çerçeve tarafından çağrılır.
virtual void ResizeDynamicLayout();
Açıklamalar
Ayrıca bkz.
CCmdTarget Sınıf
Hiyerarşi Grafiği
CFrameWnd Sınıf
CView Sınıf



