CWnd Sınıf

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

CObject

CCmdTarget

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_VISIBLE Başlangıçta görünen bir pencere oluşturur. Denetimin normal pencereler gibi hemen görünür olmasını istiyorsanız gereklidir.

  • WS_DISABLED Baş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ği BorderStyle varsa ayarlanabilir.

  • WS_GROUP Bir 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 denetimden WS_GROUP sonra stille tanımlanan tüm denetimler aynı gruba aittir. Stile WS_GROUP sahip bir sonraki denetim grubu sonlandırır ve sonraki grubu başlatır.

  • WS_TABSTOP Kullanıcı SEKME tuşuna bastığında klavye odağını alabilen bir denetim belirtir. SEKME tuşuna basmak klavye odağını stilin bir sonraki denetimine WS_TABSTOP değ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_READWRITE Ek öznitelikleri olmayan okuma-yazma veri dosyaları.

  • DDL_READONLY Salt okunur dosyalar.

  • DDL_HIDDEN Gizli dosyalar.

  • DDL_SYSTEM Sistem dosyaları.

  • DDL_DIRECTORY Dizin.

  • DDL_ARCHIVE Arşiv.

  • DDL_POSTMSGSLB_DIR bayrak. LB_DIR Bayrak ayarlanırsa, Windows tarafından DlgDirList oluşturulan iletileri uygulamanın kuyruğuna yerleştirir; aksi takdirde, doğrudan iletişim kutusu yordamına gönderilir.

  • DDL_DRIVES Sürücü. DDL_DRIVES Bayrak ayarlanırsa, DDL_EXCLUSIVE bayrak 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ız DlgDirList : bir kez bayrak kümesiyle DDL_DRIVES ve 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_READWRITE Ek öznitelikleri olmayan okuma-yazma veri dosyaları.

  • DDL_READONLY Salt okunur dosyalar.

  • DDL_HIDDEN Gizli dosyalar.

  • DDL_SYSTEM Sistem dosyaları.

  • DDL_DIRECTORY Dizin.

  • DDL_ARCHIVE Arşiv.

  • DDL_POSTMSGSCB_DIR bayrak. CB_DIR Bayrak ayarlanırsa, Windows tarafından DlgDirListComboBox oluşturulan iletileri uygulamanın kuyruğuna yerleştirir; aksi takdirde, doğrudan iletişim kutusu yordamına gönderilir.

  • DDL_DRIVES Sürücü. DDL_DRIVES Bayrak ayarlanırsa, DDL_EXCLUSIVE bayrak 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ız DlgDirListComboBox : bir kez bayrak kümesiyle DDL_DRIVES ve 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_BOTH Pencereyle ilişkili yatay ve dikey kaydırma çubuklarının oklarını etkinleştirir veya devre dışı bırakır.

  • SB_HORZ Pencereyle ilişkilendirilmiş yatay kaydırma çubuğunun oklarını etkinleştirir veya devre dışı bırakır.

  • SB_VERT Pencereyle 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_BOTH Kaydırma çubuğunun her iki oklarını da etkinleştirir (varsayılan).

  • ESB_DISABLE_LTUP Yatay kaydırma çubuğunun sol okunu veya dikey kaydırma çubuğunun yukarı okunu devre dışı bırakır.

  • ESB_DISABLE_RTDN Yatay kaydırma çubuğunun sağ okunu veya dikey kaydırma çubuğunun aşağı okunu devre dışı bırakır.

  • ESB_DISABLE_BOTH Kaydı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_CACHEveya CLASSDC penceresi yerine önbellekten bir cihaz bağlamı OWNDC döndürür. ve CS_CLASSDCgeçersiz kılmalarıCS_OWNDC.

  • DCX_CLIPCHILDREN Pencerenin altındaki tüm alt pencerelerin görünür bölgelerini CWnd dışlar.

  • DCX_CLIPSIBLINGS Pencerenin üzerindeki tüm eşdüzey pencerelerin görünür bölgelerini CWnd dışlar.

  • DCX_EXCLUDERGN tarafından prgnClip tanımlanan kırpma bölgesini, döndürülen cihaz bağlamının görünür bölgesinden dışlar.

  • DCX_INTERSECTRGN tarafından tanımlanan prgnClip kırpma bölgesini, döndürülen cihaz bağlamının görünür bölgesi içinde kesişer.

  • DCX_LOCKWINDOWUPDATE Aksi takdirde bu pencereyi dışlayan bir LockWindowUpdate ç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 pencerenin WS_CLIPCHILDREN ve WS_PARENTDC stil bitlerini yoksayar. Bu değer, cihaz bağlamının kaynağını pencerenin sol üst köşesine CWnd ayarlar.

  • 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_HORZ Yatay kaydırma çubuğunun konumunu alır.

  • SB_VERT Dikey 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_CTL Kaydırma çubuğu denetiminin parametrelerini alır. Veri m_hWnd üyesi kaydırma çubuğu denetiminin tutamacı olmalıdır.

  • SB_HORZ Pencerenin standart yatay kaydırma çubuğunun parametrelerini alır.

  • SB_VERT Pencerenin 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_HORZ Yatay kaydırma çubuğunun kaydırma sınırını alır.

  • SB_VERT Dikey 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_HORZ Yatay kaydırma çubuğunun konumunu alır.

  • SB_VERT Dikey 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_HORZ Yatay kaydırma çubuğunun konumunu alır.

  • SB_VERT Dikey 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:

  • SIMPLEREGION Bölgenin üst üste gelen kenarlıkları yok.

  • COMPLEXREGION Bölgenin kenarlıkları çakışıyor.

  • NULLREGION Bölge boş.

  • ERROR Hiç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_HWNDFIRST Alt pencereyse CWnd , ilk eşdüzey pencereyi döndürür. Aksi takdirde, listedeki ilk üst düzey pencereyi döndürür.

  • GW_HWNDLAST Bir alt pencereyse CWnd , son eşdüzey pencereyi döndürür. Aksi takdirde, listedeki son üst düzey pencereyi döndürür.

  • GW_HWNDNEXT Pencere yöneticisinin listesindeki bir sonraki pencereyi döndürür.

  • GW_HWNDPREV Pencere yöneticisinin listesindeki önceki pencereyi döndürür.

  • GW_OWNER Sahibi tanımlar CWnd .

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:

  • NULLREGION Bölge boş.

  • SIMPLEREGION Bölge tek bir dikdörtgendir.

  • COMPLEXREGION Bölge birden fazla dikdörtgendir.

  • ERROR Bir 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_BYCOMMANDnIDHiliteItem Menü öğesi kimliği (varsayılan yorumlama) olarak yorumlar.

  • MF_BYPOSITIONnIDHiliteItem Menü öğ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
Ortada beyaz x bulunan kırmızı bir daireden oluşan Stop veya X simgesi. MB_ICONHAND, MB_ICONSTOPve MB_ICONERROR
Yardım veya soru işareti simgesi, içinde soru işareti olan bir düşünce balonu simgesinden oluşur. MB_ICONQUESTION
Önemli veya ünlem işareti simgesi, içinde siyah ünlem işareti bulunan sarı üçgenden oluşur. MB_ICONEXCLAMATION ve MB_ICONWARNING
Bilgi veya harf I simgesi, içinde küçük harf i olan bir düşünce kabarcığını birleştirme. 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_NOSIZE Geçerli boyutu korur.

  • SWP_NOMOVE Geçerli konumu korur.

  • SWP_NOZORDER Geçerli Z sırasını korur.

  • SWP_NOACTIVATE Pencereyi 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_NOSIZE Geçerli boyutu korur.

  • SWP_NOMOVE Geçerli konumu korur.

  • SWP_NOZORDER Geçerli Z sırasını korur.

  • SWP_NOACTIVATE Pencereyi 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_INACTIVE Pencere devre dışı bırakılıyor.

  • WA_ACTIVE Pencere, fare tıklaması dışında bir yöntemle etkinleştiriliyor (örneğin, pencereyi seçmek için klavye arabirimi kullanılarak).

  • WA_CLICKACTIVE Pencere 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_CLEAR KULLANıCı arabirimi durum öğesi (tarafından nUIElementbelirtilen) gizlenmelidir.

  • UIS_INITIALIZE Kullanıcı arabirimi durum öğesi (tarafından nUIElementbelirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüne WM_CHANGEUISTATEbakın.

  • UIS_SET KULLANıCı arabirimi durum öğesi (tarafından nUIElementbelirtilen) 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_HIDEACCEL Klavye hızlandırıcıları.

  • UISF_HIDEFOCUS Odak göstergeleri.

  • UISF_ACTIVE Windows 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_BTN Düğme denetimi

  • CTLCOLOR_DLG İletişim kutusu

  • CTLCOLOR_EDIT Denetimi düzenle

  • CTLCOLOR_LISTBOX Liste kutusu denetimi

  • CTLCOLOR_MSGBOX İleti kutusu

  • CTLCOLOR_SCROLLBAR Kaydırma çubuğu denetimi

  • CTLCOLOR_STATIC Statik 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:

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_DIALOGBOX Bir iletişim kutusu görüntülendiğinden sistem boşta.

  • MSGF_MENU Bir 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_BUTTON Düğme (genel).

  • DLGC_DEFPUSHBUTTON Varsayılan basma düğmesi.

  • DLGC_HASSETSELEM_SETSEL Ileti.

  • DLGC_UNDEFPUSHBUTTON Varsayı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_BUTTON kullanabilir.)

  • DLGC_RADIOBUTTON Seçenek düğmesi.

  • DLGC_STATIC Statik denetim.

  • DLGC_WANTALLKEYS Tüm klavye girişi.

  • DLGC_WANTARROWS Ok tuşları.

  • DLGC_WANTCHARSWM_CHAR Ileti.

  • DLGC_WANTMESSAGE Tüm klavye girişi. Uygulama bu iletiyi denetime geçirir.

  • DLGC_WANTTAB SEKME 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_LEFT Ekranı en sola kaydırın.

  • SB_ENDSCROLL Bitiş kaydırması.

  • SB_LINELEFT Sola kaydırın.

  • SB_LINERIGHT Sağa kaydırın.

  • SB_PAGELEFT Bir sayfa sola kaydırın.

  • SB_PAGERIGHT Bir sayfa sağa kaydırın.

  • SB_RIGHT Ekranı en sağa kaydırın.

  • SB_THUMBPOSITION Mutlak konuma kaydırın. Geçerli konum parametresi tarafından nPos belirtilir.

  • SB_THUMBTRACK Kaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum parametresi tarafından nPos belirtilir.

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_BOTTOM Sağa doğru kaydırın.

  • SB_ENDSCROLL Bitiş kaydırması.

  • SB_LINEDOWN Bir satır aşağı kaydırın.

  • SB_LINEUP Bir satır yukarı kaydırın.

  • SB_PAGEDOWN Bir sayfa aşağı kaydırın.

  • SB_PAGEUP Bir sayfa yukarı kaydırın.

  • SB_THUMBPOSITION Mutlak konuma kaydırın. Geçerli konum içinde nPossağlanır.

  • SB_TOP Ekranı 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_ACTIVATE Nesneyi etkinleştirin CWnd .

  • MA_NOACTIVATE Nesneyi etkinleştirmeyin CWnd .

  • MA_ACTIVATEANDEAT nesnesini etkinleştirin CWnd ve fare olayını atın.

  • MA_NOACTIVATEANDEAT Nesneyi etkinleştirmeyin CWnd ve 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun basılı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Ortadaki fare düğmesi aşağıysa ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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, iletilerde WM_NOTIFY ANSI 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 penceresine NF_REQUERY gönderilir.
  • NF_REQUERY - İleti, bir denetimin bu iletinin NF_QUERY biçimini üst penceresine gönderme isteğidir. Bu istek üst pencereden gönderilir ve denetimden iletilerde WM_NOTIFY kullanılacak yapı türü hakkında üst öğeyi yeniden sorgulamasını ister. nCommand parametresi 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şmuştur.

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_CREATE Alt pencere oluşturuluyor.

  • WM_DESTROY Alt pencere yok ediliyor.

  • WM_LBUTTONDOWN Kullanıcı fare imlecini alt pencerenin üzerine yerleştirmiş ve sol fare düğmesine tıklamıştır.

  • WM_MBUTTONDOWN Kullanıcı fare imlecini alt pencerenin üzerine yerleştirmiş ve ortadaki fare düğmesine tıklamıştır.

  • WM_RBUTTONDOWN Kullanı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_HIDEFOCUS Odak göstergeleri gizlidir.

  • UISF_HIDEACCEL Klavye hızlandırıcıları gizlenir.

  • UISF_ACTIVE Windows 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_CONTROL CTRL tuşunun devre dışı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Orta fare düğmesinin aşağı olup olmadığını ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun devre dışı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Orta fare düğmesinin aşağı olup olmadığını ayarlayın.

  • MK_RBUTTON Sağ fare düğmesi aşağıysa ayarlayın.

  • MK_SHIFT SHIFT 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_CONTROL CTRL tuşunun devre dışı olup olmadığını ayarlayın.

  • MK_LBUTTON Sol fare düğmesi aşağıysa ayarlayın.

  • MK_MBUTTON Orta fare düğmesinin aşağı olup olmadığını ayarlayın.

  • MK_SHIFT SHIFT 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_MAXIMIZED Pencere ekranı kaplamış.

  • SIZE_MINIMIZED Pencere simge durumuna küçültüldü.

  • SIZE_RESTORED Pencere yeniden boyutlandırıldı, ancak ne uygulanıyor ne de SIZE_MINIMIZED SIZE_MAXIMIZED uygulanı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_EXSTYLE Pencerenin genişletilmiş stilleri değişti.

  • GWL_STYLE Pencerenin 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_EXSTYLE Pencerenin genişletilmiş stilleri değişti.

  • GWL_STYLE Pencerenin 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_CLOSECWnd Nesneyi kapatın.

  • SC_HOTKEY Uygulama tarafından CWnd belirtilen kısayol anahtarıyla ilişkili nesneyi etkinleştirin. düşük sıralı sözcüğü lParam , etkinleştirecek pencerenin öğesini tanımlar HWND .

  • SC_HSCROLL Yatay olarak kaydırın.

  • SC_KEYMENU Tuş vuruşu aracılığıyla menü alma.

  • SC_MAXIMIZE (veya SC_ZOOM) Nesneyi ekranı kapla CWnd .

  • SC_MINIMIZE (veya SC_ICON) Nesneyi simge durumuna küçültün CWnd .

  • SC_MOUSEMENU Fare tıklaması ile menü alma.

  • SC_MOVECWnd Nesneyi taşıyın.

  • SC_NEXTWINDOW Sonraki pencereye gitme.

  • SC_PREVWINDOW Önceki pencereye gitme.

  • SC_RESTORE Pencereyi normal konuma ve boyuta geri yükleyin.

  • SC_SCREENSAVE Dosyanın [boot] bölümünde belirtilen ekran koruyucu uygulamasını yürütür SYSTEM.INI .

  • SC_SIZE Nesneyi boyutlandırın CWnd .

  • SC_TASKLIST Windows Görev Yöneticisi uygulamasını yürütür veya etkinleştirir.

  • SC_VSCROLL Dikey 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_HOTKEY Uygulama 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:

  • IDABORT Kullanıcı yazılabilir bir İptal düğmesine tıkladı.

  • IDCANCEL Kullanıcı yazılabilir bir İptal düğmesine tıkladı.

  • IDCLOSE Kullanıcı eğitim kartını kapattı.

  • IDHELP Kullanıcı yazılabilir bir Windows Yardımı düğmesine tıkladı.

  • IDIGNORE Kullanıcı yazılabilir bir Yoksay düğmesine tıkladı.

  • IDOK Kullanıcı yazılabilir bir Tamam düğmesine tıkladı.

  • IDNO Kullanıcı yazılabilir bir Hayır düğmesine tıkladı.

  • IDRETRY Kullanıcı yazılabilir bir Yeniden Deneme düğmesine tıkladı.

  • HELP_TCARD_DATA Kullanıcı yazılabilir bir düğmeye tıkladı. parametresi, dwActionData yardım yazarı tarafından belirtilen uzun bir tamsayı içerir.

  • HELP_TCARD_NEXT Kullanıcı yazılabilir bir İleri düğmesine tıkladı.

  • HELP_TCARD_OTHER_CALLER Başka bir uygulama eğitim kartları istedi.

  • IDYES Kullanı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_hWnd Pencere tutamacı

  • uId = (UINT)hWndChild Alt pencere tutamacı

  • uFlags |= TTF_IDISHWND Aracın tutamacı

  • lpszText = LPSTR_TEXTCALLBACK Belirtilen 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_CLEAR KULLANıCı arabirimi durum öğesi (tarafından nUIElementbelirtilen) gizlenmelidir.

  • UIS_INITIALIZE Kullanıcı arabirimi durum öğesi (tarafından nUIElementbelirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüne WM_UPDATEISTATEbakın.

  • UIS_SET KULLANıCı arabirimi durum öğesi (tarafından nUIElementbelirtilen) 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_HIDEACCEL Klavye hızlandırıcıları.

  • UISF_HIDEFOCUS Odak göstergeleri.

  • UISF_ACTIVE Windows 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_BOTTOM Ekranı en alta kaydırın.

  • SB_ENDSCROLL Bitiş kaydırması.

  • SB_LINEDOWN Bir satır aşağı kaydırın.

  • SB_LINEUP Bir satır yukarı kaydırın.

  • SB_PAGEDOWN Bir sayfa aşağı kaydırın.

  • SB_PAGEUP Bir sayfa yukarı kaydırın.

  • SB_THUMBPOSITION Mutlak konuma kaydırın. Geçerli konum içinde nPossağlanır.

  • SB_THUMBTRACK Kaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum içinde nPossağlanır.

  • SB_TOP En ü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_BOTTOM Ekranı en alta kaydırın.

  • SB_ENDSCROLL Bitiş kaydırması.

  • SB_LINEDOWN Bir satır aşağı kaydırın.

  • SB_LINEUP Bir satır yukarı kaydırın.

  • SB_PAGEDOWN Bir sayfa aşağı kaydırın.

  • SB_PAGEUP Bir sayfa yukarı kaydırın.

  • SB_THUMBPOSITION Mutlak konuma kaydırın. Geçerli konum içinde nPossağlanır.

  • SB_TOP En ü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_CHECKVISIBLE Pencereyi yalnızca görünür durumdaysa çizin.

  • PRF_CHILDREN Tüm görünür alt pencereleri çizin.

  • PRF_CLIENT Pencerenin istemci alanını çizin.

  • PRF_ERASEBKGND Pencereyi çizmeden önce arka planı silin.

  • PRF_NONCLIENT Pencerenin istemci olmayan alanını çizin.

  • PRF_OWNED Sahip 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_CHECKVISIBLE hiçbir şey yapma.

  • belirtilirse PRF_NONCLIENT , verilen cihaz bağlamında istemci olmayan alanı çizin.

  • Belirtilirse PRF_ERASEBKGND pencereye bir WM_ERASEBKGND ileti gönderin.

  • Belirtilirse PRF_CLIENT pencereye bir WM_PRINTCLIENT ileti gönderin.

  • Ayarlandıysa PRF_CHILDREN , her görünür alt pencereye bir WM_PRINT ileti gönderin.

  • Ayarlanırsa PRF_OWNED , görünür olan her pencereye bir WM_PRINT ileti 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_CHECKVISIBLE Pencereyi yalnızca görünür durumdaysa çizin.

  • PRF_CHILDREN Tüm görünür alt pencereleri çizin.

  • PRF_CLIENT Pencerenin istemci alanını çizin.

  • PRF_ERASEBKGND Pencereyi çizmeden önce arka planı silin.

  • PRF_NONCLIENT Pencerenin istemci olmayan alanını çizin.

  • PRF_OWNED Sahip 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_ERASE Pencere yeniden boyandığında pencerenin ileti WM_ERASEBKGND almasına neden olur. Bayrağın RDW_INVALIDATE da belirtilmesi gerekir; aksi takdirde RDW_ERASE hiçbir etkisi olmaz.

  • RDW_FRAME Pencerenin istemci olmayan alanının güncelleştirme bölgesiyle kesişen herhangi bir bölümünün ileti WM_NCPAINT almasına neden olur. Bayrağın RDW_INVALIDATE da belirtilmesi gerekir; aksi takdirde RDW_FRAME hiçbir etkisi olmaz.

  • RDW_INTERNALPAINT Pencerenin geçersiz bir WM_PAINT bölge içerip içermediğine bakılmaksızın bir iletinin pencereye nakledilmesine neden olur.

  • RDW_INVALIDATE Geçersiz kılın lpRectUpdate veya prgnUpdate (yalnızca biri olmayabilir NULL). Her ikisi de NULLise, tüm pencere geçersiz kılınmış olur.

Pencereyi doğrulamak için aşağıdaki bayraklar kullanılır:

  • RDW_NOERASE Bekleyen WM_ERASEBKGND iletileri gizler.

  • RDW_NOFRAME Bekleyen WM_NCPAINT iletileri gizler. Bu bayrak ile RDW_VALIDATE kullanılmalıdır ve genellikle ile RDW_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_NOINTERNALPAINT Bekleyen tüm iç WM_PAINT iletileri gizler. Bu bayrak, geçersiz alanlardan kaynaklanan iletileri etkilemez WM_PAINT .

  • RDW_VALIDATEveya doğrular lpRectUpdate (yalnızca biri olmayabilirNULL).prgnUpdate Her ikisi de NULLise, tüm pencere doğrulanır. Bu bayrak iç WM_PAINT iletileri 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 (ve RDW_NOCHILDREN bayrakları tarafından RDW_ALLCHILDREN belirtildiği gibi) işlev döndürülmeden önce ve iletileri almasına WM_NCPAINT WM_ERASEBKGND neden olur. WM_PAINT iletileri ertelenmiş.

  • RDW_UPDATENOWEtkilenen pencerelerin (ve RDW_NOCHILDREN bayrakları tarafından RDW_ALLCHILDREN belirtildiği gibi) işlev döndürülmeden önce , ve WM_PAINT iletilerini almasına WM_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_ALLCHILDREN Yeniden boyama işlemine alt pencereleri (varsa) içerir.

  • RDW_NOCHILDREN Varsa 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::reposDefault Denetim çubuklarının düzenini gerçekleştirir. lpRectParam kullanılmaz ve olabilir NULL.

  • CWnd::reposQuery Denetim çubuklarının düzeni yapılmaz; bunun yerine lpRectParam , düzen gerçekten yapılmış gibi istemci alanının boyutuyla başlatılır.

  • CWnd::reposExtra değerini lpRectParam istemci alanına nIDLast ekler 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öndermeyin WM_ENTERIDLE .

  • MLF_NOKICKIDLE Pencereye ileti göndermeyin WM_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_ERASE ile SW_INVALIDATEbelirtildiğinde, pencereye bir WM_ERASEBKGND ileti göndererek yeni geçersiz kılınan bölgeyi siler.

  • SW_INVALIDATE Kaydırma sonrasında tarafından prgnUpdate tanımlanan bölgeyi geçersiz kılır.

  • SW_SCROLLCHILDRENve dyiçinde belirtilen dx piksel sayısına göre işaret edilen lpRectScroll dikdörtgeni kesiştiren tüm alt pencereleri kaydırıyor. Windows, hareket etmeseler bile ile kesişen lpRectScrolltüm alt pencerelere bir WM_MOVE ileti 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_CTL Kaydırma çubuğu denetiminin parametrelerini içerir. Veri m_hWnd üyesi kaydırma çubuğu denetiminin tutamacı olmalıdır.

  • SB_HORZ Pencerenin yatay kaydırma çubuğu olduğunu belirtir.

  • SB_VERT Pencerenin 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_HORZ Pencerenin yatay kaydırma çubuğundaki kaydırma kutusunun konumunu ayarlar.

  • SB_VERT Pencerenin 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_HORZ Pencerenin yatay kaydırma çubuğunun aralığını ayarlar.

  • SB_VERT Pencerenin 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:

  • wndBottom Pencereyi Z düzeninin en altına yerleştirir. Bu CWnd en üstteki pencereyse, pencere en üstteki durumunu kaybeder; sistem pencereyi diğer tüm pencerelerin altına yerleştirir.

  • wndTop Pencereyi Z düzeninin en üstüne yerleştirir.

  • wndTopMost Pencereyi en üstteki olmayan tüm pencerelerin üzerine yerleştirir. Pencere devre dışı bırakıldığında bile en üstteki konumunu korur.

  • wndNoTopMost Pencereyi 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_DRAWFRAME Pencerenin çevresine bir çerçeve çizer (pencere oluşturulduğunda tanımlanır).

  • SWP_FRAMECHANGED Pencerenin boyutu değiştirilmese bile pencereye bir WM_NCCALCSIZE ileti gönderir. Bu bayrak belirtilmezse, WM_NCCALCSIZE yalnızca pencerenin boyutu değiştirildiğinde gönderilir.

  • SWP_HIDEWINDOW Pencereyi gizler.

  • SWP_NOACTIVATE Pencereyi etkinleştirmez. Bu bayrak ayarlanmamışsa, pencere etkinleştirilir ve en üstteki veya en üstteki olmayan grubun en üstüne taşınır (parametrenin pWndInsertAfter ayarı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 (ve y parametrelerini yoksayarx).

  • SWP_NOOWNERZORDER Sahip penceresinin Z düzenindeki konumunu değiştirmez.

  • SWP_NOREDRAW Değ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_NOREPOSITION ile SWP_NOOWNERZORDERaynı.

  • SWP_NOSENDCHANGING Pencerenin iletiyi almasını WM_WINDOWPOSCHANGING engeller.

  • SWP_NOSIZEGeçerli boyutu korur (ve cy parametrelerini yoksayarcx).

  • SWP_NOZORDER Geçerli sıralamayı korur (yoksayar pWndInsertAfter).

  • SWP_SHOWWINDOW Pencereyi 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:

  • &wndTopMost Parametresinde ne belirtilir ne de pWndInsertAfter &wndNoTopMost belirtilir.

  • 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_BOTH Pencerenin yatay ve dikey kaydırma çubuklarını belirtir.

  • SB_HORZ Pencerenin yatay kaydırma çubuğu olduğunu belirtir.

  • SB_VERT Pencerenin 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_HIDE Bu pencereyi gizler ve etkinleştirmeyi başka bir pencereye geçirir.

  • SW_MINIMIZE Pencereyi simge durumuna küçültür ve sistem listesindeki en üst düzey pencereyi etkinleştirir.

  • SW_RESTORE Pencereyi 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_SHOW Pencereyi etkinleştirir ve geçerli boyutu ve konumunda görüntüler.

  • SW_SHOWMAXIMIZED Pencereyi etkinleştirir ve ekranı kaplamış bir pencere olarak görüntüler.

  • SW_SHOWMINIMIZED Pencereyi etkinleştirir ve simge olarak görüntüler.

  • SW_SHOWMINNOACTIVE Pencereyi simge olarak görüntüler. Şu anda etkin olan pencere etkin kalır.

  • SW_SHOWNA Pencereyi geçerli durumunda görüntüler. Şu anda etkin olan pencere etkin kalır.

  • SW_SHOWNOACTIVATE Pencereyi en son boyutu ve konumuyla görüntüler. Şu anda etkin olan pencere etkin kalır.

  • SW_SHOWNORMAL Pencereyi 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