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 FromHandle oluş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 CWnd iş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 CWnd olan 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ı CWnd alı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ı CWnd değ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 ScrollWindow benzer. |
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 CWnd neden 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 CWnd sağlar. |
CWnd::SubclassWindow |
Bir nesneye CWnd pencere ekler ve iletileri 'nin ileti eşlemesi üzerinden yönlendirmesini CWnd sağlar. |
CWnd::UnlockWindowUpdate |
ile CWnd::LockWindowUpdate kilitlenmiş 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 On Message 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 TrackMouseEvent belirtilen 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.INI değ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 CWnd bir 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_hWnd olan pencereyle aynı olup olmadığını belirler. |
CWnd::operator == |
Bir pencerenin, tutamacı m_hWnd olan 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 CWnd
bir 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
, , CMDIChildWnd
CView
ve CDialog
dahil olmak üzere CFrameWnd
bu sınıfların çoğu daha fazla türetme için tasarlanmıştır. gibi CButton
öğesinden CWnd
türetilen denetim sınıfları doğrudan kullanılabilir veya sınıfların daha fazla türetilmesi için kullanılabilir.
kullanma CWnd
hakkında daha fazla bilgi için bkz Frame Windows
. ve Pencere Nesneleri.
Devralma Hiyerarşisi
CWnd
Gereksinimler
Üst bilgi: afxwin.h
CWnd::accDoDefaultAction
Nesnenin varsayılan eylemini gerçekleştirmek için çerçeve tarafından çağrılır.
virtual HRESULT accDoDefaultAction(VARIANT varChild);
Parametreler
varChild
Çağrılacak varsayılan eylemin nesnenin mi yoksa nesnenin alt öğelerinden birinin mi olduğunu belirtir. Bu parametre CHILDID_SELF (nesnenin varsayılan eylemini gerçekleştirmek için) veya alt kimlik (nesnenin alt öğelerinden birinin varsayılan eylemini gerçekleştirmek için) olabilir.
Dönüş Değeri
Başarıda S_OK döndürür; hata durumunda com hata kodu. Bkz. Windows SDK'sında IAccessible::accDoDefaultAction'da Dönüş Değerleri.
Açıklamalar
Bu işlev, MFC'nin Etkin Erişilebilirlik desteğinin bir parçasıdır.
Nesnenizin CWnd
varsayı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 yTop
tarafı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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 AnimateWindow
iş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 CWnd
cihaz bağlamını tanımlar. İşaretçi geçici olabilir ve kapsamı EndPaint
dışı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, , InvalidateRect
veya InvalidateRgn
üye işlevleri tarafından Invalidate
ve 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 , , UserName
Password
ve SQL
özellikleri tarafından DataSource
tanı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_VARIANT
vb.
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::EnableToolTips
yö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 pAlternateOwner
geç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 CWnd
noktayı içeren ilk pencerenin * değerini döndürür.
CWnd
Dö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 CloseWindow
iş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 NULL
bir 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 CLSID
dize 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, NULL
denetimin 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 CFile
olmalıdır. Bu veriler istemcinin önceki bir etkinleştirmesinde kaydedilmiş olabilir. CFile
başka veriler içerebilir, ancak öğesinin çağrısı CreateControl
sı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 CWnd
iç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 CreateControl
desteklenir:
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ğiBorderStyle
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 denetimdenWS_GROUP
sonra stille tanımlanan tüm denetimler aynı gruba aittir. StileWS_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 denetimineWS_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 NULL
bir 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 CWnd
sınıfta gösterilir. Ancak, türetilmiş sınıfınızda CWnd
DestroyWindow
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 CView
sınıfta geçersiz kıldığınız DestroyWindow
varsayılır. MFC kaynak kodu türetilmiş sınıflarından CFrameWnd
hiç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::Create
oluş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::Attach
bakı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_POSTMSGS
LB_DIR
bayrak.LB_DIR
Bayrak ayarlanırsa, Windows tarafındanDlgDirList
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ızDlgDirList
: bir kez bayrak kümesiyleDDL_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
DlgDirList
LB_DIR
ve iletileri liste kutusuna gönderirLB_RESETCONTENT
. tarafından nIDListBox
belirtilen liste kutusunu, tarafından lpPathSpec
verilen 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 lpPathSpec
0 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_POSTMSGS
CB_DIR
bayrak.CB_DIR
Bayrak ayarlanırsa, Windows tarafındanDlgDirListComboBox
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ızDlgDirListComboBox
: bir kez bayrak kümesiyleDDL_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
DlgDirListComboBox
birleşik giriş kutusuna ve CB_DIR
iletileri gönderirCB_RESETCONTENT
. tarafından belirtilen birleşik giriş kutusunun liste kutusunu, tarafından nIDComboBox
lpPathSpec
verilen 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 lpPathSpec
sı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 lpString
verilen arabelleğe kopyalar. Seçim lpString
yoksa değişmez.
DlgDirSelect
LB_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.
DlgDirSelectComboBox
birleş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 CDialog
uygulamaya ö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 DoDataExchange
ve 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_DROPFILES
iş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 DragDetect
iş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 lprcTo
belirtilen 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 DrawAnimatedRects
iş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 DrawCaption
iş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::GetMenu
bakı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 CWnd
iç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 FALSE
kullanı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 CToolBar
bazı pencereler yerleşik uygulamasını OnToolHitTest
sağlar.
Bu yapı hakkında daha fazla bilgi için Bkz TOOLINFO
. Windows SDK'sı.
Üst pencere öğesinden CFrameWnd
tü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 CFrameWnd
tü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 RunModalLoop
döndürülecek değeri içerir.
Açıklamalar
nResult
parametresi, değerinden RunModalLoop
dö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::BeginPaint
bakı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
AfxFindResourceHandle
bir 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 lpszWindowName
verilen 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 hwndParent
olmalı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
RegisterClassEx
iş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 FindWindowEx
iş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
TRUE
bir 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 FlashWindowEx
iş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 FromHandle
geç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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
adı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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 CWnd
bu 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 GetAncestor
iş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 CPoint
dö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 lpRect
iş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::IsIconic
bakı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::MDICascade
bakı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 CWnd
bir 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_OWNDC
veya 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_CACHE
veyaCLASSDC
penceresi yerine önbellekten bir cihaz bağlamıOWNDC
döndürür. veCS_CLASSDC
geçersiz kılmalarıCS_OWNDC
.DCX_CLIPCHILDREN
Pencerenin altındaki tüm alt pencerelerin görünür bölgeleriniCWnd
dışlar.DCX_CLIPSIBLINGS
Pencerenin üzerindeki tüm eşdüzey pencerelerin görünür bölgeleriniCWnd
dışlar.DCX_EXCLUDERGN
tarafındanprgnClip
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ımlananprgnClip
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 birLockWindowUpdate
çağrı etkin olsa bile çizime izin verir. Bu değer izleme sırasında çizim yapmak için kullanılır.DCX_PARENTCLIP
Üst pencerenin görünür bölgesini kullanır ve üst pencereninWS_CLIPCHILDREN
veWS_PARENTDC
stil bitlerini yoksayar. Bu değer, cihaz bağlamının kaynağını pencerenin sol üst köşesineCWnd
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_CACHE
gerekir. DCX_CACHE belirtilmezse ve pencere ne de CS_OWNDC
CS_CLASSDC
değ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_OWNDC
veya CS_PARENTDC
stili belirtilmişse CS_CLASSDC
iş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 FALSE
iş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::OnCtlColor
bakı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 nID
tanı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 nID
tanı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 lpTrans
işaret edilen konuma kopyalar. Hata yoksa sıfır lpTrans
olmayan bir değer alır. ise lpTrans
NULL
GetDlgItemInt
, 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 lpStr
dizenin uzunluk üst sınırını (karakter cinsinden) belirtir. Dize değerinden nMaxCount
uzunsa 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 , , UserName
Password
ve SQL özellikleri tarafından DataSource
tanı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 bBigIcon
gö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 TRUE
FALSE
16 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::FindWindow
bakı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 GetLayeredWindowAttributes
iş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 GetMenuBarInfo
iş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 COleControlSiteOrWnd
daha 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 HWND iç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 COleControlSiteOrWnd
daha 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 FALSE
sonraki 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 COleControlSiteOrWnd
daha 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_HWNDNEXT
Bu, pencere yöneticisinin listesindeki nesnenin CWnd
ardından gelen pencereyi döndüren veya GW_HWNDPREV
pencere 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 GetWindow
farklı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 SetOwner
ayarlanabilir. 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 dwDispID
belirtilen 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::InvokeHelper
için Açıklamalar bölümüne bakın.
pvProp
Özellik değerini alacak değişkenin adresi. tarafından vtProp
belirtilen türle eşleşmelidir.
Açıklamalar
GetProperty
ile değerini pvProp
dö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 NULL
işaretçisi.
CWnd::GetSafeHwnd
veya işaretçi ise this
NULL
döndürürm_hWnd
NULL
.
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::SubclassWindow
bakı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 AfxGetMainWnd
alı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 CView
tü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 GetScrollBarInfo
iş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. Verim_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_POS
SIF_TRACKPOS
ve SIF_RANGE
birleşimini SIF_PAGE
belirtir. 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 lpMaxPos
tarafı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
FALSE
Denetim 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::InsertMenu
veya CMenu::ModifyMenu
işlevleriyle CMenu::AppendMenu
kullanılabilir.
Denetim menüsü başlangıçta , SC_MOVE
ve SC_SIZE
gibi 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 GetTitleBarInfo
iş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 CFrameWnd
nesne 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
GetTopLevelParent
ve GetTopLevelOwner
değerine GetTopLevelFrame
benzer; ancak geçerli sahip penceresi olarak ayarlanan değeri yoksayar.
CWnd::GetTopWindow
öğesine ait CWnd
en ü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
CWnd
olarak 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 pRgn
tanı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_CHILD
CWnd
İlk alt pencereyi tanımlar.GW_HWNDFIRST
Alt pencereyseCWnd
, 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 pencereyseCWnd
, 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ımlarCWnd
.
Dönüş Değeri
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır.
CWnd::GetWindowContextHelpId
Pencereyle ilişkili yardım bağlamı tanımlayıcısını (varsa) almak için bu üye işlevini çağırın.
DWORD GetWindowContextHelpId() const;
Dönüş Değeri
Yardım bağlamı tanımlayıcısı. Pencerede yoksa 0 döndürür.
CWnd::GetWindowedChildCount
İlişkili alt pencerelerin sayısını almak için bu üye işlevini çağırın.
long GetWindowedChildCount();
Dönüş Değeri
Nesneyle ilişkilendirilmiş alt pencerelerin CWnd
sayısı.
CWnd::GetWindowDC
Resim yazısı çubuğu, menüler ve kaydırma çubukları da dahil olmak üzere tüm pencerenin görüntüleme bağlamını alır.
CDC* GetWindowDC();
Dönüş Değeri
İşlev başarılı olursa verilen pencerenin görüntüleme bağlamını tanımlar; aksi takdirde NULL
.
Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanmamalıdır. ReleaseDC
her başarılı çağrısı GetWindowDC
iç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 CWnd
herhangi 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 GetWindowInfo
iş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 lpRect
iş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 rString
iş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 nMaxCount
karakter 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::SetWindowText
bakı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::SetWindowText
bakı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_BYCOMMAND
nIDHiliteItem
Menü öğesi kimliği (varsayılan yorumlama) olarak yorumlar.MF_BYPOSITION
nIDHiliteItem
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ı CWnd
geç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
FALSE
arka 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::UpdateWindow
bakı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
FALSE
arka 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 CWnd
ekleyerek 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
FALSE
arka 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 dwDispID
bağlamda wFlags
ActiveX 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::Invoke
bağlamını açıklayan bayraklar.
vtRet
Dönüş değerinin türünü belirtir. Olası değerler için COleDispatchDriver::InvokeHelper
iç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 vtRet
belirtilen türle eşleşmelidir.
pbParamInfo
aşağıdaki pbParamInfo
parametrelerin türlerini belirten null olarak sonlandırılan bayt dizesi işaretçisi. Olası değerler için COleDispatchDriver::InvokeHelper
iç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 COleDispatchException
oluş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 CWnd
pencere 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 CWnd
ise 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 SetTimer
değ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::SetTimer
bakı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 LockWindowUpdate
kilitlenmiş bir pencerenin kilidini açmak için çağrısı yapın UnlockWindowUpdate
.
Kilitli penceresi olan bir uygulama (veya herhangi bir kilitli alt pencere) , GetDCEx
veya 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 HWND
bir 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 lpPoint
işaret edilen yapı sayısını POINT
belirtir.
CWnd::MessageBox
Uygulama tarafından sağlanan bir ileti ve resim yazısının yanı sıra İleti Kutusu Stilleri listesinde açıklanan önceden tanımlanmış simgelerin ve basma düğmelerinin birleşimini içeren bir pencere oluşturur ve görüntüler.
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK);
Parametreler
lpszText
Görüntülenecek iletiyi içeren bir CString
nesneye veya null ile sonlandırılan dizeye işaret ediyor.
lpszCaption
İleti kutusu resim yazısı için kullanılacak bir CString
nesneye veya null ile sonlandırılan dizeye işaret edin. ise lpszCaption
NULL
, varsayılan "Hata" başlığı kullanılır.
nType
İleti kutusunun içeriğini ve davranışını belirtir.
Dönüş Değeri
Bu yöntem, Windows SDK'da tanımlandığı gibi işlevini kullanır MessageBox
. Bu yöntem, bu işlevi çağırmanın sonucunu döndürür.
Açıklamalar
Uygulamanızda bir ileti kutusu uygulamak için bu üye işlevi yerine genel AfxMessageBox
işlevi kullanın.
Aşağıda, bir ileti kutusunda kullanılabilecek çeşitli sistem simgeleri gösterilmektedir:
Simge | Makro |
---|---|
MB_ICONHAND , MB_ICONSTOP ve MB_ICONERROR |
|
MB_ICONQUESTION | |
MB_ICONEXCLAMATION ve MB_ICONWARNING | |
MB_ICONASTERISK ve MB_ICONINFORMATION |
Örnek
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Pencerenin stilini değiştirmek için bu üye işlevini çağır.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parametreler
dwRemove
Stil değişikliği sırasında kaldırılacak pencere stillerini belirtir.
dwAdd
Stil değişikliği sırasında eklenecek pencere stillerini belirtir.
nFlags
çağrılmaması gerekiyorsa SetWindowPos
, veya sıfıra SetWindowPos
geç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 SetWindowPos
geç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 CWnd
yeni konumunu belirtir.
y
öğesinin üst CWnd
kısmının yeni konumunu belirtir.
nWidth
öğesinin yeni genişliğini CWnd
belirtir.
nHeight
öğesinin yeni yüksekliğini CWnd
belirtir.
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 CWnd
ortaya çı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::ClientToScreen
bakı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 NotifyWinEvent
iş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 NULL
ve 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_APPCOMMAND
bö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_APPCOMMAND
bakı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_APPCOMMAND
bö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 SetClipboardViewer
dö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ındannUIElement
belirtilen) gizlenmelidir.UIS_INITIALIZE
Kullanıcı arabirimi durum öğesi (tarafındannUIElement
belirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüneWM_CHANGEUISTATE
bakın.UIS_SET
KULLANıCı arabirimi durum öğesi (tarafındannUIElement
belirtilen) 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 OnChar
uygulanı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 nFlags
geniş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 lpCompareItemStruct
iş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ü TrackPopupMenu
gö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. OnCreate
veya 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 denetimiCTLCOLOR_DLG
İletişim kutusuCTLCOLOR_EDIT
Denetimi düzenleCTLCOLOR_LISTBOX
Liste kutusu denetimiCTLCOLOR_MSGBOX
İleti kutusuCTLCOLOR_SCROLLBAR
Kaydırma çubuğu denetimiCTLCOLOR_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_CTLCOLOR
bir 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 nFlags
geniş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::DeleteString
CComboBox::ResetContent
CListBox::ResetContent
veya tarafından CComboBox::DeleteString
kaldırıldığını bildirmek için bu üye işlevini çağırır.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
Parametreler
nIDCtl
İletiyi gönderen denetimin tanımlayıcısı WM_DELETEITEM
.
lpDeleteItemStruct
Silinen liste kutusu öğesi hakkında bilgi içeren bir veri yapısına yönelik uzun bir DELETEITEMSTRUCT
işaretçi belirtir.
Açıklamalar
hwndItem
Yapının üyesi DELETEITEMSTRUCT
bir birleşik giriş kutusuna veya liste kutusuna aitseDeleteItem
, uygun sınıfın sanal işlevi çağrılır. Öğeye DeleteItem
özgü verileri silmek için uygun denetimin sınıfının üye işlevini geçersiz kılın.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDestroy
Çerçeve, nesnenin CWnd
yok edildiğini bildirmek için bu üye işlevini çağırır.
afx_msg void OnDestroy();
Açıklamalar
OnDestroy
, nesne ekrandan CWnd
kaldırıldıktan sonra çağrılır.
OnDestroy
önce yok edilenler CWnd
için, sonra yok edildikleri anda alt pencereleri CWnd
için çağrılır. Çalıştırılırken OnDestroy
tüm alt pencerelerin hala mevcut olduğu varsayılabilir.
CWnd
Yok edilen nesne Pano görüntüleyici zincirinin bir parçasıysa (üye işlevi çağrılarak SetClipboardViewer
ayarlanır), CWnd
işlevinden dönmeden önce üye işlevini çağırarak ChangeClipboardChain
kendisini Pano görüntüleyici zincirinden OnDestroy
kaldırması gerekir.
CWnd::OnDestroyClipboard
Çerçeve, Pano, Windows işlevine yapılan bir çağrı aracılığıyla boşaltıldığında Pano sahibi için EmptyClipboard
bu üye işlevini çağırır.
afx_msg void OnDestroyClipboard();
CWnd::OnDeviceChange
Çerçeve, bir uygulamanın veya cihaz sürücüsünün bir cihazın veya bilgisayarın donanım yapılandırmasındaki değişikliği bildirmek için bu üye işlevini çağırır.
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData);
Parametreler
nEventType
Olay türü. Kullanılabilir değerlerin açıklaması için Açıklamalar bölümüne bakın
dwData
Olaya özgü veriler içeren bir yapının adresi. Anlamı verilen olaya bağlıdır.
Açıklamalar
Çıkarma ve kilitleme gibi yazılım tarafından denetlenebilir özellikler sunan cihazlarda, işletim sistemi genellikle uygulamaların ve cihaz sürücülerinin cihaz kullanımını düzgün bir şekilde sonlandırmasına izin veren bir DBT_DEVICEREMOVEPENDING
ileti gönderir.
İşletim sistemi bir cihazı zorla kaldırırsa, bunu yapmadan önce ileti DBT_DEVICEQUERYREMOVE
göndermeyebilir.
nEvent
parametresi şu değerlerden biri olabilir:
DBT_DEVICEARRIVAL
Bir cihaz eklendi ve artık kullanılabilir.DBT_DEVICEQUERYREMOVE
Bir cihazı kaldırma izni istenir. Herhangi bir uygulama bu isteği reddedebilir ve kaldırma işlemini iptal edebilir.DBT_DEVICEQUERYREMOVEFAILED
Bir cihazı kaldırma isteği iptal edildi.DBT_DEVICEREMOVEPENDING
Cihaz kaldırılacak. Reddedilemez.DBT_DEVICEREMOVECOMPLETE
Cihaz kaldırıldı.DBT_DEVICETYPESPECIFIC
Cihaza özgü olay.DBT_CONFIGCHANGED
Geçerli yapılandırma değişti.DBT_DEVNODES_CHANGED
Cihaz düğümü değişti.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDevModeChange
Çerçeve, kullanıcı cihaz modu ayarlarını değiştirdiğinde tüm üst düzey CWnd
nesneler için bu üye işlevini çağırır.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parametreler
lpDeviceName
Windows başlatma dosyasında belirtilen cihaz adını gösterir. WIN.INI
Açıklamalar
İletiyi WM_DEVMODECHANGE
işleyen uygulamalar cihaz modu ayarlarını yeniden başlatabilir. Cihaz ayarlarını kaydetmek ve geri yüklemek için Windows ExtDeviceMode
işlevini kullanan uygulamalar genellikle bu işlevi işlemez.
Kullanıcı varsayılan yazıcıyı Denetim Masası değiştirdiğinde bu işlev çağrılmaz. Bu durumda işlev OnWinIniChange
çağrılır.
Not
Bu üye işlevi, uygulamanızın bir Windows iletisini işlemesine izin vermek için çerçeve tarafından çağrılır. İşlevinize geçirilen parametreler, ileti alındığında çerçeve tarafından alınan parametreleri yansıtır. Bu işlevin temel sınıf uygulamasını çağırırsanız, bu uygulama ilk olarak iletiyle geçirilen parametreleri kullanır ve işleve sağladığınız parametreleri kullanmaz.
CWnd::OnDrawClipboard
Çerçeve, Pano'nun içeriği değiştiğinde Pano görüntüleyici zincirindeki her pencere için bu üye işlevini çağırır.
afx_msg void OnDrawClipboard();
Açıklamalar
Yalnızca üye işlevini çağırarak Pano görüntüleyici zincirine SetClipboardViewer
katılmış uygulamaların bu çağrıyı yanıtlaması gerekir.
Çağrı alan OnDrawClipboard
her pencere, Pano görüntüleyici zincirindeki SendMessage
bir sonraki pencereye ileti WM_DRAWCLIPBOARD
geçirmek için Windows işlevini çağırmalıdır. Sonraki pencerenin tutamacı üye işlevi tarafından SetClipboardViewer
döndürülür; bir OnChangeCbChain
üye işlev çağrısına yanıt olarak değiştirilebilir.
CWnd::OnDrawIconicThumbnailOrLivePreview
Windows 7 sekmesi küçük resminde veya uygulama özeti için istemcide görüntülenecek bir bit eşlem elde etmesi gerektiğinde çerçeve tarafından çağrılır.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parametreler
dc
Cihaz bağlamını belirtir.
rect
İşlenmek üzere alanın sınırlayıcı dikdörtgenini belirtir.
szRequiredThumbnailSize
Hedef küçük resmin boyutunu belirtir. ise bIsThumbnail
FALSE
yoksayı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 dc
seç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
TRUE
szRequiredThumbnailSize
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_CLIENT
bu 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
, CListBox
veya 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 , DragQueryFile
ve DragQueryPoint
Windows işlevleri tarafından DragFinish
kullanı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 FALSE
olur.
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 OnEndSession
sonlandı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_SIZE
değ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_SIZE
değ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_BROADCAST
windows 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_HASSETSEL
EM_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_WANTCHARS
WM_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ılarakOnGetDlgCode
CWnd
, 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 OnGetMinMaxInfo
bu 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ındannPos
belirtilir.SB_THUMBTRACK
Kaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum parametresi tarafındannPos
belirtilir.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION
veya SB_THUMBTRACK
değ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çindenPos
sağlanır.SB_TOP
Ekranı sol üst tarafa kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION
ise 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 nFlags
geniş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 CMenu
veya 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.
OnMeasureItem
yalnı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. , SubclassDlgItem
veya SubclassWindow
kullanarak DDX_Control
alt 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_REFLECT
iç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ü CWnd
gö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_POPUP
iç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ştirinCWnd
.MA_NOACTIVATE
Nesneyi etkinleştirmeyinCWnd
.MA_ACTIVATEANDEAT
nesnesini etkinleştirinCWnd
ve fare olayını atın.MA_NOACTIVATEANDEAT
Nesneyi etkinleştirmeyinCWnd
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 TrackMouseEvent
belirtilen 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_DELTA
gö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 TrackMouseEvent
belirtilen 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_DELTA
katları 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 bCalcValidRects
bağı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
TRUE
geç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 lpncsp
yerleş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 CWnd
veri 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 CWnd
sol 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 TrackMouseEvent
belirtilen 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 TrackMouseEvent
belirtilen 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ı CWnd
iç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_QUERY
ise denetimin nCommand
işaretçisidir veya ise nCommand
denetimin üst penceresine işaret eden işaretçidirNF_REQUERY
.
nCommand
[in] İletiyi WM_NOTIFY
özel alan bir komut değeri. Olası değerler:
NF_QUERY
- İleti, iletilerdeWM_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 penceresineNF_REQUERY
gönderilir.NF_REQUERY
- İleti, bir denetimin bu iletininNF_QUERY
biçimini üst penceresine gönderme isteğidir. Bu istek üst pencereden gönderilir ve denetimden iletilerdeWM_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_Paint
hakkı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.
OnPaintClipboard
veri 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_DESTROY
iseWM_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_DESTROY
lParam
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çindeykenOnQueryOpen
CWnd
, 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_SETTINGCHANGE
bir 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 deSIZE_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
OnSize
bir 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 OnSizeClipboard
bir 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 nFlags
geniş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_CLOSE
CWnd
Nesneyi kapatın.SC_HOTKEY
Uygulama tarafındanCWnd
belirtilen kısayol anahtarıyla ilişkili nesneyi etkinleştirin. düşük sıralı sözcüğülParam
, etkinleştirecek pencerenin öğesini tanımlarHWND
.SC_HSCROLL
Yatay olarak kaydırın.SC_KEYMENU
Tuş vuruşu aracılığıyla menü alma.SC_MAXIMIZE
(veyaSC_ZOOM
) Nesneyi ekranı kaplaCWnd
.SC_MINIMIZE
(veyaSC_ICON
) Nesneyi simge durumuna küçültünCWnd
.SC_MOUSEMENU
Fare tıklaması ile menü alma.SC_MOVE
CWnd
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ürSYSTEM.INI
.SC_SIZE
Nesneyi boyutlandırınCWnd
.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_SCREENSAVE
Denetim 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 nID
test 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 , , AppendMenu
InsertMenu
ve ModifyMenu
üye işlevleriyle GetSystemMenu
değ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 OnSysCommand
geçirilmesi gerekir. Bir uygulama tarafından eklenen tüm komut değerleri uygulama tarafından işlenmelidir ve uygulamasına OnSysCommand
geçirilemez.
Bir uygulama herhangi bir zamanda bir ileti OnSysCommand
ileterek 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 nFlags
denetleyerek 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 nFlags
geniş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 nFlags
denetleyerek 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_BROADCAST
windows 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_CENTERTIP
olarak 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ındannUIElement
belirtilen) gizlenmelidir.UIS_INITIALIZE
Kullanıcı arabirimi durum öğesi (tarafındannUIElement
belirtilen), son giriş olayına göre değiştirilmelidir. Daha fazla bilgi için, öğesinin Açıklamalar bölümüneWM_UPDATEISTATE
bakın.UIS_SET
KULLANıCı arabirimi durum öğesi (tarafındannUIElement
belirtilen) 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çindenPos
sağlanır.SB_THUMBTRACK
Kaydırma kutusunu belirtilen konuma sürükleyin. Geçerli konum içindenPos
sağlanır.SB_TOP
En üste kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION
veya SB_THUMBTRACK
değ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çindenPos
sağlanır.SB_TOP
En üste kaydırın.
nPos
Kaydırma çubuğu kodu SB_THUMBPOSITION
ise 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.INI
bir 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_BROADCAST
windows 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ış NULL
bir WM_WININICHANGE
ileti lpszSection
göndermesi gerekir. Aksi takdirde, bir uygulama her değişiklik WIN.INI
yaptığında göndermelidirWM_WININICHANGE
.
Bir uygulama olarak ayarlanmış NULL
bir 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 WindowProc
dö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 CWnd
açı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_hWnd
olup 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_hWnd
olup 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 AfxGetMainWnd
bakı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_CHILD
işaretçiye hMenu üyesini cs
this
atar. Düzgün işlevsellik için, iletişim kutusu denetiminizin olmayan NULL
bir 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 PreCreateWindow
kendi 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 birWM_ERASEBKGND
ileti gönderin.Belirtilirse
PRF_CLIENT
pencereye birWM_PRINTCLIENT
ileti gönderin.Ayarlandıysa
PRF_CHILDREN
, her görünür alt pencereye birWM_PRINT
ileti gönderin.Ayarlanırsa
PRF_OWNED
, görünür olan her pencereye birWM_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 PrintWindow
iş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 iletiWM_ERASEBKGND
almasına neden olur. BayrağınRDW_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 iletiWM_NCPAINT
almasına neden olur. BayrağınRDW_INVALIDATE
da belirtilmesi gerekir; aksi takdirdeRDW_FRAME
hiçbir etkisi olmaz.RDW_INTERNALPAINT
Pencerenin geçersiz birWM_PAINT
bölge içerip içermediğine bakılmaksızın bir iletinin pencereye nakledilmesine neden olur.RDW_INVALIDATE
Geçersiz kılınlpRectUpdate
veyaprgnUpdate
(yalnızca biri olmayabilirNULL
). Her ikisi deNULL
ise, tüm pencere geçersiz kılınmış olur.
Pencereyi doğrulamak için aşağıdaki bayraklar kullanılır:
RDW_NOERASE
BekleyenWM_ERASEBKGND
iletileri gizler.RDW_NOFRAME
BekleyenWM_NCPAINT
iletileri gizler. Bu bayrak ileRDW_VALIDATE
kullanılmalıdır ve genellikle ileRDW_NOCHILDREN
kullanı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 etkilemezWM_PAINT
.RDW_VALIDATE
veya doğrularlpRectUpdate
(yalnızca biri olmayabilirNULL
).prgnUpdate
Her ikisi deNULL
ise, 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_ERASENOW
etkilenen pencerelerin (veRDW_NOCHILDREN
bayrakları tarafındanRDW_ALLCHILDREN
belirtildiği gibi) işlev döndürülmeden önce ve iletileri almasınaWM_NCPAINT
WM_ERASEBKGND
neden olur.WM_PAINT
iletileri ertelenmiş.RDW_UPDATENOW
Etkilenen pencerelerin (veRDW_NOCHILDREN
bayrakları tarafındanRDW_ALLCHILDREN
belirtildiği gibi) işlev döndürülmeden önce , veWM_PAINT
iletilerini almasınaWM_NCPAINT
WM_ERASEBKGND
neden 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::InvalidateRgn
CWnd::UpdateWindow
veya kullanmalıdır CWnd::ValidateRgn
RedrawWindow
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 olabilirNULL
.CWnd::reposQuery
Denetim çubuklarının düzeni yapılmaz; bunun yerinelpRectParam
, düzen gerçekten yapılmış gibi istemci alanının boyutuyla başlatılır.CWnd::reposExtra
değerinilpRectParam
istemci alanınanIDLast
ekler ve ayrıca düzenini gerçekleştirir.
lpRectParam
Bir RECT
yapıya işaret eder; kullanımı değerine nFlag
bağ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 FALSE
kadar ContinueModal
iletileri almak, çevirmek veya göndermek için bu üye işlevini çağır.
int RunModalLoop(DWORD dwFlags = 0);
Parametreler
dwFlags
Gönderilecek Windows iletisini belirtir. Aşağıdaki değerlerden biri olabilir:
MLF_NOIDLEMSG
Üst öğeye ileti göndermeyinWM_ENTERIDLE
.MLF_NOKICKIDLE
Pencereye ileti göndermeyinWM_KICKIDLE
.MLF_SHOWONIDLE
İleti kuyruğu boşta kaldığında pencereyi gösterin.
Dönüş Değeri
Üye işlevine EndModalLoop
geçirilen parametrenin nResult
değerini belirtir. Bu değer daha sonra kalıcı döngünün sona ermesi için kullanılır.
Açıklamalar
Varsayılan olarak, ContinueModal
çağrıldıktan sonra EndModalLoop
döndürürFALSE
. olarak nResult
EndModalLoop
sağ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::GetItemRect
bakı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 yAmount
tarafı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 lpRectScroll
iş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
ileSW_INVALIDATE
belirtildiğinde, pencereye birWM_ERASEBKGND
ileti göndererek yeni geçersiz kılınan bölgeyi siler.SW_INVALIDATE
Kaydırma sonrasında tarafındanprgnUpdate
tanımlanan bölgeyi geçersiz kılır.SW_SCROLLCHILDREN
vedy
içinde belirtilendx
piksel sayısına göre işaret edilenlpRectScroll
dikdörtgeni kesiştiren tüm alt pencereleri kaydırıyor. Windows, hareket etmeseler bile ile kesişenlpRectScroll
tüm alt pencerelere birWM_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_ERASENOW
belirterekRDW_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
. lpRectUpdate
lpRectClip
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 CWnd
ve ü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 FALSE
yalnı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 FALSE
yalnı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_CHANGECBCHAIN
ve iletilerine WM_DRAWCLIPBOARD
yanı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ı SetClipboardViewer
sı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 iseTRUE
nValue
, 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 iseFALSE
nValue
, işaretizdir.
Açıklamalar
SetDlgItemInt
verilen denetime bir WM_SETTEXT
ileti gönderir.
Örnek
örneğine CWnd::SetDlgItemText
bakı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::FindWindow
bakı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_SYSKEYDOWN
veya WM_SYSKEYUP
iletilerini 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 TRUE
FALSE
16 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::GetSystemMenu
bakı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 COLORREF
iç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 SetLayeredWindowAttributes
iş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 NULL
geç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::LoadMenu
bakı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 SetOwner
ayarlanır.
Bu işlevin sahiplik kavramı, sahiplik kavramından GetWindow
farklı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::InvokeHelper
için Açıklamalar bölümüne bakın.
...
tarafından vtProp
belirtilen 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 FALSE
bayrağı 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. Verim_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::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
.
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 FALSE
kaydı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 FALSE
kaydı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_MAX
bü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 SetTimer
dö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 iseNULL
WM_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::OnTimer
ve CWnd::KillTimer
kullanılırCWnd::SetTimer
. İlk zamanlayıcı, içinde her 2 saniyede OnStartTimer
bir 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. BuCWnd
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 birWM_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 (parametreninpWndInsertAfter
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_NOMOVE
Geçerli konumu korur (vey
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
ileSWP_NOOWNERZORDER
aynı.SWP_NOSENDCHANGING
Pencerenin iletiyi almasınıWM_WINDOWPOSCHANGING
engeller.SWP_NOSIZE
Geçerli boyutu korur (vecy
parametrelerini yoksayarcx
).SWP_NOZORDER
Geçerli sıralamayı korur (yoksayarpWndInsertAfter
).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 depWndInsertAfter
&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 SetWindowRgn
sonra, işletim sistemi bölge işleyicisi hRgn
tarafı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::CreateCaret
bakı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::SetWindowPos
bakı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 TRUE
kaydı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_nCmdShow
ana pencere için uygulama başına yalnızca bir kez çağrılmalıdır. sonraki çağrıları ShowWindow
, tarafından CWinApp::m_nCmdShow
belirtilen değer yerine yukarıda listelenen değerlerden birini kullanmalıdır.
Örnek
örneğine CWnd::CalcWindowRect
bakı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 CWnd
yö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 CWnd
yö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::LockWindowUpdate
kilitlenmiş bir pencerenin kilidini açmak için bu üye işlevini çağırabilirsiniz.
void UnlockWindowUpdate();
Açıklamalar
kullanılarak LockWindowUpdate
tek 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::SubclassWindow
bakı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
TRUE
sı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::OnInitDialog
kalı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
NULL
olmalı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
NULL
olmalı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
NULL
olmalı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 COLORREF
iç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 UpdateLayeredWindow
iş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