Megosztás a következőn keresztül:


CWnd osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A Microsoft Foundation osztálytár összes ablakosztályának alapfunkcióját biztosítja.

Szemantika

class CWnd : public CCmdTarget

Tagok

Nyilvános konstruktorok

Név Description
CWnd::CWnd Egy CWnd objektumot hoz létre.

Nyilvános módszerek

Név Description
CWnd::accDoDefaultAction A keretrendszer meghívta az objektum alapértelmezett műveletének végrehajtására.
CWnd::accHitTest A keretrendszer meghívta, hogy lekérje a gyermekelemet vagy a gyermekobjektumot a képernyő egy adott pontján.
CWnd::accLocation A keretrendszer meghívta a megadott objektum aktuális képernyőhelyének lekéréséhez.
CWnd::accNavigate A keretrendszer meghívta, hogy egy tároló egy másik felhasználói felületi elemére lépjen, és ha lehetséges, kérje le az objektumot.
CWnd::accSelect A keretrendszer meghívta a kijelölés módosítására vagy a megadott objektum billentyűzetfókuszának áthelyezésére.
CWnd::AnimateWindow Animálja a társított ablakobjektumot.
CWnd::ArrangeIconicWindows Elrendezi az összes kisméretű (ikonikus) gyermekablakot.
CWnd::Attach Windows-leírót csatol egy CWnd objektumhoz.
CWnd::BeginModalState Ennek a tagfüggvénynek a meghívásával hozzon létre egy keretablak-modálist.
CWnd::BeginPaint Készül a CWnd festésre.
CWnd::BindDefaultProperty A hívó objektum alapértelmezett egyszerű kötött tulajdonságát a típustárban megjelölt módon egy adatforrás-vezérlőhöz társított kurzorhoz köti.
CWnd::BindProperty Egy adathoz kötött vezérlőelem kurzorhoz kötött tulajdonságát egy adatforrás-vezérlőhöz köti, és regisztrálja ezt a kapcsolatot az MFC-kötéskezelővel.
CWnd::BringWindowToTop Átfedő ablakok halmának tetejére viszi CWnd .
CWnd::CalcWindowRect Az ügyfél téglalapból számított ablak téglalapjának kiszámításához hívható meg.
CWnd::CancelToolTips Letiltja az elemleírás-vezérlőt.
CWnd::CenterWindow Egy ablakot a szülőhöz viszonyítva középre igazít.
CWnd::ChangeClipboardChain Eltávolítja CWnd a vágólapmegjelenítők láncából.
CWnd::CheckDlgButton Pipát helyez el mellette, vagy eltávolít egy pipát egy gombvezérlőből.
CWnd::CheckRadioButton Ellenőrzi a megadott választógombot, és eltávolítja a pipát a megadott gombcsoport összes többi választógombjából.
CWnd::ChildWindowFromPoint Meghatározza, hogy a gyermekablakok közül melyik tartalmazza a megadott pontot, ha vannak ilyenek.
CWnd::ClientToScreen Egy adott pont vagy téglalap ügyfélkoordinátáit képernyőkoordinátákká alakítja.
CWnd::CloseWindow Kis méretűre csökkenti az ablakot.
CWnd::ContinueModal Az ablak modális állapotának folytatása.
CWnd::Create Létrehozza és inicializálja az objektumhoz társított gyermekablakot CWnd .
CWnd::CreateAccessibleProxy Létrehoz egy aktív akadálymentességi proxyt a megadott objektumhoz.
CWnd::CreateCaret Új alakzatot hoz létre a rendszer gondviseltjének, és megkapja a gondviselet tulajdonjogát.
CWnd::CreateControl Hozzon létre egy ActiveX-vezérlőt, amelyet CWnd egy objektum képvisel egy MFC-programban.
CWnd::CreateEx Átfedésben lévő, előugró vagy gyermekablakot hoz létre, és egy objektumhoz CWnd csatolja.
CWnd::CreateGrayCaret Szürke blokkot hoz létre a rendszer gondviseltjének, és megkapja a gondviselet tulajdonjogát.
CWnd::CreateSolidCaret Egy szilárd blokkot hoz létre a rendszer gondviseltjének, és megkapja a gondviselet tulajdonjogát.
CWnd::DeleteTempMap Az üresjárati idő kezelője automatikusan meghívja, CWinApp és törli a rendszer által FromHandlelétrehozott ideiglenes CWnd objektumokat.
CWnd::DestroyWindow Elpusztítja a csatolt Windows-ablakot.
CWnd::Detach Leválaszt egy Windows-leírót egy CWnd objektumról, és visszaadja a fogópontot.
CWnd::DlgDirList Kitölt egy listát egy fájl- vagy könyvtárlistával.
CWnd::DlgDirListComboBox Fájl- vagy könyvtárlistával tölti ki a kombinált lista listáját.
CWnd::DlgDirSelect Lekéri az aktuális kijelölést egy listamezőből.
CWnd::DlgDirSelectComboBox Lekéri az aktuális kijelölést a kombinált lista listájából.
CWnd::DragAcceptFiles Azt jelzi, hogy az ablak elfogadja az áthúzott fájlokat.
CWnd::DragDetect Rögzíti az egeret, és nyomon követi annak mozgását, amíg a felhasználó fel nem oldja a bal gombot, lenyomja az ESC billentyűt, vagy az egeret a megadott pont körül a húzási téglalapon kívülre helyezi.
CWnd::DrawAnimatedRects Rajzol egy drótkeretes téglalapot, és animálja azt, hogy jelezze egy ikon megnyitását, vagy az ablak minimálisra vagy maximális méretre állítását.
CWnd::DrawCaption Feliratot rajzol.
CWnd::DrawMenuBar Újrarajzolva a menüsávot.
CWnd::EnableActiveAccessibility Engedélyezi a felhasználó által definiált Active Accessibility függvényeket.
CWnd::EnableDynamicLayout Lehetővé teszi a gyermekablakok pozíciójának és méretének dinamikus beállítását, amikor a felhasználó átméretezi az ablakot.
CWnd::EnableD2DSupport Engedélyezi vagy letiltja az ablaktámogatást D2D . Hívja meg ezt a metódust a főablak inicializálása előtt.
CWnd::EnableScrollBar Engedélyezi vagy letiltja a görgetősáv egy vagy mindkét nyílát.
CWnd::EnableScrollBarCtrl Engedélyezi vagy letiltja a testvér görgetősáv-vezérlőt.
CWnd::EnableToolTips Engedélyezi az elemleírás-vezérlőt.
CWnd::EnableTrackingToolTips Engedélyezi az elemleírás-vezérlőt nyomkövetési módban.
CWnd::EnableWindow Engedélyezi vagy letiltja az egér- és billentyűzetbemenetet.
CWnd::EndModalLoop Véget vet egy ablak modális állapotának.
CWnd::EndModalState A tagfüggvény meghívásával módosíthat egy keretablakot modálisról mód nélkülire.
CWnd::EndPaint A festés végét jelöli.
CWnd::ExecuteDlgInit Párbeszédpanel-erőforrást kezdeményez.
CWnd::FilterToolTipMessage Beolvassa egy vezérlőelemhez tartozó címet vagy szöveget egy párbeszédpanelen.
CWnd::FindWindow Az ablak fogópontját adja vissza, amelyet az ablak neve és az ablakosztály azonosít.
CWnd::FindWindowEx Az ablak fogópontját adja vissza, amelyet az ablak neve és az ablakosztály azonosít.
CWnd::FlashWindow Egyszer villog az ablak.
CWnd::FlashWindowEx További funkciókkal villog az ablak.
CWnd::FromHandle Mutatót ad vissza egy CWnd objektumhoz, ha egy fogópontot adott egy ablaknak. Ha egy CWnd objektum nincs csatolva a leíróhoz, egy ideiglenes CWnd objektum jön létre és csatolva.
CWnd::FromHandlePermanent Mutatót ad vissza egy CWnd objektumhoz, ha egy fogópontot adott egy ablaknak.
CWnd::get_accChild A keretrendszer meghívta, hogy lekérje a megadott gyermek IDispatch felületének címét.
CWnd::get_accChildCount A keretrendszer meghívta, hogy lekérje az objektumhoz tartozó gyermekek számát.
CWnd::get_accDefaultAction A keretrendszer meghívta az objektum alapértelmezett műveletét leíró sztring lekérésére.
CWnd::get_accDescription Keretrendszer által meghívva lekérhet egy sztringet, amely leírja a megadott objektum vizuális megjelenését.
CWnd::get_accFocus A keretrendszer meghívta, hogy lekérje a billentyűzetfókuszú objektumot.
CWnd::get_accHelp A keretrendszer meghívta egy objektum súgótulajdonság-sztringjének lekéréséhez.
CWnd::get_accHelpTopic A keretrendszer meghívta a megadott objektumhoz társított WinHelp fájl teljes elérési útját és a fájlban található megfelelő témakör azonosítóját.
CWnd::get_accKeyboardShortcut A keretrendszer meghívta a megadott objektum billentyűparancsának vagy hozzáférési kulcsának lekéréséhez.
CWnd::get_accName A keretrendszer meghívta a megadott objektum nevét.
CWnd::get_accParent A keretrendszer meghívta az IDispatch objektum szülőfelületének lekéréséhez.
CWnd::get_accRole A keretrendszer meghívta a megadott objektum szerepkörét leíró információk lekérésére.
CWnd::get_accSelection A keretrendszer meghívta, hogy lekérje az objektum kiválasztott gyermekeit.
CWnd::get_accState A keretrendszer meghívta a megadott objektum aktuális állapotának lekéréséhez.
CWnd::get_accValue A keretrendszer meghívta a megadott objektum értékének lekéréséhez.
CWnd::GetActiveWindow Lekéri az aktív ablakot.
CWnd::GetAncestor Lekéri a megadott ablak ősablak-objektumát.
CWnd::GetCapture Lekéri az CWnd egérrögzítést tartalmazót.
CWnd::GetCaretPos Lekéri a gondozó aktuális pozíciójának ügyfélkoordinátáit.
CWnd::GetCheckedRadioButton A jelenleg ellenőrzött választógomb azonosítóját adja vissza egy gombcsoportban.
CWnd::GetClientRect Lekéri az ügyfélterület méreteit CWnd .
CWnd::GetClipboardOwner A vágólap aktuális tulajdonosának mutatóját kéri le.
CWnd::GetClipboardViewer A vágólapmegjelenítők láncának első ablakára mutató mutatót kér le.
CWnd::GetControlUnknown Egy ismeretlen ActiveX-vezérlőre mutató mutatót kér le.
CWnd::GetDC Lekéri az ügyfélterület megjelenítési környezetét.
CWnd::GetDCEx Lekéri az ügyfélterület megjelenítési környezetét, és engedélyezi a kivágást rajz közben.
CWnd::GetDCRenderTarget Lekéri az ablak eszközkörnyezeti (DC) renderelési célját CWnd .
CWnd::GetDescendantWindow Megkeresi az összes leszármazott ablakot, és visszaadja az ablakot a megadott azonosítóval.
CWnd::GetDesktopWindow Lekéri a Windows asztali ablakát.
CWnd::GetDlgCtrlID Ha a CWnd függvény gyermekablak, a függvény meghívása az azonosító értékét adja vissza.
CWnd::GetDlgItem Lekéri a vezérlőt a megadott azonosítóval a megadott párbeszédpanelről.
CWnd::GetDlgItemInt Az adott párbeszédpanelen lévő vezérlőelem szövegét egész számra fordítja.
CWnd::GetDlgItemText Lekéri a vezérlőelemhez társított feliratot vagy szöveget.
CWnd::GetDSCCursor Az adatforrás-vezérlő DataSource, UserName, Password és SQL-tulajdonságai által meghatározott mutatót kér le a mögöttes kurzorra.
CWnd::GetDynamicLayout A dinamikus elrendezéskezelő objektumra mutató mutatót kér le.
CWnd::GetExStyle Az ablak bővített stílusát adja vissza.
CWnd::GetFocus Lekéri az CWnd aktuálisan a bemeneti fókuszt.
CWnd::GetFont Lekéri az aktuális betűtípust.
CWnd::GetForegroundWindow Egy mutatót ad vissza az előtérablakra (arra a felső szintű ablakra, amellyel a felhasználó jelenleg dolgozik).
CWnd::GetIcon Lekéri a fogópontot egy ikonra.
CWnd::GetLastActivePopup Meghatározza, hogy melyik előugró ablak CWnd volt a legutóbb aktív.
CWnd::GetLayeredWindowAttributes Lekéri a rétegzett ablak átlátszósági és áttetszőségi színkulcsát.
CWnd::GetMenu A megadott menüre mutató mutatót kér le.
CWnd::GetNextDlgGroupItem Megkeresi a következő (vagy előző) vezérlőt egy vezérlőcsoporton belül.
CWnd::GetNextDlgTabItem Lekéri az első vezérlőt a WS_TABSTOP megadott vezérlőelemet követő (vagy azt megelőző) stílussal.
CWnd::GetNextWindow A következő (vagy előző) ablakot adja vissza az ablakkezelő listájában.
CWnd::GetOleControlSite Lekéri a megadott ActiveX-vezérlő egyéni webhelyét.
CWnd::GetOpenClipboardWindow Egy mutatót kér le arra az ablakra, amelyen jelenleg a vágólap van megnyitva.
CWnd::GetOwner Egy mutatót kér le egy CWnd.
CWnd::GetParent Lekéri a szülőablakot CWnd (ha van ilyen).
CWnd::GetParentFrame Lekéri az CWnd objektum szülőkeretének ablakát.
CWnd::GetParentOwner Egy gyermekablak szülőablakára mutató mutatót ad vissza.
CWnd::GetProperty Egy ActiveX-vezérlőtulajdonság lekérése.
CWnd::GetRenderTarget Lekéri az ablakhoz társított renderelési célt.
CWnd::GetSafeHwnd Null értéket ad m_hWndvissza, vagy null értéket, ha a this mutató NULL.
CWnd::GetSafeOwner Lekéri az adott ablak biztonságos tulajdonosát.
CWnd::GetScrollBarCtrl Egy testvér görgetősáv vezérlőelemet ad vissza.
CWnd::GetScrollBarInfo A megadott görgetősáv adatainak lekérése.
CWnd::GetScrollInfo Lekéri azokat az információkat, amelyeket a SCROLLINFO struktúra a görgetősávról tart fenn.
CWnd::GetScrollLimit Lekéri a görgetősáv korlátját.
CWnd::GetScrollPos Lekéri a görgetődoboz aktuális pozícióját.
CWnd::GetScrollRange Másolja az adott görgetősáv aktuális minimális és maximális görgetősáv-pozícióját.
CWnd::GetStyle Az aktuális ablakstílust adja vissza.
CWnd::GetSystemMenu Lehetővé teszi, hogy az alkalmazás hozzáférjen a Control menühöz másoláshoz és módosításhoz.
CWnd::GetTitleBarInfo Beolvassa a megadott címsor adatait.
CWnd::GetTopLevelFrame Lekéri az ablak felső szintű keretablakát.
CWnd::GetTopLevelOwner Lekéri a legfelső szintű ablakot.
CWnd::GetTopLevelParent Lekéri az ablak legfelső szintű szülőjét.
CWnd::GetTopWindow Az első gyermekablakot adja vissza, amely a CWnd.
CWnd::GetUpdateRect Lekéri a legkisebb téglalap koordinátáit, amelyek teljesen belefoglalják a frissítési régiót CWnd .
CWnd::GetUpdateRgn Lekéri a frissítési régiót CWnd .
CWnd::GetWindow A megadott kapcsolattal rendelkező ablakot adja vissza ehhez az ablakhoz.
CWnd::GetWindowContextHelpId Lekéri a súgókörnyezet azonosítóját.
CWnd::GetWindowDC Lekéri a teljes ablak megjelenítési környezetét, beleértve a feliratsávot, a menüket és a görgetősávokat.
CWnd::GetWindowedChildCount A társított gyermekablakok számát adja vissza.
CWnd::GetWindowInfo Az ablak adatait adja vissza.
CWnd::GetWindowlessChildCount A társított ablak nélküli gyermekablakok számát adja vissza.
CWnd::GetWindowPlacement Lekéri az ablak megjelenítési állapotát és normál (visszaállított), minimalizált és teljes pozícióját.
CWnd::GetWindowRect Lekéri a képernyő koordinátáit CWnd.
CWnd::GetWindowRgn Lekéri egy ablak ablakterületének másolatát.
CWnd::GetWindowText Az ablak szövegét vagy feliratcímét adja vissza (ha van ilyen).
CWnd::GetWindowTextLength Az ablak szövegének vagy feliratcímének hosszát adja vissza.
CWnd::HideCaret Elrejti a gondviseletet úgy, hogy eltávolítja a képernyőről.
CWnd::HiliteMenuItem Kiemeli vagy eltávolítja a kiemelést egy felső szintű (menüsoros) menüelemből.
CWnd::HtmlHelp Meghívva a HTMLHelp-alkalmazás elindítására.
CWnd::Invalidate Érvényteleníti a teljes ügyfélterületet.
CWnd::InvalidateRect Érvényteleníti az ügyfélterületet az adott téglalapon belül úgy, hogy hozzáadja a téglalapot az aktuális frissítési régióhoz.
CWnd::InvalidateRgn Érvényteleníti az ügyfélterületet az adott régión belül úgy, hogy hozzáadja a régiót az aktuális frissítési régióhoz.
CWnd::InvokeHelper Meghív egy ActiveX-vezérlőmetódust vagy -tulajdonságot.
CWnd::IsChild Azt jelzi, hogy a gyermekablak vagy a megadott ablak más közvetlen leszármazottja-e CWnd .
CWnd::IsD2DSupportEnabled Meghatározza, hogy engedélyezve van-e a D2D-támogatás.
CWnd::IsDialogMessage Meghatározza, hogy a megadott üzenet a mód nélküli párbeszédpanelhez készült-e, és ha igen, feldolgozza-e.
CWnd::IsDlgButtonChecked Meghatározza, hogy a gombvezérlő be van-e jelölve.
CWnd::IsDynamicLayoutEnabled Meghatározza, hogy a dinamikus elrendezés engedélyezve van-e ezen az ablakban. Ha a dinamikus elrendezés engedélyezve van, a gyermekablakok helyzete és mérete megváltozhat, amikor a felhasználó átméretezi a szülőablakot.
CWnd::IsIconic Meghatározza, hogy a kis méret (ikonikus) legyen-e CWnd .
CWnd::IsTouchWindow Meghatározza, hogy rendelkezik-e CWnd érintéses támogatással.
CWnd::IsWindowEnabled Meghatározza, hogy az ablak engedélyezve van-e az egér- és billentyűzetbemenethez.
CWnd::IsWindowVisible Meghatározza, hogy az ablak látható-e.
CWnd::IsZoomed Meghatározza, hogy a teljes méret legyen-e CWnd maximalizálva.
CWnd::KillTimer Megöl egy rendszer időzítőt.
CWnd::LockWindowUpdate Letiltja vagy újraküldi a rajzot az adott ablakban.
CWnd::MapWindowPoints Pontok halmazát konvertálja (leképezi) a koordinátatérből CWnd egy másik ablak koordinátaterére.
CWnd::MessageBox Egy alkalmazás által megadott üzenetet és feliratot tartalmazó ablakot hoz létre és jelenít meg.
CWnd::ModifyStyle Módosítja az aktuális ablakstílust.
CWnd::ModifyStyleEx Módosítja az ablak bővített stílusát.
CWnd::MoveWindow Megváltoztatja a pozíciót és a dimenziókat.CWnd
CWnd::NotifyWinEvent Jelzi a rendszernek, hogy előre definiált esemény történt.
CWnd::OnAmbientProperty Környezeti tulajdonságértékek implementálása.
CWnd::OnDrawIconicThumbnailOrLivePreview A keretrendszer meghívja, ha bitképet kell beszereznie, hogy megjelenjen a Windows 7 lap miniatűrjén, vagy az ügyfélen az alkalmazás betekintéséhez.
CWnd::OnHelp Kezeli az F1 súgóját az alkalmazásban (az aktuális környezet használatával).
CWnd::OnHelpFinder Kezeli a parancsokat és ID_DEFAULT_HELP a ID_HELP_FINDER parancsokat.
CWnd::OnHelpIndex Kezeli a ID_HELP_INDEX parancsot, és egy alapértelmezett súgótémakört biztosít.
CWnd::OnHelpUsing Kezeli a ID_HELP_USING parancsot.
CWnd::OnToolHitTest Meghatározza, hogy egy pont a megadott eszköz határoló téglalapjában van-e, és lekéri az eszköz adatait.
CWnd::OpenClipboard Megnyitja a vágólapot. Más alkalmazások csak a Windows-függvény CloseClipboard meghívása után módosíthatják a vágólapot.
CWnd::PaintWindowlessControls Ablak nélküli vezérlőket rajzol a vezérlőtárolóra.
CWnd::PostMessage Egy üzenetet helyez el az alkalmazás üzenetsorában, majd anélkül tér vissza, hogy az ablakra vár az üzenet feldolgozásához.
CWnd::PreCreateWindow Az objektumhoz csatolt Windows-ablak létrehozása előtt hívva CWnd .
CWnd::PreSubclassWindow Lehetővé teszi az egyéb szükséges alosztályozások elvégzését a meghívás előtt SubclassWindow .
CWnd::PreTranslateMessage CWinApp Az ablaküzenetek szűrésére szolgál, mielőtt elküldené őket a és DispatchMessage a TranslateMessage Windows-függvényekbe.
CWnd::Print Az aktuális ablakot rajzolja meg a megadott eszközkörnyezetben.
CWnd::PrintClient A megadott eszközkörnyezetben (általában nyomtatóeszköz-környezetben) bármelyik ablakot megrajzolja.
CWnd::PrintWindow Vizualizációs ablakot másol a megadott eszközkörnyezetbe, általában egy nyomtató tartományvezérlőbe.
CWnd::RedrawWindow Frissíti a megadott téglalapot vagy régiót az ügyfélterületen.
CWnd::RegisterTouchWindow Az ablak regisztrációja/regisztrációja a Windows érintéses támogatásával.
CWnd::ReleaseDC Felszabadítja az ügyfél- és ablakeszköz-környezeteket, és felszabadítja őket más alkalmazások számára.
CWnd::RepositionBars Áthelyezi a vezérlősávokat az ügyfélterületen.
CWnd::RunModalLoop Modális állapotú ablak üzeneteit kéri le, fordítja le vagy küldi el.
CWnd::ScreenToClient Egy adott pont vagy téglalap képernyőkoordinátáit ügyfélkoordinátává alakítja.
CWnd::ScrollWindow Görgeti az ügyfélterület tartalmát.
CWnd::ScrollWindowEx Görgeti az ügyfélterület tartalmát. Hasonló, ScrollWindowtovábbi funkciókkal.
CWnd::SendChildNotifyLastMsg A szülőablakból küld egy értesítési üzenetet egy gyermekablaknak, hogy a gyermekablak kezelni tudja a feladatokat.
CWnd::SendDlgItemMessage Üzenetet küld a megadott vezérlőnek.
CWnd::SendMessage Üzenetet küld az CWnd objektumnak, és csak akkor tér vissza, ha feldolgozta az üzenetet.
CWnd::SendMessageToDescendants Üzenet küldése az ablak összes leszármazott ablakának.
CWnd::SendNotifyMessage Elküldi a megadott üzenetet az ablaknak, és a lehető leghamarabb visszatér attól függően, hogy a hívószál hozta-e létre az ablakot.
CWnd::SetActiveWindow Aktiválja az ablakot.
CWnd::SetCapture Az összes további egérbemenet elküldését okozza a CWnd.
CWnd::SetCaretPos Áthelyezi a simítót egy megadott helyre.
CWnd::SetClipboardViewer Hozzáadja CWnd az ablakláncot, amely értesítést kap a vágólap tartalmának módosításakor.
CWnd::SetDlgCtrlID Beállítja az ablak ablakát vagy vezérlőazonosítóját (amely lehet bármely gyermekablak, nem csak egy párbeszédpanel vezérlőeleme).
CWnd::SetDlgItemInt Egy vezérlőelem szövegét egy egész számértéknek megfelelő sztringre állítja.
CWnd::SetDlgItemText Beállítja egy vezérlőelem feliratát vagy szövegét a megadott párbeszédpanelen.
CWnd::SetFocus A bemeneti fókusz jogcíme.
CWnd::SetFont Beállítja az aktuális betűtípust.
CWnd::SetForegroundWindow Az ablakot létrehozó szálat az előtérbe helyezi, és aktiválja az ablakot.
CWnd::SetIcon A fogópontot egy adott ikonra állítja.
CWnd::SetLayeredWindowAttributes Egy rétegzett ablak átlátszósági és áttetszőségi színkulcsának beállítása.
CWnd::SetMenu Beállítja a menüt a megadott menüre.
CWnd::SetOwner Módosítja a tulajdonosát.CWnd
CWnd::SetParent Módosítja a szülőablakot.
CWnd::SetProperty Beállít egy ActiveX-vezérlőtulajdonságot.
CWnd::SetRedraw Lehetővé teszi a CWnd módosítások újrarajzosítását, vagy megakadályozza a módosítások újrarajzosítását.
CWnd::SetScrollInfo Beállítja a görgetősáv adatait.
CWnd::SetScrollPos Beállítja a görgetődoboz aktuális pozícióját, és ha meg van adva, újrarajzolva a görgetősávot, hogy tükrözze az új pozíciót.
CWnd::SetScrollRange Beállítja az adott görgetősáv minimális és maximális pozícióértékét.
CWnd::SetTimer Olyan rendszer időzítőt telepít, amely az aktiváláskor üzenetet küld WM_TIMER .
CWnd::SetWindowContextHelpId Beállítja a súgókörnyezet azonosítóját.
CWnd::SetWindowPlacement Beállítja a megjelenítési állapotot és a normál (visszaállított), a minimalizált és a teljes pozíciót egy ablakban.
CWnd::SetWindowPos A gyermek, előugró és felső szintű ablakok méretét, pozícióját és sorrendjét módosítja.
CWnd::SetWindowRgn Beállítja az ablak régióját.
CWnd::SetWindowText Az ablak szövegét vagy feliratcímét (ha van ilyen) a megadott szövegre állítja.
CWnd::ShowCaret Megjeleníti a simítót a gondnok aktuális pozíciójában lévő kijelzőn. Amint megjelenik, a gondviselő automatikusan villogni kezd.
CWnd::ShowOwnedPopups Megjeleníti vagy elrejti az ablak összes előugró ablakát.
CWnd::ShowScrollBar Megjeleníti vagy elrejti a görgetősávot.
CWnd::ShowWindow Megjeleníti vagy elrejti az ablakot.
CWnd::SubclassDlgItem Windows-vezérlőt csatol egy CWnd objektumhoz, és az üzeneteket az CWndüzenettérképen keresztül irányítja át.
CWnd::SubclassWindow Egy ablakot csatol egy CWnd objektumhoz, és az üzeneteket az CWndüzenettérképen keresztül irányítja át.
CWnd::UnlockWindowUpdate Zárolt CWnd::LockWindowUpdateablak zárolásának feloldása.
CWnd::UnsubclassWindow Ablak leválasztása objektumról CWnd
CWnd::UpdateData Inicializálja vagy lekéri az adatokat egy párbeszédpanelről.
CWnd::UpdateDialogControls Hívás a párbeszédpanel gombjainak és egyéb vezérlőinek állapotának frissítéséhez.
CWnd::UpdateLayeredWindow Frissíti a rétegzett ablak pozícióját, méretét, alakját, tartalmát és áttetszőségét.
CWnd::UpdateWindow Frissíti az ügyfélterületet.
CWnd::ValidateRect Ellenőrzi az ügyfélterületet az adott téglalapon belül úgy, hogy eltávolítja a téglalapot az aktuális frissítési régióból.
CWnd::ValidateRgn Ellenőrzi az ügyfélterületet az adott régión belül úgy, hogy eltávolítja a régiót az aktuális frissítési régióból.
CWnd::WindowFromPoint Az adott pontot tartalmazó ablakot azonosítja.
CWnd::WinHelp Meghívva a WinHelp-alkalmazás elindításához.

Védett metódusok

Név Description
CWnd::Default Meghívja az alapértelmezett ablakeljárást, amely az alkalmazás által nem feldolgozott ablaküzenetek alapértelmezett feldolgozását biztosítja.
CWnd::DefWindowProc Meghívja az alapértelmezett ablakeljárást, amely az alkalmazás által nem feldolgozott ablaküzenetek alapértelmezett feldolgozását biztosítja.
CWnd::DoDataExchange Párbeszédpanel-adatcseréhez és -ellenőrzéshez. Meghívta: UpdateData.
CWnd::GetCurrentMessage Egy mutatót ad vissza arra az üzenetre, amelyet az ablak jelenleg feldolgoz. Csak üzenetkezelő tagfüggvény esetén OnMessage hívható meg.
CWnd::InitDynamicLayout A keretrendszer meghívta az ablak dinamikus elrendezésének inicializálására.
CWnd::LoadDynamicLayoutResource Betölti a dinamikus elrendezés adatait az erőforrásfájlból.
CWnd::OnActivate Az aktiváláskor vagy inaktiváláskor CWnd hívható meg.
CWnd::OnActivateApp Az alkalmazás aktiválásának vagy inaktiválásának időpontjára hívható meg.
CWnd::OnAppCommand Akkor hívjuk meg, amikor a felhasználó létrehoz egy alkalmazásparancs-eseményt.
CWnd::OnAskCbFormatName Egy vágólapmegjelenítő alkalmazás hívja meg, amikor a vágólap tulajdonosa megjeleníti a vágólap tartalmát.
CWnd::OnCancelMode A belső módok, például az egérrögzítés megszakításának engedélyezése CWnd .
CWnd::OnCaptureChanged Üzenetet küld az egérrögzítést elveszítő ablaknak.
CWnd::OnChangeCbChain Értesíti, hogy egy adott ablak el van távolítva a láncból.
CWnd::OnChangeUIState A felhasználói felület (UI) állapotának módosításakor hívható meg.
CWnd::OnChar Akkor hívható meg, amikor egy billentyűleütés nem rendszerkaraktere lesz lefordítva.
CWnd::OnCharToItem Egy üzenetre válaszul WM_CHAR megjelenő LBS_WANTKEYBOARDINPUT stílust tartalmazó gyermeklista hívja meg.
CWnd::OnChildActivate Több dokumentumillesztő (MDI) gyermekablakra van szükség, amikor a módosítás mérete vagy pozíciója CWnd megváltozik, vagy CWnd aktiválva van.
CWnd::OnChildNotify Egy szülőablak meghívta, hogy egy értesítési vezérlő válaszoljon egy vezérlőértesítésre.
CWnd::OnClipboardUpdate A vágólap tartalmának módosításakor hívható meg.
CWnd::OnClose Úgy hívják, mint egy jelet, amelyet CWnd be kell zárni.
CWnd::OnColorizationColorChanged Akkor hívható meg, ha a nem ügyfélterület renderelési szabályzata módosult.
CWnd::OnCommand Akkor hívjuk meg, amikor a felhasználó kiválaszt egy parancsot.
CWnd::OnCompacting Akkor hívható meg, ha a Windows észleli, hogy a rendszermemória alacsony.
CWnd::OnCompareItem Egy új elem relatív pozíciójának meghatározására hívható fel egy gyermek által rendezett tulajdonos-rajz kombinált listában vagy listamezőben.
CWnd::OnCompositionChanged Az összes legfelső szintű ablakra meghívva, ha az Asztali ablakkezelő (DWM) összetétele engedélyezve van vagy le van tiltva.
CWnd::OnContextMenu Akkor hívjuk meg, amikor a felhasználó az ablakban a jobb egérgombra kattint.
CWnd::OnCopyData Adatok másolása egyik alkalmazásból a másikba.
CWnd::OnCreate Az ablaklétrehozás részeként hívjuk.
CWnd::OnCtlColor CWnd Ha a vezérlőelem szülője, akkor hívja meg, amikor a vezérlő meg lesz rajzolva.
CWnd::OnDeadChar Akkor hívható meg, ha egy billentyűleütés nem rendszer nélküli halott karakterre (például ékezetes karakterekre) fordít le.
CWnd::OnDeleteItem Akkor hívható meg, ha egy tulajdonos által rajzolt gyermeklista vagy kombinált lista megsemmisül, vagy amikor a rendszer eltávolítja az elemeket a vezérlőből.
CWnd::OnDestroy Akkor hívják, amikor CWnd megsemmisítik.
CWnd::OnDestroyClipboard Akkor hívjuk meg, ha a vágólap kiürítése a Windows EmptyClipboard függvény hívásával történik.
CWnd::OnDeviceChange Értesíti az alkalmazást vagy az eszközillesztőt az eszköz vagy a számítógép hardverkonfigurációjának módosításáról.
CWnd::OnDevModeChange Az összes legfelső szintű ablakra meghívva, amikor a felhasználó módosítja az eszköz módbeállításait.
CWnd::OnDrawClipboard A vágólap tartalmának módosításakor hívjuk meg.
CWnd::OnDrawItem Akkor hívható meg, ha a tulajdonos által rajzolt gyermekgomb vezérlőelem, kombinált lista vezérlőelem, listavezérlő vagy menü vizuális aspektusát meg kell rajzolni.
CWnd::OnDropFiles Akkor hívható meg, amikor a felhasználó a bal egérgombot egy olyan ablakban oldja fel, amely regisztrálta magát az elvetett fájlok címzettjeként.
CWnd::OnEnable Akkor hívható meg, ha CWnd engedélyezve van vagy le van tiltva.
CWnd::OnEndSession A munkamenet befejezésekor hívjuk meg.
CWnd::OnEnterIdle Az alkalmazás főablak-eljárásának tájékoztatására hívjuk fel, hogy egy modális párbeszédpanel vagy menü üresjárati állapotba kerül.
CWnd::OnEnterMenuLoop A menü modális ciklusának megadásakor hívjuk meg.
CWnd::OnEnterSizeMove Az érintett ablak mozgó vagy méretezési modális ciklusba lépése után hívható meg.
CWnd::OnEraseBkgnd Akkor hívjuk meg, ha az ablak hátterét törlésre van szükség.
CWnd::OnExitMenuLoop A menü modális ciklusának kilépésekor hívható meg.
CWnd::OnExitSizeMove Miután az érintett ablak kilép egy mozgó vagy méretezési modális hurokból.
CWnd::OnFontChange A betűtípus-erőforrások készletének módosításakor hívjuk meg.
CWnd::OnGetDlgCode Vezérlőt kért, hogy a vezérlő feldolgozhassa magát a nyílbillentyűt és a TAB billentyűt.
CWnd::OnGetMinMaxInfo Akkor hívható meg, ha a Windowsnak ismernie kell a maximális pozíciót vagy méretet, illetve a minimális vagy maximális követési méretet.
CWnd::OnHelpInfo A keretrendszer meghívja, amikor a felhasználó lenyomja az F1 billentyűt.
CWnd::OnHotKey Hívás, amikor a felhasználó egy rendszerszintű gyorsbillentyűt lenyom.
CWnd::OnHScroll Akkor hívjuk meg, amikor a felhasználó a vízszintes görgetősávra CWndkattint.
CWnd::OnHScrollClipboard Akkor hívjuk, ha a vágólap tulajdonosának görgetnie kell a vágólap képét, érvénytelenítenie kell a megfelelő szakaszt, és frissítenie kell a görgetősáv értékeit.
CWnd::OnIconEraseBkgnd CWnd Az ikont kis méretűre (ikonikusra) kell hívni, és az ikon hátterét ki kell tölteni az ikon festése előtt.
CWnd::OnInitMenu Akkor hívjuk meg, amikor egy menü éppen aktívvá válik.
CWnd::OnInitMenuPopup Akkor hívjuk meg, ha egy előugró menü éppen aktívvá válik.
CWnd::OnInputDeviceChange I/O-eszköz hozzáadásakor vagy a rendszerből való eltávolításakor hívható meg.
CWnd::OnInputLangChange Az alkalmazás beviteli nyelvének módosítása után hívható meg.
CWnd::OnInputLangChangeRequest Akkor hívjuk meg, ha a felhasználó új beviteli nyelvet választ.
CWnd::OnKeyDown Nem rendszerkulcs lenyomásakor hívható meg.
CWnd::OnKeyUp Nem rendszerkulcs felszabadításakor hívható meg.
CWnd::OnKillFocus Közvetlenül a bemeneti fókusz elvesztése előtt CWnd hívja meg.
CWnd::OnLButtonDblClk Hívás, amikor a felhasználó duplán kattint a bal egérgombra.
CWnd::OnLButtonDown Hívás, amikor a felhasználó lenyomja a bal egérgombot.
CWnd::OnLButtonUp Akkor hívjuk, amikor a felhasználó felengedi a bal egérgombot.
CWnd::OnMButtonDblClk Akkor hívjuk meg, ha a felhasználó duplán kattint a középső egérgombra.
CWnd::OnMButtonDown Akkor hívjuk, amikor a felhasználó lenyomja a középső egérgombot.
CWnd::OnMButtonUp Akkor hívjuk, amikor a felhasználó felengedi a középső egérgombot.
CWnd::OnMDIActivate MDI-gyermekablak aktiválása vagy inaktiválása esetén hívható meg.
CWnd::OnMeasureItem A vezérlőelem létrehozásakor tulajdonos-rajz gyermek kombinált lista, lista vagy menüelem meghívása. CWnd tájékoztatja a Windowst a vezérlő méretéről.
CWnd::OnMenuChar Akkor hívható meg, ha a felhasználó lenyom egy menü mnemonikus karaktert, amely nem egyezik az aktuális menü egyik előre definiált mnemonikával sem.
CWnd::OnMenuDrag Akkor hívjuk meg, amikor a felhasználó elkezd húzni egy menüelemet.
CWnd::OnMenuGetObject Akkor hívható meg, amikor az egérmutató beír egy menüelemet, vagy az elem közepéről az elem tetejére vagy aljára lép.
CWnd::OnMenuRButtonUp Akkor hívjuk, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor egy menüelemen van.
CWnd::OnMenuSelect Akkor hívjuk meg, amikor a felhasználó kiválaszt egy menüelemet.
CWnd::OnMouseActivate Akkor hívjuk, ha a kurzor inaktív ablakban van, és a felhasználó lenyom egy egérgombot.
CWnd::OnMouseHover Akkor hívjuk meg, ha a kurzor az ablak ügyfélterületére mutat az előző hívásban TrackMouseEventmegadott időtartamra.
CWnd::OnMouseHWheel Akkor hívjuk, ha az egér vízszintes görgetőkereke meg van döntve vagy elforgatva.
CWnd::OnMouseLeave Akkor hívjuk meg, ha a kurzor elhagyja az ablak ügyfélterületét, amely egy korábbi hívásban TrackMouseEventvan megadva.
CWnd::OnMouseMove Az egérmutató mozgatásakor hívjuk.
CWnd::OnMouseWheel Akkor hívható meg, amikor egy felhasználó elforgatja az egér kerekét. Windows NT 4.0-s üzenetkezelést használ.
CWnd::OnMove A hívás a pozíció CWnd módosítása után történt.
CWnd::OnMoving Azt jelzi, hogy egy felhasználó áthelyez egy objektumot CWnd .
CWnd::OnNcActivate Akkor hívható meg, ha a nem ügyfélterületet módosítani kell, hogy aktív vagy inaktív állapotot jelezzon.
CWnd::OnNcCalcSize Akkor hívható meg, ha az ügyfélterület méretét és pozícióját ki kell számítani.
CWnd::OnNcCreate A nem ügyfélterület létrehozása előtt OnCreate hívható meg.
CWnd::OnNcDestroy Akkor hívják, amikor a nem ügyfél terület megsemmisül.
CWnd::OnNcHitTest A Windows minden alkalommal meghívja az egeret, ha CWnd a kurzort tartalmazza, vagy rögzítette az egér bemenetét a következővel SetCapture: .
CWnd::OnNcLButtonDblClk Akkor hívható meg, ha a felhasználó duplán kattint a bal egérgombra, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcLButtonDown Akkor hívható meg, amikor a felhasználó lenyomja a bal egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcLButtonUp Akkor hívható meg, amikor a felhasználó felengedi a bal egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcMButtonDblClk Akkor hívható meg, ha a felhasználó duplán kattint a középső egérgombra, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcMButtonDown Akkor hívható meg, amikor a felhasználó lenyomja a középső egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcMButtonUp Akkor hívható meg, amikor a felhasználó felengedi a középső egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcMouseHover Akkor hívható meg, ha a kurzor az ablak nem ügyfélterületére mutat az előző hívásban TrackMouseEventmegadott időtartamra.
CWnd::OnNcMouseLeave A keretrendszer meghívja ezt a tagfüggvényt, amikor a kurzor elhagyja az előző hívásban megadott ablak nem ügyfélterületét TrackMouseEvent.
CWnd::OnNcMouseMove Akkor hívható meg, ha a kurzort a rendszer a nem ügyfél területére CWndhelyezi át.
CWnd::OnNcPaint Akkor hívjuk, ha a nem ügyfél terület festésre szorul.
CWnd::OnNcRButtonDblClk Akkor hívható meg, ha a felhasználó duplán kattint a jobb egérgombra, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcRButtonDown Akkor hívható meg, ha a felhasználó lenyomja a jobb egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcRButtonUp Akkor hívható meg, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor a nem ügyfélterületen CWndbelül van.
CWnd::OnNcRenderingChanged Akkor hívható meg, ha a nem ügyfélterület renderelési szabályzata módosult.
CWnd::OnNcXButtonDblClk Akkor hívja meg a rendszer, ha a felhasználó duplán kattint XBUTTON1 , vagy XBUTTON2 amikor a kurzor az ablak nem ügyfélterületén van.
CWnd::OnNcXButtonDown Akkor hívható meg, amikor a felhasználó lenyomja XBUTTON1 vagy XBUTTON2 lenyomja az egeret, miközben a kurzor az ablak nem ügyfélterületén van.
CWnd::OnNcXButtonUp Akkor hívható meg, amikor a felhasználó felengedi XBUTTON1 az egeret, XBUTTON2 miközben a kurzor az ablak nem ügyfélterületén van.
CWnd::OnNextMenu Akkor hívható meg, ha a jobb vagy a bal nyílbillentyűvel vált a menüsáv és a rendszermenü között.
CWnd::OnNotify A keretrendszer meghívta, hogy tájékoztassa a szülőablakot, hogy esemény történt az egyik vezérlőjében, vagy hogy a vezérlőnek információra van szüksége.
CWnd::OnNotifyFormat Annak megállapítására hívható meg, hogy az aktuális ablak elfogadja-e az ANSI- vagy Unicode-struktúrákat az értesítési WM_NOTIFY üzenetben.
CWnd::OnPaint Az ablak egy részének újrafestéséhez hívva.
CWnd::OnPaintClipboard Akkor hívjuk meg, ha a vágólap-megjelenítő ügyfélterületét újra kell festeni.
CWnd::OnPaletteChanged Azért hívták meg, hogy a színpalettát használó ablakok megvalósíthassák a logikai palettáikat, és frissíthessék az ügyfélterületeiket.
CWnd::OnPaletteIsChanging Tájékoztatja a többi alkalmazást, amikor egy alkalmazás megvalósítja a logikai palettáját.
CWnd::OnParentNotify Gyermekablak létrehozásakor vagy elpusztításakor hívható meg, vagy amikor a felhasználó egy egérgombra kattint, miközben a kurzor a gyermekablak felett van.
CWnd::OnPowerBroadcast Energiagazdálkodási esemény bekövetkezésekor hívjuk meg.
CWnd::OnQueryDragIcon Akkor hívható meg, ha a felhasználó egy kis méretű (ikonikus) CWnd húzásra készül.
CWnd::OnQueryEndSession Akkor hívjuk meg, amikor a felhasználó a Windows-munkamenet befejezését választja.
CWnd::OnQueryNewPalette Tájékoztatja CWnd , hogy a bemeneti fókuszt szeretné megkapni.
CWnd::OnQueryOpen Meghívja, ha CWnd egy ikon, és a felhasználó kéri, hogy nyissa meg az ikont.
CWnd::OnQueryUIState Az ablak felhasználói felületének (UI) állapotának lekérésére van meghívva.
CWnd::OnRawInput Akkor hívjuk meg, amikor az aktuális ablak nyers bemenetet kap.
CWnd::OnRButtonDblClk Akkor hívjuk meg, ha a felhasználó duplán kattint a jobb egérgombra.
CWnd::OnRButtonDown Akkor hívjuk, amikor a felhasználó lenyomja a jobb egérgombot.
CWnd::OnRButtonUp Akkor hívjuk, amikor a felhasználó felengedi a jobb egérgombot.
CWnd::OnRenderAllFormats A tulajdonosi alkalmazás megsemmisítésekor hívható meg, és az összes formátumát meg kell jelenítenie.
CWnd::OnRenderFormat A vágólap tulajdonosát kéri, ha egy adott formátumot késleltetett rendereléssel kell megjeleníteni.
CWnd::OnSessionChange Az alkalmazás értesítése a munkamenet állapotának változásáról.
CWnd::OnSetCursor Akkor hívjuk, ha az egér bemenete nincs rögzítve, és az egér kurzormozgatást okoz az ablakban.
CWnd::OnSetFocus A hívás a bemeneti fókusz megszerzése után CWnd .
CWnd::OnSettingChange Akkor hívjuk meg, ha a Win32 SystemParametersInfo függvény egy rendszerszintű beállítást módosít.
CWnd::OnShowWindow Akkor hívjuk meg, ha CWnd rejtettnek vagy megjelenítendőnek kell lennie.
CWnd::OnSize A hívás a méret CWnd módosítása után történt.
CWnd::OnSizeClipboard Akkor hívható meg, ha a vágólapmegjelenítő ablak ügyfélterületének mérete megváltozott.
CWnd::OnSizing Azt jelzi, hogy a felhasználó átméretezi a téglalapot.
CWnd::OnSpoolerStatus Hívás a Nyomtatókezelőből, amikor egy feladatot hozzáadnak vagy eltávolítanak a Nyomtatókezelő üzenetsorából.
CWnd::OnStyleChanged Azt jelzi, hogy a SetWindowLong Windows függvény módosította az ablak egy vagy több stílusát.
CWnd::OnStyleChanging Azt jelzi, hogy a SetWindowLong Windows függvény az ablak egy vagy több stílusának módosítására készül.
CWnd::OnSysChar Akkor hívjuk, amikor egy billentyűleütés rendszerkaraktere lesz lefordítva.
CWnd::OnSysColorChange Az összes legfelső szintű ablakra meghívva, amikor módosítás történik a rendszer színbeállításában.
CWnd::OnSysCommand Akkor hívható meg, ha a felhasználó kiválaszt egy parancsot a Vezérlő menüből, vagy amikor a felhasználó a Teljes méret vagy a Kis méret gombot választja.
CWnd::OnSysDeadChar Akkor hívjuk meg, ha egy billentyűleütés egy rendszerhalott karakterre (például ékezetes karakterekre) fordít le.
CWnd::OnSysKeyDown Akkor hívjuk, ha a felhasználó lenyomja az ALT billentyűt, majd lenyom egy másik billentyűt.
CWnd::OnSysKeyUp Akkor hívjuk meg, amikor a felhasználó kiad egy billentyűt, amelyet az ALT billentyű lenyomásakor lenyomtak.
CWnd::OnTCard Akkor van meghívva, ha a felhasználó egy szerkeszthető gombra kattint.
CWnd::OnTimeChange A rendszeridő változása után az összes legfelső szintű ablakra van meghívva.
CWnd::OnTimer A paraméterben megadott intervallumok után hívjuk meg.SetTimer
CWnd::OnTouchInput Egyetlen bemenet feldolgozása a Windows touch-ból.
CWnd::OnTouchInputs A Windows touch-ból származó bemenetek feldolgozása.
CWnd::OnUniChar A billentyű lenyomásakor hívjuk. Vagyis az aktuális ablakban van a billentyűzetfókusz, és WM_KEYDOWN a függvény lefordít egy TranslateMessage üzenetet.
CWnd::OnUnInitMenuPopup Egy legördülő menü vagy almenü elpusztításakor hívható meg.
CWnd::OnUpdateUIState A megadott ablak és az összes gyermekablak felhasználói felületi (UI) állapotának módosítására van meghívva.
CWnd::OnUserChanged A felhasználó bejelentkezése vagy kikapcsolása után hívható meg.
CWnd::OnVKeyToItem Üzenetre adott válaszként WM_KEYDOWN egy listamező CWnd hívja meg.
CWnd::OnVScroll Akkor hívjuk meg, amikor a felhasználó az ablak függőleges görgetősávjára kattint.
CWnd::OnVScrollClipboard Amikor a tulajdonosnak görgetnie kell a vágólap képét, érvénytelenítenie kell a megfelelő szakaszt, és frissítenie kell a görgetősáv értékeit.
CWnd::OnWindowPosChanged Akkor hívható meg, ha a méret, a pozíció vagy a Z-sorrend módosult egy hívás SetWindowPos vagy egy másik ablakfelügyeleti függvény eredményeként.
CWnd::OnWindowPosChanging Akkor hívható meg, ha a méret, a pozíció vagy a Z-sorrend egy hívás SetWindowPos vagy egy másik ablakfelügyeleti függvény eredményeként módosulni készül.
CWnd::OnWinIniChange A Windows inicializálási fájlja WIN.INIután az összes felső szintű ablak neve módosul.
CWnd::OnWndMsg Azt jelzi, hogy egy windowsos üzenetet kezeltek-e.
CWnd::OnXButtonDblClk Akkor hívja meg a rendszer, ha a felhasználó duplán kattint XBUTTON1 , vagy XBUTTON2 amikor a kurzor az ablak ügyfélterületén van.
CWnd::OnXButtonDown Akkor hívható meg, amikor a felhasználó lenyomja XBUTTON1 , vagy XBUTTON2 amikor a kurzor az ablak ügyfélterületén van.
CWnd::OnXButtonUp A felhasználó megjelenésekor XBUTTON1 vagy XBUTTON2 a kurzor az ablak ügyfélterületén található.
CWnd::PostNcDestroy Ezt a virtuális függvényt az alapértelmezett OnNcDestroy függvény hívja meg az ablak megsemmisítése után.
CWnd::ReflectChildNotify Segédfüggvény, amely egy üzenetet jelenít meg a forrásnak.
CWnd::ReflectLastMsg A gyermekablak utolsó üzenetét tükrözi.
CWnd::ResizeDynamicLayout A keretrendszer meghívja, amikor az ablak mérete megváltozik a gyermekablakok elrendezésének módosításához, ha a dinamikus elrendezés engedélyezve van az ablakban.
CWnd::WindowProc A ablakeljárást biztosít a CWnd. Az alapértelmezett üzenetküldés az üzenettérképen keresztül történik.

Nyilvános operátorok

Név Description
CWnd::operator HWND Hívás egy ablak fogópontjának lekéréséhez.
CWnd::operator != Meghatározza, hogy az ablak nem azonos-e azzal az ablakkal, amelynek a fogópontja .m_hWnd
CWnd::operator == Meghatározza, hogy egy ablak megegyezik-e azzal az ablakkal, amelynek a fogópontja .m_hWnd

Nyilvános adatok tagjai

Név Description
CWnd::m_hWnd Az ehhez CWndcsatolt HWND-t jelzi.

Megjegyzések

Az CWnd objektumok különböznek a Windows-ablaktól, de a kettő szorosan össze van kapcsolva. A CWnd konstruktor és a CWnd destruktor létrehoz vagy megsemmisít egy objektumot. A Windows-ablak viszont a Windows belső adatstruktúrája, amelyet egy Create tagfüggvény hoz létre, és amelyet a CWnd virtuális destruktor megsemmisít. A DestroyWindow függvény az objektum megsemmisítése nélkül pusztítja el a Windows ablakot.

Az CWnd osztály és az üzenettérkép mechanizmus elrejti a függvényt WndProc . A rendszer automatikusan átirányítja a bejövő Windows-értesítési üzeneteket az üzenettérképen a megfelelő OnMessageCWnd tagfüggvényekre. Felülbírálhat egy Üzeneten lévő tagfüggvényt egy tag adott üzenetének kezeléséhez a származtatott osztályokban.

Az CWnd osztály lehetővé teszi egy Windows gyermekablak létrehozását is az alkalmazás számára. Származtatott osztály, CWndmajd tagváltozók hozzáadása a származtatott osztályhoz az alkalmazásra jellemző adatok tárolásához. Üzenetkezelő tagfüggvények és üzenettérkép implementálása a származtatott osztályban annak meghatározásához, hogy mi történik, amikor az üzeneteket az ablakba irányítják.

Gyermekablakot két lépésben hozhat létre. Először hívja meg a konstruktort CWnd az CWnd objektum létrehozásához, majd hívja meg a Create tagfüggvényt a gyermekablak létrehozásához és az CWnd objektumhoz való csatolásához.

Amikor a felhasználó leállítja a gyermekablakot, megsemmisíti az CWnd objektumot, vagy meghívja a DestroyWindow tagfüggvényt az ablak eltávolításához és az adatstruktúrák megsemmisítéséhez.

A Microsoft Foundation osztálykönyvtárában további osztályok származnak CWnd , amelyekből meghatározott ablaktípusokat adhat meg. Ezen osztályok közül sok, beleértve CFrameWnda , CMDIFrameWnd, CMDIChildWnd, CViewés CDialog, további származtatásra van tervezve. Az olyan vezérlőosztályok CWnd, mint CButtonpéldául, közvetlenül használhatók, vagy felhasználhatók az osztályok további származtatásához.

További információ az objektumok használatáról CWnd, megtekintéséről Frame Windows és ablakobjektumokról.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

Requirements

fejléc: afxwin.h

CWnd::accDoDefaultAction

A keretrendszer meghívta az objektum alapértelmezett műveletének végrehajtására.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Paraméterek

varChild
Megadja, hogy a meghívandó alapértelmezett művelet az objektum vagy az objektum egyik gyermekeleme-e. Ez a paraméter lehet CHILDID_SELF (az objektum alapértelmezett műveletének végrehajtásához) vagy egy gyermekazonosító (az objektum egyik gyermekelemének alapértelmezett műveletének végrehajtásához).

Visszaadott érték

A sikeres S_OK adja vissza, amely egy COM-hibakódot ad eredményül. Lásd: Visszatérési értékek az IAccessible::accDoDefaultAction fájlban a Windows SDK-ban.

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálja ezt a függvényt a CWndszármaztatott osztályban az objektum alapértelmezett műveletének végrehajtásához. További információ: IAccessible::accDoDefaultAction a Windows SDK-ban.

CWnd::accHitTest

A keretrendszer meghívta, hogy lekérje a gyermekelemet vagy a gyermekobjektumot a képernyő egy adott pontján.

virtual HRESULT accHitTest(
    long xLeft,
    long yTop,
    VARIANT* pvarChild);

Paraméterek

xLeft
A tesztelni kívánt pont X koordinátája (képernyőegységekben).

yTop
A tesztelni kívánt pont Y koordinátája (képernyőegységekben).

pvarChild
Az objektumot azonosító információkat kap az és yTopa megadott xLeft időpontban. Lásd pvarID a Windows SDK-ban IAccessible::accHitTest .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::accHitTest .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::accHitTest .

CWnd::accLocation

A keretrendszer meghívta a megadott objektum aktuális képernyőhelyének lekéréséhez.

virtual HRESULT accLocation(
    long* pxLeft,
    long* pyTop,
    long* pcxWidth,
    long* pcyHeight,
    VARIANT varChild);

Paraméterek

pxLeft
Fogadja az objektum bal felső sarkának x koordinátáját (képernyőegységekben).

pyTop
Fogadja az objektum bal felső sarkának y koordinátáját (képernyőegységekben).

pcxWidth
Fogadja az objektum szélességét (képernyőegységekben).

pcyHeight
Megkapja az objektum magasságát (képernyőegységekben).

varChild
Megadja, hogy a lekérendő hely az objektum vagy az objektum egyik gyermekeleme-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

Visszaadott érték

A sikeres S_OK adja vissza, amely egy COM-hibakódot ad eredményül. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::accLocation .

Megjegyzések

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::accLocation .

CWnd::accNavigate

A keretrendszer meghívta, hogy egy tároló egy másik felhasználói felületi elemére lépjen, és ha lehetséges, kérje le az objektumot.

virtual HRESULT accNavigate(
    long navDir,
    VARIANT varStart,
    VARIANT* pvarEndUpAt);

Paraméterek

navDir
Megadja a navigálás irányát. Lásd navDir a Windows SDK-ban IAccessible::accNavigate .

varStart
A kezdő objektumot adja meg. Lásd varStart a Windows SDK-ban IAccessible::accNavigate .

pvarEndUpAt
Információt kap a cél felhasználói felület objektumáról. Lásd pvarEnd a Windows SDK-ban IAccessible::accNavigate .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::accNavigate .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::accNavigate .

CWnd::accSelect

A keretrendszer meghívta a kijelölés módosítására vagy a megadott objektum billentyűzetfókuszának áthelyezésére.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Paraméterek

flagsSelect
Megadja, hogyan módosíthatja az aktuális kijelölést vagy fókuszt. Lásd flagsSelect a Windows SDK-ban IAccessible::accSelect .

varChild
Megadja a kijelölendő objektumot. Ez a paraméter lehet CHILDID_SELF (az objektum kiválasztásához) vagy egy gyermekazonosító (az objektum egyik gyermekének kiválasztásához).

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::accSelect .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::accSelect .

CWnd::AnimateWindow

Speciális effektusokat hoz létre az ablakok megjelenítésekor vagy elrejtésekor.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Paraméterek

dwTime
Megadja, hogy mennyi ideig tart az animáció lejátszása ezredmásodpercben. Egy animáció lejátszása általában 200 ezredmásodpercet vesz igénybe.

dwFlags
Megadja az animáció típusát. A lehetséges értékek teljes listáját lásd AnimateWindow: .

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény AnimateWindowfunkcióit.

CWnd::ArrangeIconicWindows

Elrendezi az összes kisméretű (ikonikus) gyermekablakot.

UINT ArrangeIconicWindows();

Visszaadott érték

Az ikonok egy sorának magassága, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény az asztali ablak ikonjait is elrendezi, amelyek a teljes képernyőt lefedik. A GetDesktopWindow tagfüggvény egy mutatót kér le az asztali ablak objektumához.

Az ikonikus MDI-gyermekablakok MDI-ügyfélablakban való elrendezéséhez hívja meg a következőt CMDIFrameWnd::MDIIconArrange: .

Example

// 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

Windows-ablakot csatol egy CWnd objektumhoz.

BOOL Attach(HWND hWndNew);

Paraméterek

hWndNew
Egy Windows-ablak leíróját adja meg.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Example

Ez a példa bemutatja, hogyan használható Attach és Detach megfeleltethet az MDI-ügyfélablaknak.

// 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

Ennek a tagfüggvénynek a meghívásával hozzon létre egy keretablak-modálist.

virtual void BeginModalState();

CWnd::BeginPaint

Előkészíti CWnd a festést, és kitölt egy adatstruktúrát PAINTSTRUCT a festményre vonatkozó információkkal.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Paraméterek

lpPaint
PAINTSTRUCT A festményinformációkat fogadó struktúrára mutat.

Visszaadott érték

A eszközkörnyezetét CWndazonosítja. Előfordulhat, hogy a mutató ideiglenes, és nem szabad a hatókörön EndPainttúl tárolni.

Megjegyzések

A festékszerkezet tartalmaz egy adatstruktúrát RECT , amely a legkisebb téglalapot tartalmazza, amely teljesen magában foglalja a frissítési régiót, és egy jelzőt, amely meghatározza, hogy a háttér törölve lett-e.

A frissítési régiót a Invalidate, InvalidateRectvagy InvalidateRgn tagfüggvények és a rendszer állítja be, miután méretezi, áthelyezi, létrehozza, görgeti vagy végrehajtja az ügyfélterületet érintő bármely más műveletet. Ha a frissítési régió törlésre van jelölve, BeginPaint üzenetet küld WM_ONERASEBKGND .

Ne hívja meg a BeginPaint tagfüggvényt, kivéve az WM_PAINT üzenetre adott választ. A tagfüggvény minden hívásának BeginPaint egyező hívással kell rendelkeznie a EndPaint tagfüggvényhez. Ha a gondviselet a festendő területen van, a BeginPaint tagfüggvény automatikusan elrejti a gondnokot, hogy megakadályozza a törlést.

Example

// 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 hívó objektum alapértelmezett egyszerű kötött tulajdonságát (például szerkesztési vezérlőt) a típustárban megjelölt módon köti az adatforrás-vezérlő által UserNamePasswordSQL definiált DataSourcemögöttes kurzorhoz.

void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Paraméterek

dwDispID
DISPID Egy adatforrás-vezérlőhöz kötött, adathoz kötött vezérlőelem tulajdonságát adja meg.

vtProp
Megadja a kötendő tulajdonság típusát. Például, VT_BSTRés VT_VARIANTígy tovább.

szFieldName
Megadja annak az oszlopnak a nevét az adatforrás-vezérlő által megadott kurzorban, amelyhez a tulajdonság kötött lesz.

pDSCWnd
Arra az ablakra mutat, amely azt az adatforrás-vezérlőt tárolja, amelyhez a tulajdonságot köti. A mutató lekéréséhez hívja meg GetDlgItem a DCS gazdagépablakának erőforrás-azonosítóját.

Megjegyzések

Az CWnd objektumnak, amelyen ezt a függvényt meghívja, adathoz kötött vezérlőelemnek kell lennie.

Example

BindDefaultProperty a következő környezetben használható:

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

Egy adathoz kötött vezérlőelem (például rácsvezérlő) kurzorhoz kötött tulajdonságát egy adatforrás-vezérlőhöz köti, és regisztrálja ezt a kapcsolatot az MFC kötéskezelővel.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Paraméterek

dwDispId
DISPID Egy adatforrás-vezérlőhöz kötött, adathoz kötött vezérlőelem tulajdonságát adja meg.

pWndDSC
Arra az ablakra mutat, amely azt az adatforrás-vezérlőt tárolja, amelyhez a tulajdonságot köti. A mutató lekéréséhez hívja meg GetDlgItem a DCS gazdagépablakának erőforrás-azonosítóját.

Megjegyzések

Az CWnd objektumnak, amelyen ezt a függvényt meghívja, adathoz kötött vezérlőelemnek kell lennie.

Example

BindProperty a következő környezetben használható:

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
   pMyBound->BindProperty(0x1, pDSC);
   return TRUE;
}

CWnd::BringWindowToTop

Átfedő ablakok halmának tetejére viszi CWnd .

void BringWindowToTop();

Megjegyzések

Emellett BringWindowToTop aktiválja az előugró, felső szintű és MDI gyermekablakokat. A BringWindowToTop tagfüggvényt arra kell használni, hogy felfedje az átfedésben lévő ablakok által részben vagy teljesen eltakart ablakokat.

Ez a függvény csak a Win32 BringWindowToTop függvényt hívja meg. Hívja meg a SetWindowPos függvényt egy ablak Z-sorrendben való pozíciójának módosításához. A BringWindowToTop függvény nem módosítja az ablakstílust úgy, hogy felső szintű ablak legyen. További információ: Mi a különbség HWND_TOPHWND_TOPMOSTa

Example

// 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

Kiszámítja a megadott ügyfél téglalapot tartalmazó ablak téglalapját.

virtual void CalcWindowRect(
    LPRECT lpClientRect,
    UINT nAdjustType = adjustBorder);

Paraméterek

lpClientRect
[be, ki] Mutató egy téglalapszerkezetre. Bemenet esetén ez a struktúra tartalmazza az ügyfél téglalapját. A metódus befejezése után ez a struktúra tartalmazza a megadott ügyfél téglalapot tartalmazó ablak téglalapot.

nAdjustType
[in] A stílus nélküli ablakkoordináta kiszámítására használható CWnd::adjustBorder , ellenkező esetben használja a WS_EX_CLIENTEDGE következőt CWnd::adjustOutside: .

Megjegyzések

A számított ablak téglalapjának mérete nem tartalmaz szóközt a menüsávhoz.

További használati korlátozásokért lásd: AdjustWindowRectEx.

Example

// 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

Hívja meg ezt a tagfüggvényt, hogy eltávolítson egy eszköztippet a képernyőről, ha éppen megjelenik egy eszköztipp.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Paraméterek

bKeys
TRUE a billentyű lenyomásakor az eszköz tippjeinek megszakításához és az állapotsor alapértelmezett szövegének beállításához; egyéb esetben FALSE.

Megjegyzések

Megjegyzés:

A tagfüggvény használata nincs hatással a kód által kezelt eszköztippekre. Ez csak a felügyelt eszközleírás-vezérlőre CWnd::EnableToolTipsvan hatással.

Example

// 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

Egy ablakot a szülőhöz viszonyítva középre igazít.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Paraméterek

pAlternateOwner
Mutasson egy másik ablakra, amelyhez képest középre lesz igazítva (a szülőablakon kívül).

Megjegyzések

Általában az alkalmazás főablakához viszonyítva a középső párbeszédpaneleket hívjuk CDialog::OnInitDialog meg. Alapértelmezés szerint a függvény a gyermekablakokat a szülőablakhoz viszonyítva, az előugró ablakokat pedig a tulajdonosához viszonyítva irányítja. Ha az előugró ablak nem a tulajdonosa, a képernyőhöz képest középre van állítva. Ha nem a tulajdonos vagy szülő egy adott ablakhoz viszonyítva szeretné középre állítani az ablakot, akkor a pAlternateOwner paraméter érvényes ablakra állítható be. A képernyőhöz viszonyított középre igazítás kényszerítéséhez adja át a következőként pAlternateOwnervisszaadott CWnd::GetDesktopWindow értéket: .

Example

BOOL CAboutDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

Eltávolítja CWnd a vágólapmegjelenítők láncából, és a lánc ősének leszármazottja CWnd által hWndNext megadott ablakot készíti el.

BOOL ChangeClipboardChain(HWND hWndNext);

Paraméterek

hWndNext
Azonosítja a vágólapmegjelenítő láncban megjelenő CWnd ablakot.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

CWnd::CheckDlgButton

Bejelöli (mellette pipát helyez el), vagy törli (eltávolít egy pipát) egy gombot, vagy megváltoztatja a háromállapotú gomb állapotát.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Paraméterek

nIDButton
Megadja a módosítani kívánt gombot.

nCheck
Megadja a végrehajtandó műveletet. Ha nCheck nem, akkor a CheckDlgButton tagfüggvény egy pipát helyez el a gomb mellett; ha 0, akkor a pipa el lesz távolítva. A háromállapotú gombok esetében, ha nCheck 2, a gomb állapota meghatározatlan.

Megjegyzések

A CheckDlgButton függvény üzenetet BM_SETCHECK küld a megadott gombra.

Example

// 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

Bejelöli (pipát ad hozzá) egy adott választógombot egy csoportban, és törli (eltávolítja a pipát) a csoport összes többi választógombját.

void CheckRadioButton(
    int nIDFirstButton,
    int nIDLastButton,
    int nIDCheckButton);

Paraméterek

nIDFirstButton
A csoport első választógombjának egész számazonosítóját adja meg.

nIDLastButton
A csoport utolsó választógombjának egész számazonosítóját adja meg.

nIDCheckButton
Az ellenőrizni kívánt választógomb egész számazonosítóját adja meg.

Megjegyzések

A CheckRadioButton függvény üzenetet BM_SETCHECK küld a megadott választógombnak.

Example

// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
   CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}

CWnd::ChildWindowFromPoint

Meghatározza, hogy a megadott ponthoz tartozó CWnd gyermekablakok közül melyik, ha van ilyen.

CWnd* ChildWindowFromPoint(POINT point) const;

CWnd* ChildWindowFromPoint(
    POINT point,
    UINT nFlags) const;

Paraméterek

point
Megadja a tesztelni kívánt pont ügyfélkoordinátáit.

nflags
Megadja, hogy mely gyermekablakokat kell kihagyni. Ez a paraméter a következő értékek kombinációja lehet:

Érték Meaning
CWP_ALL Gyermekablakok kihagyása
CWP_SKIPINVISIBLE Láthatatlan gyermekablakok kihagyása
CWP_SKIPDISABLED Letiltott gyermekablakok kihagyása
CWP_SKIPTRANSPARENT Áttetsző gyermekablakok kihagyása

Visszaadott érték

A pontot tartalmazó gyermekablakot azonosítja. NULL Ha az adott pont az ügyfélterületen kívül esik. Ha a pont az ügyfélterületen belül van, de egyik gyermekablakban sem található, CWnd a rendszer visszaadja.

Ez a tagfüggvény egy rejtett vagy letiltott gyermekablakot ad vissza, amely tartalmazza a megadott pontot.

Egynél több ablak is tartalmazhatja a megadott pontot. Ez a függvény azonban csak a CWndpontot tartalmazó első ablak * értékét adja vissza.

A CWndvisszaadott * ideiglenes lehet, és nem szabad későbbi használatra tárolni.

Example

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

Egy adott pont vagy téglalap ügyfélkoordinátáit képernyőkoordinátákká alakítja.

void ClientToScreen(LPPOINT lpPoint) const;
void ClientToScreen(LPRECT lpRect) const;

Paraméterek

lpPoint
Olyan struktúráraPOINT vagy CPoint objektumra mutat, amely tartalmazza a konvertálni kívánt ügyfélkoordinátákat.

lpRect
Olyan struktúráraRECT vagy CRect objektumra mutat, amely tartalmazza a konvertálni kívánt ügyfélkoordinátákat.

Megjegyzések

A ClientToScreen tagfüggvény az ügyfélkoordinátákat használja a POINT struktúrában vagy RECT a CPoint kijelölt lpPoint struktúrában vagy CRect objektumban, vagy lpRect új képernyőkoordinátákat számít ki, majd lecseréli a struktúrában lévő koordinátákat az új koordinátákra. Az új képernyőkoordináta a rendszermegjelenítés bal felső sarkához viszonyítva jelenik meg.

A ClientToScreen tagfüggvény feltételezi, hogy az adott pont vagy téglalap ügyfélkoordinátákban van.

Example

// 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

Kis méretűre csökkenti az ablakot.

void CloseWindow();

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény CloseWindowfunkcióit.

CWnd::ContinueModal

Ezt a tagfüggvényt annak meghatározására hívjuk RunModalLoop meg, hogy mikor kell kilépni a modális állapotból.

virtual BOOL ContinueModal();

Visszaadott érték

Nonzero, ha a modális hurkot folytatni kell; 0, amikor EndModalLoop meghívjuk.

Megjegyzések

Alapértelmezés szerint nem nulla értéket ad vissza, amíg a rendszer meg nem EndModalLoop hívja.

CWnd::Create

Létrehozza a megadott gyermekablakot, és csatolja az CWnd objektumhoz.

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    Const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext = NULL);

Paraméterek

lpszClassName
[in] Mutató egy null értékű sztringre, amely egy regisztrált rendszerablakosztály nevét tartalmazza; vagy egy előre definiált rendszerablak-osztály neve.

lpszWindowName
[in] Mutató egy null értékű sztringre, amely tartalmazza az ablak megjelenítendő nevét; ellenkező esetben NULL nincs ablakmegjelenítési név.

dwStyle
[in] Az ablakstílusok bitenkénti kombinációja (OR). A WS_POPUP beállítás nem érvényes stílus.

rect
[in] Az ablak mérete és helye a szülőablak bal felső sarkához viszonyítva.

pParentWnd
[in] Mutasson a szülőablakra.

nID
[in] Az ablak azonosítója.

pContext
[in] Mutasson az CCreateContext alkalmazás dokumentumnézeti architektúrájának testreszabására szolgáló struktúrára.

Visszaadott érték

TRUE ha a módszer sikeres volt; egyéb esetben FALSE.

Megjegyzések

Figyelmeztetés

CWnd::PreCreateWindow most hozzárendeli a hMenu paraméter tagját CREATESTRUCT az this egérmutatóhoz, ha a menü és NULL a stílus tartalmazza WS_CHILD. A megfelelő működés érdekében győződjön meg arról, hogy a párbeszédpanel-vezérlő nem NULLmegfelelő azonosítóval rendelkezik.

Ez a módosítás kijavít egy összeomlást a felügyelt/natív interop-forgatókönyvekben. Egy TRACE utasítás figyelmezteti CWnd::Create a fejlesztőt a problémára.

A függvény használatával AfxRegisterWndClass regisztrálhatja az ablakosztályokat. A felhasználó által definiált ablakosztályok abban a modulban érhetők el, amelyben regisztrálva vannak.

A CWnd::OnCreate metódust a Create metódus visszatérése előtt hívjuk meg, mielőtt az ablak láthatóvá válik.

Example

// 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

Létrehoz egy aktív akadálymentességi proxyt a megadott objektumhoz.

virtual HRESULT CreateAccessibleProxy(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paraméterek

wParam
Azonosítja az aktív akadálymentességi proxy által elért objektumot. Az alábbi értékek egyike lehet

Érték Meaning
OBJID_CLIENT Az ablak ügyfélterületére hivatkozik.

lParam
További üzenetfüggő információkat tartalmaz.

pResult
Az eredménykódot tároló mutató LRESULT .

Megjegyzések

Létrehoz egy aktív akadálymentességi proxyt a megadott objektumhoz.

CWnd::CreateCaret

Új alakzatot hoz létre a rendszer gondviseltjének, és a gondviselet tulajdonjogát állítja be.

void CreateCaret(CBitmap* pBitmap);

Paraméterek

pBitmap
Azonosítja a gondviseleti alakzatot meghatározó bitképet.

Megjegyzések

A bitképet korábban a tagfüggvénynek, a CBitmap::CreateBitmapCreateDIBitmap Windows függvénynek vagy a CBitmap::LoadBitmap tagfüggvénynek kellett létrehoznia.

CreateCaret automatikusan megsemmisíti az előző simító alakzatot, ha van ilyen, függetlenül attól, hogy melyik ablak a gondviselet tulajdonosa. A létrehozás után a gondviselet kezdetben rejtve marad. A gondviselet megjelenítéséhez meg kell hívni a ShowCaret tagfüggvényt.

A rendszer gondviseltje egy megosztott erőforrás. CWnd csak akkor kell létrehoznia egy simítót, ha a bemeneti fókusza van, vagy aktív. Meg kell semmisítenie a gondviseletet, mielőtt elveszíti a bemeneti fókuszt, vagy inaktívvá válik.

Example

// 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

Ezzel a tagfüggvénnyel létrehozhat egy ActiveX-vezérlőt, amelyet egy CWnd objektum fog ábrázolni az MFC programban.

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);

Paraméterek

pszClass
Ez a sztring tartalmazhatja az osztály OLE "rövid nevét" (ProgID). Például: "CIRC3.Circ3Ctrl.1". A névnek meg kell egyeznie a vezérlőelem által regisztrált névvel. Másik lehetőségként a sztring tartalmazhat egy kapcsos zárójelekben található sztringformát CLSID. Például: "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Mindkét esetben CreateControl átalakítja a sztringet a megfelelő osztályazonosítóvá.

pszWindowName
A vezérlőelemben megjelenítendő szövegre mutató mutató. Beállítja a vezérlőelem Felirat vagy Szöveg tulajdonságának értékét (ha van ilyen). Ha NULLa vezérlőelem Felirat vagy Szöveg tulajdonsága nem változik.

dwStyle
Windows-stílusok Az elérhető stílusok a Megjegyzések listában találhatók.

rect
Megadja a vezérlő méretét és pozícióját. CRect Lehet objektum vagy RECT struktúra.

ppt
POINT A vezérlőelem bal felső sarkát tartalmazó szerkezetre vagy CPoint objektumra mutat.

pSize
SIZE A vezérlő méretét tartalmazó szerkezetre vagy CSize objektumra mutat

pParentWnd
A vezérlő szülőablakát adja meg. Nem lehet NULL.

nID
Megadja a vezérlő azonosítóját.

pPersist
A vezérlőelem állandó állapotát tartalmazó mutató CFile . Az alapértelmezett érték azt NULLjelzi, hogy a vezérlő inicializálja magát anélkül, hogy visszaállítja az állapotát bármilyen állandó tárolóból. Ha nem NULL, akkor egy -származtatott objektumra mutató mutatónak CFilekell lennie, amely a vezérlő állandó adatait tartalmazza stream vagy tár formájában. Ezeket az adatokat az ügyfél korábbi aktiválása során menthették. A CFile függvény más adatokat is tartalmazhat, de az olvasási-írási mutatónak az állandó adatok első bájtjára kell állítania a híváskor CreateControl.

bStorage
Azt jelzi, hogy a benne lévő pPersist adatokat értelmezni IStorage kell-e, vagy IStream az adatokat. Ha a benne lévő pPersist adatok tárolók, bStorage akkor a következőnek kell lennie TRUE: . Ha a benne lévő pPersist adatok streamek, bStorage akkor a következőnek kell lennie FALSE: . Az alapértelmezett érték a FALSE.

bstrLicKey
Nem kötelező licenckulcs-adatok. Ezek az adatok csak olyan vezérlők létrehozásához szükségesek, amelyek futásidejű licenckulcsot igényelnek. Ha a vezérlő támogatja a licencelést, meg kell adnia egy licenckulcsot a vezérlő sikeres létrehozásához. Az alapértelmezett érték a NULL.

clsid
A vezérlő egyedi osztályazonosítója.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

CreateControla függvény közvetlen analógjaCWnd::Create, amely létrehozza a .CWnd CreateControl A szokásos ablak helyett egy ActiveX-vezérlőt hoz létre.

Csak a Windows-jelzők dwStyle egy részhalmaza támogatott CreateControl:

  • WS_VISIBLE Először látható ablakot hoz létre. Kötelező, ha azt szeretné, hogy a vezérlő azonnal látható legyen, például a szokásos ablakok.

  • WS_DISABLED Létrehoz egy ablakot, amely kezdetben le van tiltva. A letiltott ablak nem tud bemenetet fogadni a felhasználótól. Akkor állítható be, ha a vezérlő engedélyezve van.

  • WS_BORDER Vékonyvonalas szegélyű ablakot hoz létre. Beállítható, ha a vezérlőelem rendelkezik tulajdonság használatával BorderStyle .

  • WS_GROUP Egy vezérlőcsoport első vezérlőelemét adja meg. A felhasználó az iránybillentyűkkel módosíthatja a billentyűzet fókuszát a csoport egyik vezérlőeleméről a következőre. Az első vezérlőelem utáni stílussal WS_GROUP definiált összes vezérlő ugyanahhoz a csoporthoz tartozik. A következő vezérlőelem a WS_GROUP stílussal véget vet a csoportnak, és elindítja a következő csoportot.

  • WS_TABSTOP Olyan vezérlőt ad meg, amely képes fogadni a billentyűzet fókuszát, amikor a felhasználó lenyomja a TAB billentyűt. A TAB billentyű lenyomásával a billentyűzet fókusza a stílus következő vezérlője WS_TABSTOP lesz.

Example

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

Létrehozza a megadott ablakot, és csatolja az CWnd objektumhoz.

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);

Paraméterek

dwExStyle
Bővített ablakstílusok bitenkénti kombinációja (OR). ellenkező esetben NULL az alapértelmezett kiterjesztett ablakstílust.

lpszClassName
Mutató egy null értékű sztringre, amely egy regisztrált rendszerablakosztály nevét tartalmazza; vagy egy előre definiált rendszerablak-osztály neve.

lpszWindowName
Mutató egy null értékű sztringre, amely tartalmazza az ablak megjelenítendő nevét; ellenkező esetben NULL nincs ablakmegjelenítési név.

dwStyle
Az ablakstílusok bitenkénti kombinációja (OR). ellenkező esetben NULL az alapértelmezett ablakstílushoz.

x
Az ablak kezdeti vízszintes távolsága a képernyő bal oldalától vagy a szülőablaktól.

y
Az ablak kezdeti függőleges távolsága a képernyő tetejétől vagy a szülőablaktól.

nWidth
Az ablak szélessége képpontban.

nHeight
Az ablak magassága képpontban.

hwndParent
Gyermekablak esetén a szülőablak fogópontja; ellenkező esetben a tulajdonosi ablak fogópontja, ha az ablak rendelkezik tulajdonosi engedéllyel.

nIDorHMenu
Gyermekablak esetén az ablak azonosítója; ellenkező esetben az ablak menüjének azonosítója.

lpParam
Mutasson a mező metódusának lpCreateParams átadott felhasználói adatokraCWnd::OnCreate.

rect
Az ablak mérete és helye a képernyőhöz vagy a szülőablakhoz viszonyítva.

pParentWnd
Gyermekablak esetén mutasson a szülőablakra; ellenkező esetben mutasson a tulajdonos ablakára, ha az ablak rendelkezik tulajdonosi engedéllyel.

nID
Gyermekablak esetén az ablak azonosítója; ellenkező esetben az ablak menüjének azonosítója.

Visszaadott érték

TRUE ha a módszer sikeres volt; egyéb esetben FALSE.

Megjegyzések

Figyelmeztetés

CWnd::PreCreateWindow most hozzárendeli a hMenu paraméter tagját CREATESTRUCT az this egérmutatóhoz, ha a menü és NULL a stílus tartalmazza WS_CHILD. A megfelelő működés érdekében győződjön meg arról, hogy a párbeszédpanel-vezérlő nem NULLmegfelelő azonosítóval rendelkezik.

Ez a módosítás kijavít egy összeomlást a felügyelt/natív interop-forgatókönyvekben. Egy TRACE utasítás figyelmezteti CWnd::Create a fejlesztőt a problémára.

Az alapértelmezett kiterjesztett ablakstílus a következő WS_EX_LEFT: . Az alapértelmezett ablakstílus az WS_OVERLAPPED.

A függvény használatával AfxRegisterWndClass regisztrálhatja az ablakosztályokat. A felhasználó által definiált ablakosztályok abban a modulban érhetők el, amelyben regisztrálva vannak.

A gyermekablakok méretei a szülőablak ügyfélterületének bal felső sarkához viszonyítva vannak. A felső szintű ablakok méretei a képernyő bal felső sarkához viszonyítva jelennek meg.

A CWnd::OnCreate metódust a CreateEx metódus visszatérése előtt hívjuk meg, mielőtt az ablak láthatóvá válik.

Example

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

Szürke téglalapot hoz létre a rendszer gondviseltjének, és a gondviselet tulajdonjogát állítja be.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Paraméterek

nWidth
A gondviselet szélességét adja meg (logikai egységekben). Ha ez a paraméter 0, a szélesség a rendszer által definiált ablakszegély szélességére van állítva.

nHeight
A gondviselet magasságát adja meg (logikai egységekben). Ha ez a paraméter 0, akkor a magasság a rendszer által definiált ablakszegély magasságára van állítva.

Megjegyzések

A simító alakzat lehet vonal vagy blokk.

A paraméterek nWidth és nHeight a gondozó szélességének és magasságának megadása (logikai egységekben); a pontos szélesség és magasság (képpontban) a leképezési módtól függ.

A rendszer ablakszegélyének szélességét vagy magasságát a GetSystemMetrics Windows függvény lekérheti az SM_CXBORDER indexekkel együtt SM_CYBORDER . Az ablakszegély szélességének vagy magasságának használatával biztosítható, hogy a gondviselő látható legyen egy nagy felbontású kijelzőn.

A CreateGrayCaret tagfüggvény automatikusan megsemmisíti az előző simító alakzatot, ha van ilyen, függetlenül attól, hogy melyik ablak a gondviselet tulajdonosa. A létrehozás után a gondviselet kezdetben rejtve marad. A gondviselet megjelenítéséhez meg kell hívni a ShowCaret tagfüggvényt.

A rendszer gondviseltje egy megosztott erőforrás. CWnd csak akkor kell létrehoznia egy simítót, ha a bemeneti fókusza van, vagy aktív. Meg kell semmisítenie a gondviseletet, mielőtt elveszíti a bemeneti fókuszt, vagy inaktívvá válik.

Example

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
   m_MyEdit.CreateGrayCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CreateSolidCaret

Egy szilárd téglalapot hoz létre a rendszer gondviseltjének, és a gondviselet tulajdonjogát követeli meg.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Paraméterek

nWidth
A gondviselet szélességét adja meg (logikai egységekben). Ha ez a paraméter 0, a szélesség a rendszer által definiált ablakszegély szélességére van állítva.

nHeight
A gondviselet magasságát adja meg (logikai egységekben). Ha ez a paraméter 0, akkor a magasság a rendszer által definiált ablakszegély magasságára van állítva.

Megjegyzések

A simító alakzat lehet vonal vagy blokk.

A paraméterek nWidth és nHeight a gondozó szélességének és magasságának megadása (logikai egységekben); a pontos szélesség és magasság (képpontban) a leképezési módtól függ.

A rendszer ablakszegélyének szélességét vagy magasságát a GetSystemMetrics Windows függvény lekérheti az SM_CXBORDER indexekkel együtt SM_CYBORDER . Az ablakszegély szélességének vagy magasságának használatával biztosítható, hogy a gondviselő látható legyen egy nagy felbontású kijelzőn.

A CreateSolidCaret tagfüggvény automatikusan megsemmisíti az előző simító alakzatot, ha van ilyen, függetlenül attól, hogy melyik ablak a gondviselet tulajdonosa. A létrehozás után a gondviselet kezdetben rejtve marad. A gondviselet megjelenítéséhez meg kell hívni a ShowCaret tagfüggvényt.

A rendszer gondviseltje egy megosztott erőforrás. CWnd csak akkor kell létrehoznia egy simítót, ha a bemeneti fókusza van, vagy aktív. Meg kell semmisítenie a gondviseletet, mielőtt elveszíti a bemeneti fókuszt, vagy inaktívvá válik.

Example

// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
   m_MyEdit.CreateSolidCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CWnd

Egy CWnd objektumot hoz létre.

CWnd();

Megjegyzések

A Windows-ablak létrehozása és csatolása addig nem történik meg, amíg a rendszer meg nem hívja a CreateEx tagfüggvényt Create .

CWnd::Default

Meghívja az alapértelmezett ablak eljárást.

LRESULT Default();

Visszaadott érték

Az elküldött üzenettől függ.

Megjegyzések

Az alapértelmezett ablakeljárás minden olyan ablaküzenet alapértelmezett feldolgozását biztosítja, amelyet egy alkalmazás nem dolgoz fel. Ez a tagfüggvény biztosítja az összes üzenet feldolgozását.

Example

// 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

Meghívja az alapértelmezett ablakeljárást, amely alapértelmezett feldolgozást biztosít minden olyan ablaküzenethez, amelyet egy alkalmazás nem dolgoz fel.

virtual LRESULT DefWindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

message
Megadja a feldolgozandó Windows-üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

Visszaadott érték

Az elküldött üzenettől függ.

Megjegyzések

Ez a tagfüggvény biztosítja az összes üzenet feldolgozását. Az ablak eljárás által kapott paraméterekkel azonos paraméterekkel kell meghívni.

CWnd::DeleteTempMap

Az objektum tétlen időkezelője automatikusan meghívja.CWinApp

static void PASCAL DeleteTempMap();

Megjegyzések

Törli a tagfüggvény által CWnd létrehozott ideiglenes FromHandle objektumokat.

Example

// DeleteTempMap() is a static member and does not need 
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();

CWnd::DestroyWindow

Megsemmisíti az objektumhoz csatolt Windows-ablakot CWnd .

virtual BOOL DestroyWindow();

Visszaadott érték

Nonzero, ha az ablak megsemmisül; egyéb esetben 0.

Megjegyzések

A DestroyWindow tagfüggvény megfelelő üzeneteket küld az ablaknak, hogy inaktiválja és eltávolítsa a bemeneti fókuszt. Emellett elpusztítja az ablak menüjét, kiüríti az alkalmazássort, megsemmisíti a kiemelkedő időzítőket, eltávolítja a vágólap tulajdonjogát, és megszakítja a vágólap-megtekintő láncot, ha CWnd a megtekintő lánc tetején van. Üzeneteket küld WM_DESTROY az WM_NCDESTROY ablakba. Nem pusztítja el az objektumot CWnd .

DestroyWindow a tisztítási hely tulajdonosa. Mivel DestroyWindow ez egy virtuális függvény, az osztálynézet bármely CWndszármaztatott osztályában megjelenik. De még ha felül is bírálja ezt a függvényt a CWndszármaztatott osztályban, DestroyWindow a függvény nem feltétlenül lesz meghívva. Ha DestroyWindow nincs meghívva az MFC-kód, akkor explicit módon meg kell hívnia a saját kódjában, ha azt szeretné, hogy meghívja.

Tegyük fel például, hogy felül van bírálva DestroyWindow egy CView-származtatott osztályban. Mivel az MFC-forráskód egyik származtatott osztályában CFrameWndsem hívható DestroyWindow meg, a felülírt DestroyWindow kód csak akkor lesz meghívva, ha explicit módon hívja meg.

Ha az ablak bármely ablak szülője, a gyermekablakok automatikusan megsemmisülnek, amikor a szülőablak megsemmisül. A DestroyWindow tagfüggvény először a gyermekablakokat, majd magát az ablakot pusztítja el.

A DestroyWindow tagfüggvény az általa létrehozott mód nélküli párbeszédpaneleket is megsemmisíti CDialog::Create.

Ha a CWnd megsemmisítés gyermekablak, és nem rendelkezik a WS_EX_NOPARENTNOTIFY stíluskészlettel, akkor a rendszer elküldi az WM_PARENTNOTIFY üzenetet a szülőnek.

Example

// 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

Leválaszt egy Windows-leírót egy CWnd objektumról, és visszaadja a fogópontot.

HWND Detach();

Visszaadott érték

A HWND a Windows-objektumhoz.

Example

Lásd a példát a CWnd::Attach.

CWnd::DlgDirList

Kitölt egy listát egy fájl- vagy könyvtárlistával.

int DlgDirList(
    LPTSTR lpPathSpec,
    int nIDListBox,
    int nIDStaticPath,
    UINT nFileType);

Paraméterek

lpPathSpec
Egy null értékű sztringre mutat, amely tartalmazza az elérési utat vagy a fájlnevet. DlgDirList módosítja ezt a sztringet, amelynek elég hosszúnak kell lennie ahhoz, hogy tartalmazza a módosításokat. További információ: "Megjegyzések" szakasz.

nIDListBox
Egy listamező azonosítóját adja meg. Ha nIDListBox 0, feltételezi, DlgDirList hogy nincs listamező, és nem próbál meg kitölteni egyet.

nIDStaticPath
Megadja az aktuális meghajtó és könyvtár megjelenítéséhez használt statikus szöveg vezérlőelem azonosítóját. Ha nIDStaticPath 0, akkor feltételezi, DlgDirList hogy nincs ilyen szövegvezérlő.

nFileType
Megadja a megjelenítendő fájlok attribútumait. A következő értékek bármilyen kombinációja lehet:

  • DDL_READWRITE Olvasási-írási adatfájlok további attribútumok nélkül.

  • DDL_READONLY Írásvédett fájlok.

  • DDL_HIDDEN Rejtett fájlok.

  • DDL_SYSTEM Rendszerfájlok.

  • DDL_DIRECTORY Könyvtárak.

  • DDL_ARCHIVE Archívum.

  • DDL_POSTMSGS LB_DIR Zászló. Ha a LB_DIR jelző be van állítva, a Windows az alkalmazás üzenetsorába helyezi a létrehozott DlgDirList üzeneteket, ellenkező esetben a rendszer közvetlenül a párbeszédpanel-eljárásba küldi őket.

  • DDL_DRIVES Meghajtók. Ha a DDL_DRIVES jelölő be van állítva, a DDL_EXCLUSIVE jelölő automatikusan be van állítva. Ezért a meghajtókat és fájlokat tartalmazó címtárlista létrehozásához kétszer kell meghívnia DlgDirList : egyszer a DDL_DRIVES jelölőkészlettel, egyszer pedig a lista többi részének jelzőivel.

  • DDL_EXCLUSIVE Exkluzív bit. Ha a kizárólagos bit be van állítva, csak a megadott típusú fájlok jelennek meg; egyéb esetben a normál fájlok és a megadott típusú fájlok szerepelnek a listában.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

DlgDirList LB_DIR üzeneteket küld LB_RESETCONTENT a listamezőbe. Kitölti a megadott nIDListBox listamezőt az összes fájl nevével, amely megfelel a megadott elérési útnak lpPathSpec.

A lpPathSpec paraméter a következő űrlapot tartalmazza:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

Ebben a példában drive egy meghajtóbetűjel, directory egy érvényes könyvtárnév, és filename egy érvényes fájlnév, amely legalább egy helyettesítő karaktert tartalmaz. A helyettesítő karakterek kérdőjelek (?), ami azt jelenti, hogy bármely karakternek egyeznie kell, a csillag (*) pedig tetszőleges számú karakternek felel meg.

Ha 0 hosszúságú sztringet lpPathSpecad meg, vagy ha csak egy könyvtárnevet ad meg, de nem tartalmaz fájlspecifikációt, a sztring "*.*" értékre változik.

Ha lpPathSpec meghajtó- és/vagy könyvtárnevet is tartalmaz, a listamező kitöltése előtt a rendszer a kijelölt meghajtóra és könyvtárra módosítja az aktuális meghajtót és könyvtárat. Az azonosított nIDStaticPath szövegvezérlő az új meghajtóval és/vagy könyvtárnévvel is frissül.

A listamező kitöltése lpPathSpec után az elérési út meghajtójának és/vagy könyvtárrészének eltávolításával frissül.

Example

// 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

Fájl- vagy könyvtárlistával tölti ki a kombinált lista listáját.

int DlgDirListComboBox(
    LPTSTR lpPathSpec,
    int nIDComboBox,
    int nIDStaticPath,
    UINT nFileType);

Paraméterek

lpPathSpec
Egy null értékű sztringre mutat, amely tartalmazza az elérési utat vagy a fájlnevet. DlgDirListComboBox módosítja ezt a sztringet, így ezek az adatok nem lehetnek sztringkonstans formájában. Lásd a következő "Megjegyzések" szakaszt.

nIDComboBox
Egy párbeszédpanel kombinált lista azonosítóját adja meg. Ha nIDComboBox 0, feltételezi, DlgDirListComboBox hogy nincs kombinált lista, és nem próbál meg kitölteni egyet.

nIDStaticPath
Megadja az aktuális meghajtó és könyvtár megjelenítéséhez használt statikus szöveg vezérlőelem azonosítóját. Ha nIDStaticPath 0, akkor feltételezi, DlgDirListComboBox hogy nincs ilyen szövegvezérlő.

nFileType
Megadja a megjelenítendő fájlok DOS-fájlattribútumait. A következő értékek bármilyen kombinációja lehet:

  • DDL_READWRITE Olvasási-írási adatfájlok további attribútumok nélkül.

  • DDL_READONLY Írásvédett fájlok.

  • DDL_HIDDEN Rejtett fájlok.

  • DDL_SYSTEM Rendszerfájlok.

  • DDL_DIRECTORY Könyvtárak.

  • DDL_ARCHIVE Archívum.

  • DDL_POSTMSGS CB_DIR Zászló. Ha a CB_DIR jelző be van állítva, a Windows az alkalmazás üzenetsorába helyezi a létrehozott DlgDirListComboBox üzeneteket, ellenkező esetben a rendszer közvetlenül a párbeszédpanel-eljárásba küldi őket.

  • DDL_DRIVES Meghajtók. Ha a DDL_DRIVES jelölő be van állítva, a DDL_EXCLUSIVE jelölő automatikusan be van állítva. Ezért a meghajtókat és fájlokat tartalmazó címtárlista létrehozásához kétszer kell meghívnia DlgDirListComboBox : egyszer a DDL_DRIVES jelölőkészlettel, egyszer pedig a lista többi részének jelzőivel.

  • DDL_EXCLUSIVE Exkluzív bit. Ha a kizárólagos bit be van állítva, csak a megadott típusú fájlok jelennek meg; egyéb esetben a normál fájlok és a megadott típusú fájlok szerepelnek a listában.

Visszaadott érték

A függvény eredményét adja meg. Nem kötelező, ha egy listaelem készült, még egy üres lista is. A 0 visszatérési érték azt jelenti, hogy a bemeneti sztring nem tartalmaz érvényes keresési útvonalat.

Megjegyzések

DlgDirListComboBox CB_DIR üzeneteket küld CB_RESETCONTENT a kombinált listára. Kitölti a megadott kombinált lista nIDComboBox listáját az összes fájl nevével, amelyek megfelelnek a megadott elérési útnak lpPathSpec.

A lpPathSpec paraméter a következő űrlapot tartalmazza:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

Ebben a példában drive egy meghajtóbetűjel, directory egy érvényes könyvtárnév, és filename egy érvényes fájlnév, amely legalább egy helyettesítő karaktert tartalmaz. A helyettesítő karakterek kérdőjelek (?), ami azt jelenti, hogy bármely karakternek egyeznie kell, és egy csillag (*), ami azt jelenti, hogy tetszőleges számú karakternek felel meg.

Ha nulla hosszúságú sztringet lpPathSpecad meg, a program az aktuális könyvtárat használja, és lpPathSpec nem módosítja. Ha csak egy könyvtárnevet ad meg, de nem tartalmaz fájlspecifikációt, a sztring "*" értékre változik.

Ha lpPathSpec meghajtó- és/vagy könyvtárnevet is tartalmaz, a listamező kitöltése előtt a rendszer a kijelölt meghajtóra és könyvtárra módosítja az aktuális meghajtót és könyvtárat. Az azonosított nIDStaticPath szövegvezérlő az új meghajtóval és/vagy könyvtárnévvel is frissül.

A kombinált lista lista kitöltése lpPathSpec után az elérési út meghajtó- és/vagy könyvtárrészének eltávolításával frissül.

Example

// 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

Lekéri az aktuális kijelölést egy listamezőből.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Paraméterek

lpString
Egy pufferre mutat, amely a listamező aktuális kijelölésének fogadásához szükséges.

nIDListBox
A párbeszédpanel listamezőjének egész számazonosítóját adja meg.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Feltételezi, hogy a listamezőt a DlgDirList tagfüggvény töltötte ki, a kijelölés pedig egy meghajtóbetűjel, egy fájl vagy egy könyvtárnév.

A DlgDirSelect tagfüggvény átmásolja a kijelölést a megadott pufferbe lpString. Ha nincs kijelölés, lpString nem változik.

DlgDirSelect LB_GETTEXT üzeneteket küld LB_GETCURSEL a listamezőbe.

Nem engedélyezi, hogy egynél több fájlnév legyen visszaadva egy listamezőből. A listamező nem lehet többszörös kijelölésű listamező.

CWnd::DlgDirSelectComboBox

Lekéri az aktuális kijelölést a kombinált lista listájából.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Paraméterek

lpString
A kijelölt elérési út fogadásához szükséges pufferre mutat.

nIDComboBox
A párbeszédpanel kombinált listájának egész számazonosítóját adja meg.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Feltételezi, hogy a listamezőt a DlgDirListComboBox tagfüggvény töltötte ki, a kijelölés pedig egy meghajtóbetűjel, egy fájl vagy egy könyvtárnév.

A DlgDirSelectComboBox tagfüggvény átmásolja a kijelölést a megadott pufferbe. Ha nincs kijelölés, a puffer tartalma nem változik.

DlgDirSelectComboBox CB_GETLBTEXT üzeneteket küld CB_GETCURSEL a kombinált listára.

Nem teszi lehetővé, hogy egynél több fájlnév legyen visszaadva egy kombinált listából.

CWnd::DoDataExchange

A keretrendszer meghívta a párbeszédpanel-adatok cseréjére és ellenőrzésére.

virtual void DoDataExchange(CDataExchange* pDX);

Paraméterek

pDX
Egy objektumra mutató CDataExchange mutató.

Megjegyzések

Soha ne hívja meg közvetlenül ezt a függvényt. A tagfüggvény hívja UpdateData meg. Hívás UpdateData párbeszédpanel vezérlőinek inicializálására vagy adatok beolvasására egy párbeszédpanelről.

Ha alkalmazásspecifikus párbeszédpanel-osztályt hoz létre, CDialogfelül kell bírálnia ezt a tagfüggvényt, ha a keretrendszer automatikus adatcseréjét és érvényesítését szeretné használni. A Változó hozzáadása varázsló ennek a tagfüggvénynek egy felülbírált verzióját fogja írni, amely tartalmazza a párbeszédpaneles adatcsere (DDX) és az érvényesítési (DDV) globális függvényhívások kívánt "adattérképét".

A tagfüggvény felülírt verziójának automatikus létrehozásához először hozzon létre egy párbeszédpanel-erőforrást a párbeszédpanel-szerkesztővel, majd hozzon létre egy alkalmazásspecifikus párbeszédpanel-osztályt. Ezután a Változó hozzáadása varázslóval változókat, adatokat és érvényesítési tartományokat társíthat az új párbeszédpanel különböző vezérlőihez. A varázsló ezután megírja a felülírtot DoDataExchange, amely egy adattérképet tartalmaz. Az alábbi példa a Változó hozzáadása varázsló által létrehozott DDX/DDV kódblokkot tartalmazza:

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);
}

A DoDataExchange felülírt tagfüggvénynek meg kell előznie a forrásfájl makróutasító utasításait.

A párbeszédpanel-adatcserével és -ellenőrzéssel kapcsolatos további információkért lásd: Adatok megjelenítése és kezelése űrlapon és párbeszédpanelen adatcserében és -ellenőrzésben. A Változó hozzáadása varázsló által létrehozott DDX_ és DDV_ makrók leírását lásd: Technical Note 26.

CWnd::DragAcceptFiles

Hívja meg ezt a tagfüggvényt egy ablakban, egy CWnd mutatóval az alkalmazás függvényében CWinApp::InitInstance , amely jelzi, hogy az ablak fogadja a Windows Fájlkezelőből vagy a Fájlkezelőből elvetett fájlokat.

void DragAcceptFiles(BOOL bAccept = TRUE);

Paraméterek

BAccept
Jelölő, amely jelzi, hogy a rendszer elfogadja-e az áthúzott fájlokat.

Megjegyzések

Csak a paraméterkészlettel bAccept hívogató TRUEDragAcceptFiles ablak azonosította magát a Windows-üzenet WM_DROPFILESfeldolgozására. Ha például egy MDI-alkalmazásban az CMDIFrameWnd ablakmutatót a függvényhívásban DragAcceptFiles használják, csak az CMDIFrameWnd ablak kapja meg az WM_DROPFILES üzenetet. Ezt az üzenetet nem küldi el a rendszer az összes megnyitott CMDIChildWnd ablaknak. Ahhoz, hogy egy CMDIChildWnd ablak megkapja ezt az üzenetet, az CMDIChildWnd ablakmutatóval kell hívniaDragAcceptFiles.

Az áthúzott fájlok fogadásának megszüntetéséhez hívja meg a tagfüggvényt FALSEa következő beállítássalbAccept: .

CWnd::DragDetect

Rögzíti az egeret, és nyomon követi annak mozgását, amíg a felhasználó fel nem oldja a bal gombot, lenyomja az ESC billentyűt, vagy az egeret a megadott pont körül a húzási téglalapon kívülre helyezi.

BOOL DragDetect(POINT pt) const;

Paraméterek

pt
Az egér kezdeti helyzete a képernyő koordinátáiban. A függvény ezzel a ponttal határozza meg a húzási téglalap koordinátáit.

Visszaadott érték

Ha a felhasználó a bal oldali gomb lenyomása közben a húzási téglalapon kívülre helyezte az egeret, a visszatérési érték nem lesz nulla.

Ha a felhasználó nem mozgatta az egeret a húzási téglalapon kívül, miközben lenyomta a bal gombot, a visszatérési érték nulla.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény DragDetectfunkcióit.

CWnd::DrawAnimatedRects

Rajzol egy drótkeretes téglalapot, és animálja azt, hogy jelezze egy ikon megnyitását, vagy az ablak minimálisra vagy maximális méretre állítását.

BOOL DrawAnimatedRects(
    int idAni,
    CONST RECT* lprcFrom,
    CONST RECT* lprcTo);

Paraméterek

idAni
Megadja az animáció típusát. Ha megadja IDANI_CAPTION, az ablak felirata a megadott lprcFrom pozícióból a megadott lprcTopozícióba lesz animálva. Az effektus hasonló az ablak minimalizálásához vagy maximalizálásához.

lprcFrom
Mutasson egy RECT szerkezetre, amely megadja az ikon vagy a kis méretű ablak helyét és méretét.

lprcTo
Mutató egy RECT szerkezetre, amely megadja a visszaállított ablak helyét és méretét

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény DrawAnimatedRectsfunkcióit.

CWnd::DrawCaption

Egy ablak feliratának rajzolása.

BOOL DrawCaption(
    CDC* pDC,
    LPCRECT lprc,
    UINT uFlags);

Paraméterek

pDC
Egy eszközkörnyezetre mutató mutató. A függvény berajzolja az ablak feliratát ebbe az eszközkörnyezetbe.

lprc
Az ablak feliratának határoló téglalapját meghatározó struktúra mutatója RECT .

uFlags
Megadja a rajzbeállításokat. Az értékek teljes listáját lásd DrawCaption: .

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény DrawCaptionfunkcióit.

CWnd::DrawMenuBar

Újrarajzolva a menüsávot.

void DrawMenuBar();

Megjegyzések

Ha a Windows létrehozása után megváltozik egy menüsáv, hívja meg ezt a függvényt a módosított menüsáv rajzolásához.

Example

Lásd a példát a CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Engedélyezi a felhasználó által definiált aktív akadálymentességi függvényeket.

void EnableActiveAccessibility();

Megjegyzések

Az MFC alapértelmezett Active Accessibility-támogatása elegendő a szabványos ablakokhoz és vezérlőkhöz, beleértve az ActiveX-vezérlőket is; ha azonban a CWnd-származtatott osztály nem beszedhető felhasználói felületi elemeket tartalmaz, az MFC nem tud róluk. Ebben az esetben felül kell bírálnia az osztály megfelelő aktív akadálymentességi tagfüggvényeit , és be kell hívnia EnableActiveAccessibility az osztály konstruktorát.

CWnd::EnableDynamicLayout

Engedélyezi vagy letiltja a dinamikus elrendezéskezelőt. Ha a dinamikus elrendezés engedélyezve van, a gyermekablakok helyzete és mérete dinamikusan módosítható, amikor a felhasználó átméretezi az ablakot.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Paraméterek

bEnable
TRUE a dinamikus elrendezés engedélyezéséhez; FALSE a dinamikus elrendezés letiltásához.

Megjegyzések

Ha engedélyezni szeretné a dinamikus elrendezést, nem csupán ezt a metódust kell meghívnia. Dinamikus elrendezési információkat is meg kell adnia arról, hogy az ablakban lévő vezérlők milyen módon reagálnak a méretváltozásokra. Ezeket az információkat az erőforrás-szerkesztőben vagy programozott módon is megadhatja az egyes vezérlőkhöz. Lásd: Dinamikus elrendezés.

CWnd::EnableD2DSupport

Engedélyezi vagy letiltja az ablak D2D-támogatását. Hívja meg ezt a metódust a főablak inicializálása előtt.

void EnableD2DSupport(
    BOOL bEnable = TRUE,
    BOOL bUseDCRenderTarget = FALSE);

Paraméterek

bEnable
Megadja, hogy be- vagy kikapcsolja-e a D2D-támogatást.

bUseDCRenderTarget
Az eszközkörnyezet (DC) renderelési céljának használata. CDCRenderTarget Ha FALSE és CHwndRenderTarget használatban van.

CWnd::EnableScrollBar

Engedélyezi vagy letiltja a görgetősáv egy vagy mindkét nyílát.

BOOL EnableScrollBar(
    int nSBFlags,
    UINT nArrowFlags = ESB_ENABLE_BOTH);

Paraméterek

nSBFlags
A görgetősáv típusát adja meg. Az alábbi értékek egyikével rendelkezhet:

  • SB_BOTH Engedélyezi vagy letiltja az ablakhoz társított vízszintes és függőleges görgetősávok nyílait.

  • SB_HORZ Engedélyezi vagy letiltja az ablakhoz társított vízszintes görgetősáv nyilait.

  • SB_VERT Engedélyezi vagy letiltja az ablakhoz társított függőleges görgetősáv nyilait.

nArrowFlags
Megadja, hogy a görgetősáv nyíljai engedélyezve vannak-e vagy le vannak-e tiltva, és hogy mely nyilak vannak engedélyezve vagy letiltva. Az alábbi értékek egyikével rendelkezhet:

  • ESB_ENABLE_BOTH Engedélyezi a görgetősáv mindkét nyílát (alapértelmezett).

  • ESB_DISABLE_LTUP Letiltja a vízszintes görgetősáv bal nyílát vagy a függőleges görgetősáv felfelé mutató nyilat.

  • ESB_DISABLE_RTDN Letiltja a vízszintes görgetősáv vagy a függőleges görgetősáv lefelé mutató nyílát.

  • ESB_DISABLE_BOTH Letiltja a görgetősáv mindkét nyilát.

Visszaadott érték

Nonzero, ha a nyilak engedélyezve vannak vagy le vannak tiltva a megadott módon. Ellenkező esetben 0, ami azt jelzi, hogy a nyilak már a kért állapotban vannak, vagy hiba történt.

CWnd::EnableScrollBarCtrl

Engedélyezi vagy letiltja az ablak görgetősávját.

void EnableScrollBarCtrl(
    int nBar,
    BOOL bEnable = TRUE);

Paraméterek

nBar
A görgetősáv azonosítója.

bEnable
Megadja, hogy a görgetősáv engedélyezve vagy letiltva legyen-e.

Megjegyzések

Ha az ablak egy testvér görgetősáv-vezérlővel rendelkezik, a rendszer ezt a görgetősávot használja; ellenkező esetben az ablak saját görgetősávját használja.

CWnd::EnableToolTips

Eszköztippek engedélyezése az adott ablakhoz.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Paraméterek

bEnable
Megadja, hogy az eszközleírás-vezérlő engedélyezve van-e vagy le van-e tiltva. TRUE engedélyezi a vezérlést; FALSE letiltja a vezérlőt.

Visszaadott érték

TRUE ha az eszköztippek engedélyezve vannak; egyéb esetben FALSE.

Megjegyzések

Felülbírálás OnToolHitTest az ablak szerkezetének TOOLINFO vagy szerkezetének megadásához.

Megjegyzés:

Egyes ablakok, például CToolBara OnToolHitTest.

Erről TOOLINFO a struktúráról további információt a Windows SDK-ban talál.

Az egyszerű hívás EnableToolTips nem elég a gyermekvezérlőkhöz tartozó eszköztippek megjelenítéséhez, kivéve, ha a szülőablak származik belőle CFrameWnd. Ennek az az oka, hogy CFrameWnd egy alapértelmezett kezelőt biztosít az TTN_NEEDTEXT értesítéshez. Ha a szülőablak nem származik, azaz párbeszédpanelről vagy űrlapnézetről CFrameWndvan szó, a gyermekvezérlők eszköztippjei nem jelennek meg megfelelően, hacsak nem ad meg kezelőt az TTN_NEEDTEXT eszköztipp-értesítéshez. Lásd : Eszköztippek.

Az ablakokhoz EnableToolTips megadott alapértelmezett eszköztippek nem rendelkeznek szöveggel. Az eszközleírás megjelenítendő szövegének lekéréséhez a rendszer az TTN_NEEDTEXT értesítést az eszköztipp vezérlőelem szülőablakára küldi, mielőtt az eszköztipp ablaka megjelenik. Ha az üzenethez nincs olyan kezelő, amely valamilyen értéket rendel a pszText struktúra tagjához TOOLTIPTEXT , az eszközleíráshoz nem jelenik meg szöveg.

Example

// 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

Engedélyezi vagy letiltja a nyomkövetési elemleírásokat.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Paraméterek

bEnable
Meghatározza, hogy a nyomkövetési eszköz tippjei engedélyezve vagy letiltva legyenek-e. Ha ez a paraméter, TRUEa nyomkövetési eszköz tippjei engedélyezve lesznek. Ha ez a paraméter, FALSEa nyomkövetési eszköz tippjei le lesznek tiltva.

Visszaadott érték

A tagfüggvény meghívása EnableWindow előtti állapotot jelzi. A visszatérési érték nem nulla, ha az ablak korábban le volt tiltva. A visszatérési érték 0, ha az ablak korábban engedélyezve volt, vagy hiba történt.

Megjegyzések

A követési eszköz tippjei olyan eszköztippablakok, amelyek dinamikusan elhelyezhetők a képernyőn. A pozíció gyors frissítésével a szerszámhegy ablaka zökkenőmentesen mozog, vagy "nyomon követi". Ez a funkció akkor lehet hasznos, ha az eszközleírás szövegére van szüksége az egérmutató mozgatása során elfoglalt pozíciójának követéséhez.

CWnd::EnableWindow

Engedélyezi vagy letiltja az egér- és billentyűzetbemenetet.

BOOL EnableWindow(BOOL bEnable = TRUE);

Paraméterek

bEnable
Megadja, hogy az adott ablak engedélyezve vagy letiltva legyen-e. Ha ez a paraméter, TRUEaz ablak engedélyezve lesz. Ha ez a paraméter, FALSEaz ablak le lesz tiltva.

Visszaadott érték

A tagfüggvény meghívása EnableWindow előtti állapotot jelzi. A visszatérési érték nem nulla, ha az ablak korábban le volt tiltva. A visszatérési érték 0, ha az ablak korábban engedélyezve volt, vagy hiba történt.

Megjegyzések

Ha a bemenet le van tiltva, a rendszer figyelmen kívül hagyja az olyan bemeneteket, mint az egérkattintások és a billentyűleütések. Ha a bemenet engedélyezve van, az ablak feldolgozza az összes bemenetet.

Ha az engedélyezett állapot megváltozik, a függvény visszatérése előtt elküldi az WM_ENABLE üzenetet.

Ha le van tiltva, az összes gyermekablak implicit módon le van tiltva, bár a rendszer nem küld WM_ENABLE üzeneteket.

Az aktiválás előtt engedélyezni kell egy ablakot. Ha például egy alkalmazás mód nélküli párbeszédpanelt jelenít meg, és letiltotta a főablakát, a főablakot engedélyezni kell a párbeszédpanel megsemmisítése előtt. Ellenkező esetben egy másik ablak fogja megkapni a bemeneti fókuszt, és aktiválódik. Ha egy gyermekablak le van tiltva, a rendszer figyelmen kívül hagyja, amikor a Windows megpróbálja meghatározni, hogy melyik ablak kapjon egérüzeneteket.

Alapértelmezés szerint az ablak létrehozásakor engedélyezve van. Egy alkalmazás megadhatja a stílust WS_DISABLED a Create tagfüggvényben CreateEx , és létrehozhat egy kezdetben letiltott ablakot. Az ablak létrehozása után az alkalmazás a EnableWindow tagfüggvény használatával is engedélyezheti vagy letilthatja az ablakot.

Az alkalmazások ezzel a függvénnyel engedélyezhetik vagy letilthatják a vezérlőelemeket egy párbeszédpanelen. A letiltott vezérlők nem tudják fogadni a bemeneti fókuszt, és a felhasználó sem férhet hozzá.

Example

//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

Leállítja a hívását.RunModalLoop

virtual void EndModalLoop(int nResult);

Paraméterek

nResult
A hívónak RunModalLoopvisszaadandó értéket tartalmazza.

Megjegyzések

A nResult paramétert a függvény a visszatérési értékre RunModalLooppropagálja.

CWnd::EndModalState

A tagfüggvény meghívásával módosíthat egy keretablakot modálisról mód nélkülire.

virtual void EndModalState();

CWnd::EndPaint

Megjelöli a festés végét az adott ablakban.

void EndPaint(LPPAINTSTRUCT lpPaint);

Paraméterek

lpPaint
PAINTSTRUCT A tagfüggvény által BeginPaint lekért festményadatokat tartalmazó struktúrára mutat.

Megjegyzések

A EndPaint tagfüggvényre a tagfüggvény minden hívásához BeginPaint szükség van, de csak a festés befejezése után.

Ha a tagfüggvény elrejti a BeginPaint gondviseletet, EndPaint visszaállítja a simítót a képernyőre.

Example

Lásd a példát a CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Párbeszédpanel-erőforrást kezdeményez.

BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);

Paraméterek

lpszResourceName
Mutató egy null értékű sztringre, amely megadja az erőforrás nevét.

lpResource
Egy erőforrásra mutató mutató.

Visszaadott érték

TRUE párbeszédpanel-erőforrás végrehajtása esetén; egyéb esetben FALSE.

Megjegyzések

ExecuteDlgInit a végrehajtó modulhoz vagy más forrásokból származó erőforrásokhoz kötött erőforrásokat fog használni. Ennek ExecuteDlgInit végrehajtásához hívja AfxFindResourceHandlemeg az erőforrás-leírót. Ha az MFC-alkalmazás nem használja a megosztott DLL-t (MFCx0[U][D].DLL), AfxFindResourceHandle akkor a hívások AfxGetResourceHandlea végrehajtható erőforrás aktuális leíróját adja vissza. Ha az MFCx0[U][D].DLL AfxFindResourceHandle használó MFC-alkalmazás bejárja a CDynLinkLibrary megosztott és az MFC-bővítmény DLL-jének objektumlistáját, és megkeresi a megfelelő erőforrás-leírót.

CWnd::FilterToolTipMessage

A keretrendszer meghívta az eszköztipp-üzenetek megjelenítésére.

void FilterToolTipMessage(MSG* pMsg);

Paraméterek

pMsg
Mutató az eszköztipp-üzenetre.

Megjegyzések

A legtöbb MFC-alkalmazásban ezt a metódust a keretrendszer PreTranslateMessage hívja meg, és EnableToolTipsnem kell saját magának meghívnia.

Bizonyos alkalmazásokban, például bizonyos ActiveX-vezérlőkben azonban előfordulhat, hogy ezeket a metódusokat a keretrendszer nem hívja meg, ezért fel kell hívnia FilterToolTipMessage magát. További információkért tekintse meg az eszközök létrehozásának módszereit ismertető tippeket.

CWnd::FindWindow

Azt a felső szintet CWnd adja vissza, amelynek az ablakosztályát a függvény adja lpszClassName meg, és amelynek az ablaknevét vagy címét a függvény adja lpszWindowNamemeg.

static CWnd* PASCAL FindWindow(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName);

Paraméterek

lpszClassName
Egy null értékű sztringre mutat, amely megadja az ablak osztálynevét (struktúráját WNDCLASS ). Ha lpClassName igen, az NULLösszes osztálynév megegyezik.

lpszWindowName
Egy null értékű sztringre mutat, amely megadja az ablak nevét (az ablak címét). Ha lpWindowName igen, az NULLösszes ablaknév megegyezik.

Visszaadott érték

Azonosítja a megadott osztálynevet és ablaknevet tartalmazó ablakot. Ez az, NULL ha nem található ilyen ablak.

Előfordulhat CWnd, hogy a * ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ez a függvény nem keres gyermekablakokat.

Example

// 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

Lekéri azt az ablakobjektumot, amelynek osztályneve és ablakneve megegyezik a megadott sztringekkel.

static CWnd* FindWindowEx(
    HWND hwndParent,
    HWND hwndChildAfter,
    LPCTSTR lpszClass,
    LPCTSTR lpszWindow);

Paraméterek

hwndParent
Annak a szülőablaknak a kezelése, amelyben a gyermekablakok keresendők.

hwndChildAfter
Fogópont egy gyermekablakhoz. A keresés a következő gyermekablakkal kezdődik a Z sorrendben. A gyermekablaknak nem csak a leszármazott ablak közvetlen gyermekablakának hwndParentkell lennie.

lpszClass
Mutasson egy null értékű sztringre, amely megadja az osztálynevet vagy egy osztályatomot, amelyet egy korábbi hívás hozott létre az vagy RegisterClassEx.RegisterClass

lpszWindow
Mutasson egy null értékű sztringre, amely megadja az ablak nevét (az ablak címét). Ha ez a paraméter, az NULLösszes ablaknév megegyezik.

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték a megadott osztály- és ablaknevekkel rendelkező ablakobjektumra mutató mutató. Ha a függvény meghiúsul, a visszatérési érték a következő NULL: .

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény FindWindowExfunkcióit.

CWnd::FlashWindow

Egyszer villog a megadott ablak.

BOOL FlashWindow(BOOL bInvert);

Paraméterek

bInvert
Azt határozza meg, hogy a CWnd villogó vagy az eredeti állapotába visszakerülő érték legyen-e megadva. Az CWnd egyik állapotból a másikba villog, ha bInvert igen TRUE. Ha bInvert igen FALSE, az ablak visszakerül az eredeti állapotába (aktív vagy inaktív).

Visszaadott érték

Nonzero, ha az ablak aktív volt a tagfüggvény hívása FlashWindow előtt, egyébként 0.

Megjegyzések

Az egymást követő villogáshoz hozzon létre egy rendszer időzítőt, és hívja FlashWindowmeg többször. A villogás CWnd azt jelenti, hogy a címsor megjelenése úgy változik, mintha inaktívról CWnd aktív állapotra változik, vagy fordítva. (Az inaktív címsor aktív címsorra változik, az aktív címsor inaktív címsorra változik.)

Általában egy ablak villog, amely tájékoztatja a felhasználót arról, hogy figyelmet igényel, de jelenleg nem rendelkezik a bemeneti fókuszsal.

A bInvert paraméternek csak akkor kell lennie FALSE , ha az ablak a bemeneti fókuszt kapja, és a továbbiakban nem villog; egymást követő hívásokon kell lennie TRUE , miközben a bemeneti fókuszra vár.

Ez a függvény mindig nonzero értéket ad vissza a kis méretű ablakokhoz. Ha az ablak kis méretű, FlashWindow az ablak ikonja villogni fog; bInvert a rendszer figyelmen kívül hagyja a kis méretű ablakok esetében.

Example

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

Villog a megadott ablak.

BOOL FlashWindowEx(
    DWORD dwFlags,
    UINT uCount,
    DWORD dwTimeout);

Paraméterek

dwFlags
A flash állapotot adja meg. Az értékek teljes listájáért tekintse meg a struktúrát FLASHWINFO .

uCount
Megadja az ablak villogásának számát.

dwTimeout
Ezredmásodpercben adja meg azt a sebességet, amelyen az ablak villogni fog. Ha dwTimeout nulla, a függvény az alapértelmezett kurzor villogási sebességét használja.

Visszaadott érték

A visszatérési érték megadja az ablak állapotát a függvény hívása FlashWindowEx előtt. Ha az ablak felirata aktívként lett rajzolva a hívás előtt, a visszatérési érték nem lesz aktív. Ellenkező esetben a visszatérési érték nulla.

Megjegyzések

Ez a metódus a Függvény FlashWindowExfunkcióit emulálja a Windows SDK-ban leírtak szerint.

CWnd::FromHandle

Mutatót ad vissza egy CWnd objektumhoz, ha egy fogópontot adott egy ablaknak. Ha egy CWnd objektum nincs csatolva a leíróhoz, egy ideiglenes CWnd objektum jön létre és csatolva.

static CWnd* PASCAL FromHandle(HWND hWnd);

Paraméterek

hWnd
Egy HWND Windows-ablak.

Visszaadott érték

Mutatót ad vissza egy CWnd objektumhoz, ha egy fogópontot adott egy ablaknak. Ha egy CWnd objektum nincs csatolva a leíróhoz, egy ideiglenes CWnd objektum jön létre és csatolva.

Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

CWnd::FromHandlePermanent

Mutatót ad vissza egy CWnd objektumhoz, ha egy fogópontot adott egy ablaknak.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Paraméterek

hWnd
Egy HWND Windows-ablak.

Visszaadott érték

Egy objektumra mutató CWnd mutató.

Megjegyzések

Ha egy CWnd objektum nincs csatolva a fogóponthoz, NULL a függvény visszaadja.

Ezzel ellentétben FromHandleez a függvény nem hoz létre ideiglenes objektumokat.

CWnd::get_accChild

A keretrendszer meghívta, hogy lekérje a megadott gyermek IDispatch felületének címét.

virtual HRESULT get_accChild(
    VARIANT varChild,
    IDispatch** ppdispChild);

Paraméterek

varChild
Azonosítja azt a gyermeket, akinek IDispatch a felületét le kell kérni.

ppdispChild
Megkapja a gyermekobjektum felületének IDispatch címét.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accChild .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accChild .

CWnd::get_accChildCount

A keretrendszer meghívta, hogy lekérje az objektumhoz tartozó gyermekek számát.

virtual HRESULT get_accChildCount(long* pcountChildren);

Paraméterek

pcountChildren
Megkapja a gyermekek számát.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accChildCount .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel). Hívja meg az alaposztály verzióját, majd adja hozzá a nem beszedhető gyermekelemeket.

További információt a Windows SDK-ban talál IAccessible::get_accChildCount .

CWnd::get_accDefaultAction

A keretrendszer meghívta az objektum alapértelmezett műveletét leíró sztring lekérésére.

virtual HRESULT get_accDefaultAction(
    VARIANT varChild,
    BSTR* pszDefaultAction);

Paraméterek

varChild
Megadja, hogy a lekérendő alapértelmezett művelet az objektum vagy az objektum gyermekelemeinek egyike. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszDefaultAction
A BSTR megadott objektum alapértelmezett műveletét leíró honosított sztringet kapó, vagy NULL ha az objektumnak nincs alapértelmezett művelete.

Visszaadott érték

A sikeres S_OK adja vissza, amely egy COM-hibakódot ad eredményül. Lásd: Értékek visszaadása az IAccessible::get_accDefaultAction a Windows SDK-ban.

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálja ezt a függvényt a CWndszármaztatott osztályban az objektum alapértelmezett műveletének leírásához.

További információt a Windows SDK-ban talál IAccessible::get_accDefaultAction .

CWnd::get_accDescription

Keretrendszer által meghívva lekérhet egy sztringet, amely leírja a megadott objektum vizuális megjelenését.

virtual HRESULT get_accDescription(
    VARIANT varChild,
    BSTR* pszDescription);

Paraméterek

varChild
Megadja, hogy a lekérendő leírás az objektum vagy az objektum egyik gyermekeleme-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszDescription
A BSTR megadott objektumot leíró honosított sztringet kapó cím, vagy NULL ha nem áll rendelkezésre leírás ehhez az objektumhoz.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accDescription .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálja ezt a függvényt a CWndszármaztatott osztályban az objektum leírásához. Hívja meg az alaposztály verzióját, és adja hozzá a leírást.

További információt a Windows SDK-ban talál IAccessible::get_accDescription .

CWnd::get_accFocus

A keretrendszer meghívta, hogy lekérje a billentyűzetfókuszú objektumot.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Paraméterek

pvarChild
Információt kap arról az objektumról, amely a fókuszt tartalmazza. Lásd pvarID a Windows SDK-ban IAccessible::get_accFocus .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accFocus .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accFocus .

CWnd::get_accHelp

A keretrendszer meghívta egy objektum súgótulajdonság-sztringjének lekéréséhez.

virtual HRESULT get_accHelp(
    VARIANT varChild,
    BSTR* pszHelp);

Paraméterek

varChild
Megadja, hogy a lekérendő súgóinformációk az objektum vagy az objektum gyermekelemei. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszHelp
Az BSTR a cím, amely megkapja a megadott objektum súgóadatait tartalmazó honosított sztringet, vagy NULL ha nem áll rendelkezésre súgóinformáció.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accHelp .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

A függvény felülbírálása a CWndszármaztatott osztályban az objektum súgószövegének megadásához.

További információt a Windows SDK-ban talál IAccessible::get_accHelp .

CWnd::get_accHelpTopic

A keretrendszer meghívta, hogy lekérje a megadott objektumhoz társított WinHelp-fájl teljes elérési útját és a fájlon belüli megfelelő témakör azonosítóját.

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

Paraméterek

pszHelpFile
Egy olyan cím, BSTR amely megkapja a megadott objektumhoz társított fájl teljes elérési útját WinHelp , ha van ilyen.

varChild
Megadja, hogy a lekérendő súgótémakör az objektum vagy az objektum gyermekelemeinek egyike-e. Ez a paraméter lehet CHILDID_SELF (az objektum súgótémakörének lekéréséhez) vagy egy gyermekazonosító (az objektum egyik gyermekeleméhez tartozó súgótémakör beszerzéséhez).

pidTopic
A megadott objektumhoz társított súgófájl-témakört azonosítja. Lásd pidTopic a Windows SDK-ban IAccessible::get_accHelpTopic .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accHelpTopic .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Bírálja felül ezt a függvényt a CWndszármaztatott osztályban, hogy segítséget nyújtson az objektumról.

További információt a Windows SDK-ban talál IAccessible::get_accHelpTopic .

CWnd::get_accKeyboardShortcut

A keretrendszer meghívta a megadott objektum billentyűparancsának vagy hozzáférési kulcsának lekéréséhez.

virtual HRESULT get_accKeyboardShortcut(
    VARIANT varChild,
    BSTR* pszKeyboardShortcut);

Paraméterek

varChild
Megadja, hogy a lekérendő billentyűparancs az objektum vagy az objektum gyermekelemeinek egyikének billentyűparancsa-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszKeyboardShortcut
A BSTR billentyűparancsot azonosító honosított sztringet kapó cím, vagy NULL ha a megadott objektumhoz nincs billentyűparancs társítva.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accKeyboardShortcut .

Megjegyzések

Ez a függvény az MFC támogatásának Active Accessibility része.

Bírálja felül ezt a függvényt a CWndszármaztatott osztályban az objektum billentyűparancsának azonosításához.

További információt a Windows SDK-ban talál IAccessible::get_accKeyboardShortcut .

CWnd::get_accName

A keretrendszer meghívta a megadott objektum nevét.

virtual HRESULT get_accName(
    VARIANT varChild,
    BSTR* pszName);

Paraméterek

varChild
Megadja, hogy a lekérendő név az objektum vagy az objektum gyermekelemeinek neve-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszName
A BSTR megadott objektum nevét tartalmazó sztringet fogadó karakterlánc címe.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accName .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálja ezt a függvényt a CWnd-derived osztályban az objektum nevének visszaadásához.

További információt a Windows SDK-ban talál IAccessible::get_accName .

CWnd::get_accParent

A keretrendszer meghívta az IDispatch objektum szülőfelületének lekéréséhez.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Paraméterek

ppdispParent
Megkapja a szülőobjektum felületének IDispatch címét. A változó akkor NULL van beállítva, ha nincs szülő, vagy ha a gyermek nem fér hozzá a szülőhöz.

Visszaadott érték

Sikert ad S_OK vissza, hibakódot COM ad vissza. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accParent .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

A legtöbb esetben nem kell felülbírálnia ezt a függvényt.

További információt a Windows SDK-ban talál IAccessible::get_accParent .

CWnd::get_accRole

A keretrendszer meghívta a megadott objektum szerepkörét leíró információk lekérésére.

virtual HRESULT get_accRole(
    VARIANT varChild,
    VARIANT* pvarRole);

Paraméterek

varChild
Megadja, hogy a lekérendő szerepkör-információ az objektum vagy az objektum gyermekelemeinek egyike-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pvarRole
Megkapja a szerepkör-információkat. Lásd pvarRole a Windows SDK-ban IAccessible::get_accRole .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accRole .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accRole .

CWnd::get_accSelection

A keretrendszer meghívta, hogy lekérje az objektum kiválasztott gyermekeit.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Paraméterek

pvarChildren
Információt kap arról, hogy mely gyermekek vannak kiválasztva. Lásd pvarChildren a Windows SDK-ban IAccessible::get_accSelection .

Visszaadott érték

A sikeres S_OK adja vissza, amely egy COM-hibakódot ad eredményül. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accSelection .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accSelection .

CWnd::get_accState

A keretrendszer meghívta a megadott objektum aktuális állapotának lekéréséhez.

virtual HRESULT get_accState(
    VARIANT varChild,
    VARIANT* pvarState);

Paraméterek

varChild
Megadja, hogy a lekérendő állapotinformáció az objektum vagy az objektum gyermekelemeinek egyike-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pvarState
Információt kap az objektum állapotáról. Lásd pvarState a Windows SDK-ban IAccessible::get_accState .

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accState .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accState .

CWnd::get_accValue

A keretrendszer meghívta a megadott objektum értékének lekéréséhez.

virtual HRESULT get_accValue(
    VARIANT varChild,
    BSTR* pszValue);

Paraméterek

varChild
Megadja, hogy a lekérendő értékadatok az objektum vagy az objektum gyermekelemeinek valamelyike-e. Ez a paraméter lehet CHILDID_SELF (az objektumra vonatkozó információk lekéréséhez) vagy egy gyermekazonosító (az objektum gyermekelemével kapcsolatos információk lekéréséhez).

pszValue
Annak a címnek a BSTR címe, amely az objektum aktuális értékét tartalmazó honosított sztringet kap.

Visszaadott érték

Sikert ad S_OK vissza, a hiba COM-hibakódját. Lásd: Értékek visszaadása a Windows SDK-ban IAccessible::get_accValue .

Megjegyzések

Ez a függvény az MFC aktív akadálymentességi támogatásának része.

Felülbírálhatja ezt a függvényt a CWndszármaztatott osztályban, ha nem beszedhető felhasználói felületi elemekkel rendelkezik (az ablak nélküli ActiveX-vezérlők kivételével, amelyeket az MFC kezel).

További információt a Windows SDK-ban talál IAccessible::get_accValue .

CWnd::GetActiveWindow

Az aktív ablakra mutató mutatót kér le.

static CWnd* PASCAL GetActiveWindow();

Visszaadott érték

Az aktív ablak, vagy NULL ha a hívás időpontjában nem volt aktív ablak. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Az aktív ablak az az ablak, amely az aktuális bemeneti fókuszt tartalmazza, vagy a tagfüggvény által SetActiveWindow explicit módon aktívvá tett ablak.

CWnd::GetAncestor

Lekéri a megadott ablak ősablak-objektumát.

CWnd* GetAncestor(UINT gaFlags) const;

Paraméterek

gaFlags
Megadja a lekérendő elődet. A lehetséges értékek teljes listáját lásd GetAncestor: .

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték az ősablak objektumára mutató mutató. Ha a függvény meghiúsul, a visszatérési érték a következő NULL: .

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetAncestorfunkcióit.

CWnd::GetCapture

Lekéri az egérrögzítést tartalmazó ablakot.

static CWnd* PASCAL GetCapture();

Visszaadott érték

Azonosítja az egérrögzítést tartalmazó ablakot. Ez az, NULL ha nincs ablak az egérrögzítés.

Előfordulhat, hogy a visszatérési érték ideiglenes, és nem tárolható későbbi használatra.

Megjegyzések

Egyszerre csak egy ablakban rögzítheti az egérmutatót. Egy ablak megkapja az egérrögzítést a SetCapture tagfüggvény meghívásakor. Ez az ablak megkapja az egér bemenetét, függetlenül attól, hogy a kurzor a szegélyeken belül van-e.

CWnd::GetCaretPos

Lekéri a gondozó aktuális pozíciójának ügyfélkoordinátáit, és visszaadja őket .CPoint

static CPoint PASCAL GetCaretPos();

Visszaadott érték

CPoint objektum, amely tartalmazza a gondviselő pozíciójának koordinátáit.

Megjegyzések

A gondviseleti pozíció az ablak ügyfélkoordinátáiban CWnd van megadva.

CWnd::GetCheckedRadioButton

Lekéri a megadott csoportban lévő, jelenleg ellenőrzött választógomb azonosítóját.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Paraméterek

nIDFirstButton
A csoport első választógombjának egész számazonosítóját adja meg.

nIDLastButton
A csoport utolsó választógombjának egész számazonosítóját adja meg.

Visszaadott érték

A bejelölt választógomb azonosítója, vagy 0, ha nincs kijelölve.

CWnd::GetClientRect

Másolja az ügyfélterület ügyfélkoordinátáit CWnd a hivatkozott struktúrába lpRect.

void GetClientRect(LPRECT lpRect) const;

Paraméterek

lpRect
Egy struktúráraRECT vagy objektumra CRect mutat az ügyfél koordinátáinak fogadásához. top A left tagok 0-sak lesznek. A right tagok tartalmazzák bottom az ablak szélességét és magasságát.

Megjegyzések

Az ügyfél koordinátái az ügyfélterület bal felső és jobb alsó sarkát határozzák meg. Mivel az ügyfélkoordináta az ügyfélterület bal felső sarkához CWnd képest van, a bal felső sarok koordinátái (0,0).

Example

Lásd a példát a CWnd::IsIconic.

CWnd::GetClipboardOwner

Lekéri a vágólap aktuális tulajdonosát.

static CWnd* PASCAL GetClipboardOwner();

Visszaadott érték

Azonosítja azt az ablakot, amely a vágólap tulajdonosa, ha a függvény sikeres. Ellenkező esetben az .NULL

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A vágólap akkor is tartalmazhat adatokat, ha jelenleg nem a tulajdonosa.

CWnd::GetClipboardViewer

Lekéri a vágólapmegjelenítő lánc első ablakát.

static CWnd* PASCAL GetClipboardViewer();

Visszaadott érték

Azonosítja a vágólap sikeres megjelenítéséért jelenleg felelős ablakot; egyéb esetben NULL (például ha nincs megtekintő).

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

CWnd::GetControlUnknown

Hívja meg ezt a tagfüggvényt egy ismeretlen OLE-vezérlőre mutató mutató lekéréséhez.

LPUNKNOWN GetControlUnknown();

Visszaadott érték

Az objektum által CWnd képviselt OLE-vezérlő felületére mutató mutatóIUnknown. Ha ez az objektum nem OLE-vezérlőt jelöl, a visszatérési érték a következő NULL.

Megjegyzések

Ezt a mutatót nem szabad felengedni IUnknown . Általában a vezérlő egy adott felületének lekérésére használhatja.

A visszaadott GetControlUnknown illesztőmutató nem számít bele a hivatkozásba. Ne hívja IUnknown::Release fel az egérmutatót, hacsak korábban nem hívta IUnknown::AddRef fel.

Example

// 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

Egy mutatót ad vissza arra az üzenetre, amelyet az ablak jelenleg feldolgoz. Csak akkor kell meghívni, ha egy Üzeneten üzenetkezelő tagfüggvényben van.

static const MSG* PASCAL GetCurrentMessage();

Visszaadott érték

Egy mutatót ad vissza arra a MSG struktúrára, amely az ablak jelenleg feldolgozandó üzenetét tartalmazza. Csak akkor kell meghívni, ha egy Üzenetkezelőben van.

Example

Lásd a példát a CMDIFrameWnd::MDICascade.

CWnd::GetDC

Az ügyfélterület általános, osztály- vagy magáneszköz-környezetére mutató mutatót kér le a megadott CWndosztálystílustól függően.

CDC* GetDC();

Visszaadott érték

Az ügyfélterület eszközkörnyezetét CWnd azonosítja, ha sikeres, ellenkező esetben a visszatérési érték .NULL Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A gyakori eszközkörnyezetek GetDC esetében minden egyes lekéréskor alapértelmezett attribútumokat rendel a környezethez. Osztály- és privát környezetek GetDC esetén a korábban hozzárendelt attribútumok változatlanok maradnak. Az eszközkörnyezet az ezt követő grafikuseszköz-kezelő (GDI) függvényekben használható az ügyfélterület rajzolásához.

Hacsak az eszközkörnyezet nem egy ablakosztályhoz tartozik, a ReleaseDC tagfüggvényt meg kell hívni a környezet festés utáni kiadásához.

Az osztályhoz tartozó eszközkörnyezetet a CWndGetDC tagfüggvény adja vissza, ha CS_CLASSDC, CS_OWNDCvagy CS_PARENTDC stílusként lett megadva a struktúrában az WNDCLASS osztály regisztrálásakor.

CWnd::GetDCEx

Lekéri az ablak eszközkörnyezetének leíróját CWnd .

CDC* GetDCEx(
    CRgn* prgnClip,
    DWORD flags);

Paraméterek

prgnClip
Azonosítja az ügyfélablak látható régiójával kombinálható kivágási régiót.

flags
Az alábbi előre beállított értékek egyikével rendelkezhet:

  • DCX_CACHE Egy eszközkörnyezetet ad vissza a gyorsítótárból, nem pedig az OWNDCCLASSDC ablakot. Felülírja CS_OWNDC és CS_CLASSDC.

  • DCX_CLIPCHILDREN Kizárja az ablak alatti összes gyermekablak látható területeit CWnd .

  • DCX_CLIPSIBLINGS Kizárja az ablak feletti összes testvérablak látható területeit CWnd .

  • DCX_EXCLUDERGN Kizárja a visszaadott eszközkörnyezet látható régiójából azonosított prgnClip kivágási régiót.

  • DCX_INTERSECTRGN Metszi a visszaadott eszközkörnyezet látható régiójában azonosított prgnClip kivágási régiót.

  • DCX_LOCKWINDOWUPDATE Engedélyezi a rajzot akkor is, ha olyan LockWindowUpdate hívás van érvényben, amely egyébként kizárná ezt az ablakot. Ez az érték a nyomon követés során történő rajzoláshoz használatos.

  • DCX_PARENTCLIP A szülőablak látható régióját használja, és figyelmen kívül hagyja a szülőablak WS_CLIPCHILDREN és WS_PARENTDC a stílus bitjét. Ez az érték az eszközkörnyezet forrását az ablak bal felső sarkára állítja CWnd .

  • DCX_WINDOW Az ügyfél téglalapja helyett az ablak téglalapjának megfelelő eszközkörnyezetet ad vissza.

Visszaadott érték

A megadott ablak eszközkörnyezete, ha a függvény sikeres; egyéb esetben NULL.

Megjegyzések

Az eszközkörnyezet az azt követő GDI-függvényekben is használható az ügyfélterület rajzolásához.

Ez a függvény, amely a GetDC függvény bővítménye, nagyobb vezérlést biztosít az alkalmazásnak az ablak eszközkörnyezetének kivágásával és kivágásával kapcsolatban.

Hacsak az eszközkörnyezet nem egy ablakosztályhoz tartozik, a ReleaseDC függvényt meg kell hívni a környezet rajz utáni kiadásához. Mivel egyszerre csak öt gyakori eszközkörnyezet érhető el, az eszközkörnyezet kiadásának elmulasztása megakadályozhatja, hogy más alkalmazások hozzáférjenek egy eszközkörnyezethez.

Gyorsítótárazott eszközkörnyezet beszerzéséhez az alkalmazásnak meg kell adnia DCX_CACHE. Ha DCX_CACHE nincs megadva, és az ablak sem CS_OWNDCCS_CLASSDC, akkor ez a függvény ad vissza NULL.

A függvény egy speciális jellemzőkkel rendelkező eszközkörnyezetet ad vissza GetDCEx , ha a CS_CLASSDC, CS_OWNDCvagy CS_PARENTDC stílus az osztály regisztrálásakor a WNDCLASS struktúrában volt megadva.

Ezekről a jellemzőkről további információt a Windows SDK szerkezetének WNDCLASS leírásában talál.

CWnd::GetDCRenderTarget

Lekéri az ablak eszközkörnyezeti (DC) renderelési célját CWnd .

CDCRenderTarget* GetDCRenderTarget();

Visszaadott érték

Az eszközkörnyezet renderelési célértéke a megadott ablakban, ha a függvény sikeres; egyéb esetben NULL.

Megjegyzések

CWnd::GetDescendantWindow

Hívja meg ezt a tagfüggvényt a megadott azonosító által megadott leszármazott ablak megkereséséhez.

CWnd* GetDescendantWindow(
    int nID,
    BOOL bOnlyPerm = FALSE) const;

Paraméterek

nID
Megadja a lekérendő vezérlő vagy gyermekablak azonosítóját.

bOnlyPerm
Megadja, hogy a visszaadandó ablak ideiglenes lehet-e. Ha TRUE, akkor csak egy állandó ablak adható vissza, ha FALSEa függvény egy ideiglenes ablakot ad vissza. Az ideiglenes ablakokkal kapcsolatos további információkért lásd a Technical Note 3-at.

Visszaadott érték

Egy objektumra CWnd mutató mutató, vagy NULL ha nem található gyermekablak.

Megjegyzések

Ez a tagfüggvény a gyermekablakok teljes fáját keresi, nem csak az azonnali gyermekablakokat.

CWnd::GetDesktopWindow

A Windows asztali ablakát adja vissza.

static CWnd* PASCAL GetDesktopWindow();

Visszaadott érték

Azonosítja a Windows asztali ablakát. Előfordulhat, hogy ez a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Az asztali ablak lefedi a teljes képernyőt, és az a terület, amelyre az összes ikon és más ablak festett.

CWnd::GetDlgCtrlID

Bármely gyermekablak ablak- vagy vezérlőazonosító-értékét adja vissza, nem csak egy párbeszédpanel vezérlőjének értékét.

int GetDlgCtrlID() const;

Visszaadott érték

A gyermekablak numerikus azonosítója CWnd , ha a függvény sikeres; egyébként 0.

Megjegyzések

Mivel a felső szintű ablakok nem rendelkeznek azonosító értékkel, a függvény visszatérési értéke érvénytelen, ha a CWnd felső szintű ablak.

Example

Lásd a példát a CWnd::OnCtlColor.

CWnd::GetDlgItem

Egy párbeszédpanel vagy más ablak megadott vezérlő- vagy gyermekablakára mutató mutatót kér le.

CWnd* GetDlgItem(int nID) const;

void GetDlgItem(
    int nID,
    HWND* phWnd) const;

Paraméterek

nID
Megadja a lekérendő vezérlő vagy gyermekablak azonosítóját.

phWnd
Egy gyermekablakra mutató mutató.

Visszaadott érték

Mutató az adott vezérlőre vagy gyermekablakra. Ha a paraméter által nID megadott egész számazonosítójú vezérlőelem nem létezik, az érték a következő NULL: .

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A visszaadott mutató általában a vezérlő által azonosított nIDtípusra kerül.

Example

// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);

CWnd::GetDlgItemInt

Lekéri a vezérlőelem által azonosított nIDszöveget.

UINT GetDlgItemInt(
    int nID,
    BOOL* lpTrans = NULL,
    BOOL bSigned = TRUE) const;

Paraméterek

nID
A lefordítandó párbeszédpanel-vezérlő egész számazonosítóját adja meg.

lpTrans
A lefordított jelölő fogadásához használt logikai változóra mutat.

bSigned
Megadja, hogy a lekérendő érték aláírt-e.

Visszaadott érték

A párbeszédpanelelem szövegének lefordított értékét adja meg. Mivel a 0 érvényes visszatérési érték, lpTrans a hibák észlelésére kell használni. Ha aláírt visszatérési értékre van szükség, adja meg típusként int .

A függvény 0 értéket ad vissza, ha a lefordított szám nagyobb, mint INT_MAX (aláírt számok esetén) vagy UINT_MAX (aláíratlan számok esetén).

Ha hibák lépnek fel, például nem számértékkel rendelkező karaktereket tapasztal, és túllépi a fenti maximumot, GetDlgItemInt a 0-t a megadott helyre lpTransmásolja. Ha nincsenek hibák, lpTrans nem nulla értéket kap. Ha lpTrans igen NULL, GetDlgItemInt nem figyelmeztet a hibákra.

Megjegyzések

Az adott párbeszédpanel megadott vezérlőelemének szövegét egész szám értékre fordítja le úgy, hogy a szöveg elején lévő szóközöket eltávolítja, és decimális számjegyeket konvertál. Leállítja a fordítást, amikor eléri a szöveg végét, vagy nem numerikus karakterekkel találkozik.

Ha bSigned igen TRUE, GetDlgItemInt a szöveg elején egy mínuszjelet (-) keres, és a szöveget aláírt számmá fordítja. Ellenkező esetben aláíratlan értéket hoz létre.

Üzenetet küld WM_GETTEXT a vezérlőnek.

CWnd::GetDlgItemText

Hívja meg ezt a tagfüggvényt egy párbeszédpanel vezérlőeleméhez társított cím vagy szöveg lekéréséhez.

int GetDlgItemText(
    int nID,
    LPTSTR lpStr,
    int nMaxCount) const;

int GetDlgItemText(
    int nID,
    CString& rString) const;

Paraméterek

nID
Annak a vezérlőelemnek az egész számazonosítóját adja meg, amelynek a címét le kell kérni.

lpStr
A vezérlő címének vagy szövegének fogadásához a pufferre mutat.

nMaxCount
Megadja a másolandó lpStrsztring maximális hosszát (karakterben). Ha a sztring hosszabb, mint nMaxCount, csonkolja.

rString
Hivatkozás egy CString.

Visszaadott érték

A pufferbe másolt karakterek tényleges számát adja meg, a null karaktert nem beleértve. Az érték 0, ha a program nem másol szöveget.

Megjegyzések

A GetDlgItemText tagfüggvény a szöveget a hivatkozott lpStr helyre másolja, és visszaadja a másolt bájtok számát.

CWnd::GetDSCCursor

Ennek a tagfüggvénynek a meghívásával lekérhet egy mutatót a mögöttes kurzorhoz, amelyet az DataSourceadatforrás-vezérlő , UserName, és PasswordSQL-tulajdonságai határoznak meg.

IUnknown* GetDSCCursor();

Visszaadott érték

Egy adatforrás-vezérlő által definiált kurzorra mutató mutató. Az MFC gondoskodik a mutató hívásáról AddRef .

Megjegyzések

A visszaadott mutatóval beállíthatja egy ICursor összetett, adathoz kötött vezérlőelem, például az adatkötött rács vezérlőelem tulajdonságát. Az adatforrás-vezérlők addig nem lesznek aktívak, amíg az első kötött vezérlőelem nem kéri a kurzort. Ez történhet explicit módon az MFC kötéskezelőjének GetDSCCursor hívásával vagy implicit módon. Bármelyik esetben kényszerítheti az adatforrás-vezérlők aktívvá válását úgy, hogy meghívja GetDSCCursor , majd meghívja Release a visszaadott mutatót IUnknown. Az aktiválás hatására az adatforrás-vezérlő megpróbál csatlakozni az alapul szolgáló adatforráshoz. A visszaadott mutató a következő környezetben használható:

Example

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

A dinamikus elrendezéskezelő objektumra mutató mutatót kér le.

CMFCDynamicLayout* GetDynamicLayout();

Visszaadott érték

Mutató a dinamikus elrendezéskezelő objektumra, vagy NULL ha a dinamikus elrendezés nincs engedélyezve.

Megjegyzések

Az ablakobjektum birtokolja és kezeli a visszaadott mutató élettartamát, ezért csak az objektum elérésére használható; ne törölje az egérmutatót, és ne tárolja véglegesen.

CWnd::GetExStyle

Az ablak bővített stílusát adja vissza.

DWORD GetExStyle() const;

Visszaadott érték

Az ablak bővített stílusa. Az MFC-ben használt kiterjesztett ablakstílusokról további információt a Bővített ablakstílusok című témakörben talál.

CWnd::GetFocus

Lekéri a kurzort arra, CWnd amely jelenleg a bemeneti fókuszt jeleníti meg.

static CWnd* PASCAL GetFocus();

Visszaadott érték

Az aktuális fókuszt tartalmazó ablakra mutató mutató, vagy NULL ha nincs fókuszablak.

Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

CWnd::GetFont

Elküldi az WM_GETFONT üzenetet az ablaknak az aktuális betűtípus lekéréséhez.

CFont* GetFont() const;

Visszaadott érték

Mutasson egy CFont objektumra, amely az ablak aktuális betűtípusához van csatolva.

Megjegyzések

Ez a módszer csak akkor lép érvénybe, ha az ablak feldolgozza az WM_GETFONT üzenetet. Számos MFC-osztály, amely az üzenet feldolgozásából CWnd származik, mert egy előre definiált ablakosztályhoz vannak csatolva, amely tartalmazza az üzenet üzenetkezelőt WM_GETFONT . A metódus használatához azokból az osztályokból, amelyekből CWnd származik, meg kell határoznia egy metóduskezelőt az WM_GETFONT üzenethez.

CWnd::GetForegroundWindow

Egy mutatót ad vissza az előtérablakra (az ablakra, amellyel a felhasználó jelenleg dolgozik).

static CWnd* PASCAL GetForegroundWindow();

Visszaadott érték

Mutató az előtérablakra. Ez lehet egy ideiglenes CWnd objektum.

Megjegyzések

Az előtérablak csak a felső szintű ablakokra (keretablakokra vagy párbeszédpanelekre) vonatkozik.

CWnd::GetIcon

Hívja meg ezt a tagfüggvényt, hogy a fogópontot egy nagy (32x32) vagy egy kis (16x16) ikonra váltsa, ahogyan azt bBigIcona .

HICON GetIcon(BOOL bBigIcon) const;

Paraméterek

bBigIcon
32 képpontos és 32 képpontos ikont ad meg, ha ; 16 képpont és 16 képpont ikont ad meg, haTRUEFALSE.

Visszaadott érték

Egy ikon fogópontja. Ha nem sikerül, a visszaadott érték.NULL

CWnd::GetLastActivePopup

Meghatározza, hogy melyik előugró ablak CWnd volt a legutóbb aktív.

CWnd* GetLastActivePopup() const;

Visszaadott érték

A legutóbb aktív előugró ablakot azonosítja. A visszatérési érték maga az ablak lesz, ha az alábbi feltételek bármelyike teljesül:

  • Maga az ablak legutóbb aktív volt.

  • Az ablak nem rendelkezik előugró ablakokkal.

  • Az ablak nem felső szintű ablak, vagy egy másik ablak tulajdonosa.

Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Example

Lásd a példát a CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Lekéri a rétegzett ablak átlátszósági és áttetszőségi színkulcsát.

BOOL GetLayeredWindowAttributes(
    COLORREF* pcrKey,
    BYTE* pbAlpha,
    DWORD* pdwFlags) const;

Paraméterek

pcrKey
Mutasson egy COLORREF értékre, amely megkapja a rétegzett ablak írásakor használni kívánt áttetszőségi színkulcsot. Az ablak által ebben a színben festett összes képpont átlátszó lesz. Ez akkor lehet NULL , ha nincs szükség az argumentumra.

pbAlpha
Mutasson egy BYTE olyanra, amely megkapja a rétegzett ablak átlátszatlanságát leíró Alfa értéket. Ha a hivatkozott pbAlpha változó 0, az ablak teljesen átlátszó. Ha a hivatkozott pbAlpha változó 255, az ablak átlátszatlan. Ez akkor lehet NULL , ha nincs szükség az argumentumra.

pdwFlags
Mutasson egy DWORD rétegzési jelzőt kapó jelölőre. Ez akkor lehet NULL , ha nincs szükség az argumentumra. A lehetséges értékek teljes listáját a GetLayeredWindowAttributes című témakörben találja.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetLayeredWindowAttributesfunkcióit.

CWnd::GetMenu

Az ablak menüjére mutató mutatót kér le.

CMenu* GetMenu() const;

Visszaadott érték

A menüt azonosítja. Az érték az, NULL ha CWnd nincs menü. A visszatérési érték nincs meghatározva, ha CWnd gyermekablak.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ez a függvény nem használható gyermekablakokhoz, mert nincs menüjük.

Example

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

A megadott menüsor adatainak lekérése.

BOOL GetMenuBarInfo(
    LONG idObject,
    LONG idItem,
    PMENUBARINFO pmbi) const;

Paraméterek

idObject
Megadja a menüobjektumot. A lehetséges értékek listáját lásd: GetMenuBarInfo.

idItem
Azt az elemet adja meg, amelyhez adatokat szeretne lekérni. Ha ez a paraméter nulla, a függvény lekéri magáról a menüről szóló információkat. Ha ez a paraméter 1, a függvény lekéri a menü első elemére vonatkozó információkat, és így tovább.

pmbi
Mutasson egy MENUBARINFO olyan struktúrára, amely megkapja az információt.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetMenuBarInfofunkcióit.

CWnd::GetNextDlgGroupItem

Megkeresi az előző vagy a következő vezérlőt egy párbeszédpanel vezérlőcsoportjában.

CWnd* GetNextDlgGroupItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgGroupItem(
    COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;

Paraméterek

pWndCtl
A keresés kiindulópontjaként használandó vezérlőt azonosítja.

bPrevious
Meghatározza, hogy a függvény hogyan keressen a párbeszédpanel vezérlőinek csoportjában. Ha TRUE, a függvény a csoport előző vezérlőelemére keres, ha FALSEpedig a csoport következő vezérlőelemére keres.

pCurSiteOrWnd
Azonosítja a vezérlőt COleControlSiteOrWnd . További információ: COleControlSiteOrWndMegjegyzések.

Visszaadott érték

Ha a tagfüggvény sikeres, mutasson a csoport előző vagy következő vezérlőelemére.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A vezérlők egy olyan vezérlővel kezdődnek, amely a WS_GROUP stílussal lett létrehozva, és az utolsó vezérlőelemmel végződik, amely nem a WS_GROUP stílussal lett létrehozva.

Alapértelmezés szerint a GetNextDlgGroupItem tagfüggvény egy mutatót ad vissza a csoport következő vezérlőeleméhez. Ha pWndCtl azonosítja a csoport első vezérlőelemét, és bPrevious így van TRUE, GetNextDlgGroupItem a csoport utolsó vezérlőelemére mutató mutatót ad vissza.

Megjegyzés:

Mivel az MFC támogatja az ablak nélküli ActiveX-vezérlőket, a standard ActiveX-vezérlőket és az ablakokat, a már nem elegendő vezérlőelemekre HWND hivatkozva. Az COleControlSiteOrWnd objektum olyan információkat tartalmaz, amelyek az objektumot ablakos ActiveX-vezérlőként, ablak nélküli ActiveX-vezérlőként vagy ablakként azonosítják az alábbiak szerint:

Vezérlő vagy ablak típusa Információk azonosítása
Ablakos ActiveX-vezérlő HWND COleControlSite objektumot tartalmaz és társít hozzá. A m_hWnd tag COleControlSiteOrWnd a vezérlőre HWND van állítva, a m_pSite tag pedig a vezérlőre COleControlSitemutat.
Ablak nélküli ActiveX-vezérlő Nem HWNDtartalmaz . A m_pSite vezérlőelemre COleControlSitemutató tag COleControlSiteOrWnd , a tag pedig az m_hWndNULL.
Standard ablak Csak egy HWND. A m_hWnd tag COleControlSiteOrWnd az ablak HWND értékére van állítva, a tag pedig NULL.m_pSite

CWnd::GetNextDlgTabItem

A stílussal létrehozott és a WS_TABSTOP megadott vezérlőelemet megelőző vagy követő első vezérlőelemre mutató mutatót kér le.

CWnd* GetNextDlgTabItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgTabItem(
    COleControlSiteOrWnd* pCurSiteOrWnd,
    BOOL bPrevious) const;

Paraméterek

pWndCtl
A keresés kiindulópontjaként használandó vezérlőt azonosítja.

pCurSiteOrWnd
Azonosítja a vezérlőt COleControlSiteOrWnd . További információ: COleControlSiteOrWndCWnd::GetNextDlgGroupItem.

bPrevious
Meghatározza, hogy a függvény hogyan keressen a párbeszédpanelen. Ha TRUE, a függvény a párbeszédpanelen az előző vezérlőre keres, ha FALSEpedig a következő vezérlőelemre keres.

Visszaadott érték

Mutasson a stílust tartalmazó WS_TABSTOP előző vagy következő vezérlőelemre, ha a tagfüggvény sikeres.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

További információ: COleControlSiteOrWndCWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Megkeresi a következő (vagy előző) ablakot az ablakkezelő listájában.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Paraméterek

nFlag
Megadja, hogy a függvény a következő vagy az előző ablakra mutató mutatót ad-e vissza. Ez lehet GW_HWNDNEXT, amely az ablakkezelő listában szereplő objektumot CWnd követő ablakot adja vissza, vagy GW_HWNDPREVaz előző ablakot adja vissza az ablakkezelő listájában.

Visszaadott érték

Azonosítja a következő (vagy az előző) ablakot az ablakkezelő listájában, ha a tagfüggvény sikeres.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Az ablakkezelő listája tartalmazza az összes felső szintű ablak, a hozzájuk tartozó gyermekablakok és a gyermekablakok gyermekablakainak bejegyzéseit.

Ha CWnd felső szintű ablak, a függvény a következő (vagy az előző) felső szintű ablakot keresi; gyermekablak esetén CWnd a függvény a következő (vagy az előző) gyermekablakot keresi.

CWnd::GetOleControlSite

Lekéri a megadott ActiveX-vezérlő egyéni webhelyét.

COleControlSite* GetOleControlSite(UINT idControl) const;

Paraméterek

idControl
Az ActiveX-vezérlő azonosítója.

CWnd::GetOpenClipboardWindow

Lekéri annak az ablaknak a fogópontját, amely jelenleg nyitva van a vágólapon.

static CWnd* PASCAL GetOpenClipboardWindow();

Visszaadott érték

Annak az ablaknak a fogópontja, amelynek a vágólapja meg van nyitva, ha a függvény sikeres; egyéb esetben NULL.

CWnd::GetOwner

Az ablak tulajdonosának mutatóját kéri le.

CWnd* GetOwner() const;

Visszaadott érték

Egy objektumra mutató CWnd mutató.

Megjegyzések

Ha az ablaknak nincs tulajdonosa, a rendszer alapértelmezés szerint a szülőablak-objektumra mutató mutatót ad vissza. Vegye figyelembe, hogy a tulajdonos és a tulajdonos közötti kapcsolat számos fontos szempontban különbözik a szülő-gyermek aspektustól. Egy szülővel rendelkező ablak például a szülőablak ügyfélterületére korlátozódik. A saját ablakok az asztal bármely pontján rajzolhatók.

Ennek a függvénynek a tulajdonjogi fogalma eltér a GetWindow.

CWnd::GetParent

A függvény meghívásával mutatót kaphat egy gyermekablak szülőablakához (ha van ilyen).

CWnd* GetParent() const;

Visszaadott érték

Lásd a Windows SDK Visszatérési értékek szakaszát GetParent .

Megjegyzések

A GetParent függvény a közvetlen szülőre mutató mutatót ad vissza (ha létezik). Ezzel szemben a GetParentOwner függvény egy mutatót ad vissza a legközvesebb szülő- vagy tulajdonosablakra, amely nem gyermekablak (nem rendelkezik a stílussal WS_CHILD ). Ha gyermekablaka van egy gyermekablakban GetParent , és GetParentOwner eltérő eredményeket ad vissza.

CWnd::GetParentFrame

Hívja meg ezt a tagfüggvényt a szülőkeret ablakának lekéréséhez.

CFrameWnd* GetParentFrame() const;

Visszaadott érték

Mutató egy keretablakra, ha sikeres; egyéb esetben NULL.

Megjegyzések

A tagfüggvény megkeresi a szülőláncot, amíg nem talál egy CFrameWnd (vagy származtatott osztály) objektumot.

CWnd::GetParentOwner

A tagfüggvény meghívásával mutatót kaphat egy gyermekablak szülőablakához vagy tulajdonosi ablakához.

CWnd* GetParentOwner() const;

Visszaadott érték

Egy objektumra mutató CWnd mutató. Ha egy CWnd objektum nincs csatolva a leíróhoz, egy ideiglenes CWnd objektum jön létre és csatolva. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

GetParentOwner Egy mutatót ad vissza a legközelibb szülő- vagy tulajdonosablakra, amely nem gyermekablak (nem rendelkezik a stílussal WS_CHILD ). Az aktuális tulajdonosi ablak a következővel SetOwnerállítható be: . Alapértelmezés szerint az ablak szülője a tulajdonosa.

Ezzel szemben a GetParent függvény egy mutatót ad vissza a közvetlen szülőhöz, akár gyermekablakról van szó, akár nem. Ha gyermekablaka van egy gyermekablakban GetParent , és GetParentOwner eltérő eredményeket ad vissza.

CWnd::GetProperty

Hívja meg ezt a tagfüggvényt a megadott ActiveX-vezérlőtulajdonság lekéréséhez dwDispID.

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

Paraméterek

dwDispID
Azonosítja a lekérendő tulajdonságot.

vtProp
A lekérendő tulajdonság típusát adja meg. A lehetséges értékekért tekintse meg a Megjegyzések szakaszt a következőhöz COleDispatchDriver::InvokeHelper: .

pvProp
Annak a változónak a címe, amely megkapja a tulajdonság értékét. Meg kell egyeznie a megadott típussal vtProp.

Megjegyzések

GetProperty az értéket adja vissza a következőn keresztül pvProp: .

Megjegyzés:

Ezt a függvényt csak egy CWnd ActiveX-vezérlőt képviselő objektumon kell meghívni.

A tagfüggvény ActiveX-vezérlőtárolókkal való használatáról az ActiveX-vezérlőtárolók: ActiveX-vezérlők programozása ActiveX-vezérlőkben című cikkben talál további információt.

CWnd::GetRenderTarget

Lekéri az ablakhoz társított renderelési célt.

CHwndRenderTarget* GetRenderTarget();

Visszaadott érték

Mutasson a renderelési célra vagy NULLa .

CWnd::GetSafeHwnd

Visszaadjam_hWnd, vagy NULL ha az this egérmutató .NULL

HWND GetSafeHwnd() const;

Visszaadott érték

Az ablak fogópontját adja vissza. Visszaadja NULL , ha a CWnd rendszer nem egy ablakhoz van csatolva, vagy ha mutatóval NULLCWnd használja.

Example

Lásd a példát a CWnd::SubclassWindow.

CWnd::GetSafeOwner

Hívja meg ezt a tagfüggvényt a párbeszédpanelekhez vagy más modális ablakokhoz használni kívánt tulajdonosi ablak lekéréséhez.

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

Paraméterek

pParent
Egy szülőablakra mutató CWnd mutató. NULLLehet .

pWndTop
A jelenleg felül lévő ablakra mutató mutató. NULLLehet .

Visszaadott érték

Az adott ablak biztonságos tulajdonosának mutatója.

Megjegyzések

A biztonságos tulajdonos az első nem gyermek szülőablak.pParent Ha pParent igen NULL, a szál főablaka (amely a rendszer által AfxGetMainWndlekért) a tulajdonos megkeresésére szolgál.

Megjegyzés:

Maga a keretrendszer ezzel a függvénnyel határozza meg a megfelelő tulajdonosablakot azokhoz a párbeszédpanelekhez és tulajdonságlapokhoz, ahol nincs megadva a tulajdonos.

CWnd::GetScrollBarCtrl

Hívja meg ezt a tagfüggvényt a megadott testvér görgetősávra vagy osztóablakra mutató mutató lekéréséhez.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Paraméterek

nBar
A görgetősáv típusát adja meg. A paraméter a következő értékek egyikét veheti igénybe:

  • SB_HORZ Lekéri a vízszintes görgetősáv pozícióját.

  • SB_VERT Lekéri a függőleges görgetősáv pozícióját.

Visszaadott érték

Egy testvér görgetősáv-vezérlő, vagy NULL ha nincs.

Megjegyzések

Ez a tagfüggvény nem működik az ablak létrehozásakor létrehozott WS_HSCROLLWS_VSCROLL görgetősávokon. Ennek CWnd a függvénynek a megvalósítása egyszerűen visszaadja a függvényt NULL. A származtatott osztályok, például CViewa leírt funkciók implementálása.

CWnd::GetScrollBarInfo

A megadott görgetősáv adatainak lekérése.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Paraméterek

idObject
Megadja a menüobjektumot. A lehetséges értékek listáját lásd: GetScrollBarInfo.

psbi
Mutasson egy SCROLLBARINFO olyan struktúrára, amely megkapja az információt.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetScrollBarInfofunkcióit.

CWnd::GetScrollInfo

A tagfüggvény meghívásával lekérheti a struktúra által a görgetősávra vonatkozó információkat SCROLLINFO .

BOOL GetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

Paraméterek

nBar
Megadja, hogy a görgetősáv egy vezérlőelem vagy egy ablak nem megfelelő területének része-e. Ha a nemclient terület része, azt is jelzi, nBar hogy a görgetősáv vízszintesen, függőlegesen vagy mindkettőben van-e elhelyezve. Az alábbiak egyikének kell lennie:

  • SB_CTL Lekéri a görgetősáv-vezérlő paramétereit. Az m_hWnd adatelemnek a görgetősáv vezérlőjének kell lennie.

  • SB_HORZ Lekéri az ablak normál vízszintes görgetősávjának paramétereit.

  • SB_VERT Lekéri az ablak szabványos függőleges görgetősávjának paramétereit.

lpScrollInfo
Egy struktúra mutatója SCROLLINFO . Erről a struktúráról további információt a Windows SDK-ben talál.

nMask
Megadja a lekérendő görgetősáv paramétereit. Az alapértelmezett beállítás a SIF_PAGE, SIF_POS, SIF_TRACKPOSés SIF_RANGE. További SCROLLINFO információ az nMask értékekről.

Visszaadott érték

Ha az üzenet bármilyen értéket lekért, a visszatérés a következő TRUE: . Ellenkező esetben az .FALSE

Megjegyzések

GetScrollInfo lehetővé teszi az alkalmazások számára a 32 bites görgetési pozíciók használatát.

A SCROLLINFO szerkezet információkat tartalmaz a görgetősávról, beleértve a minimális és maximális görgetési pozíciót, az oldalméretet és a görgetődoboz pozícióját (a hüvelykujjat). SCROLLINFO A struktúra alapértelmezett értékének módosításáról a Windows SDK struktúrával kapcsolatos témakörében olvashat bővebben.

A görgetősáv pozícióját jelző MFC Windows üzenetkezelők, a CWnd::OnHScroll és a CWnd::OnVScroll csak 16 bit pozícióadatokat biztosítanak. GetScrollInfo és SetScrollInfo adjon meg 32 bites görgetősáv-pozícióadatokat. Így egy alkalmazás hívásokat GetScrollInfo kezdeményezhet a feldolgozás során, CWnd::OnHScroll vagy CWnd::OnVScroll lekérte a 32 bites görgetősáv pozícióadatait.

CWnd::GetScrollLimit

Hívja meg ezt a tagfüggvényt a görgetősáv maximális görgetési pozíciójának lekéréséhez.

int GetScrollLimit(int nBar);

Paraméterek

nBar
A görgetősáv típusát adja meg. A paraméter a következő értékek egyikét veheti igénybe:

  • SB_HORZ Lekéri a vízszintes görgetősáv görgetési korlátját.

  • SB_VERT Lekéri a függőleges görgetősáv görgetési korlátját.

Visszaadott érték

A görgetősáv maximális pozícióját adja meg, ha sikeres; egyéb esetben 0.

CWnd::GetScrollPos

Lekéri a görgetősáv görgetőmezőjének aktuális pozícióját.

int GetScrollPos(int nBar) const;

Paraméterek

nBar
Megadja a vizsgálandó görgetősávot. A paraméter a következő értékek egyikét veheti igénybe:

  • SB_HORZ Lekéri a vízszintes görgetősáv pozícióját.

  • SB_VERT Lekéri a függőleges görgetősáv pozícióját.

Visszaadott érték

A görgetősávon lévő görgetőmező aktuális pozícióját adja meg, ha sikeres; egyéb esetben 0.

Megjegyzések

Az aktuális pozíció egy relatív érték, amely az aktuális görgetési tartománytól függ. Ha például a görgetési tartomány 50–100, és a görgetőmező a sáv közepén van, az aktuális pozíció 75.

CWnd::GetScrollRange

Másolja az adott görgetősáv aktuális minimális és maximális görgetősáv-pozícióját az és lpMinPosa megadott lpMaxPos helyre.

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

Paraméterek

nBar
Megadja a vizsgálandó görgetősávot. A paraméter a következő értékek egyikét veheti igénybe:

  • SB_HORZ Lekéri a vízszintes görgetősáv pozícióját.

  • SB_VERT Lekéri a függőleges görgetősáv pozícióját.

lpMinPos
Arra az egész számváltozóra mutat, amely a minimális pozíciót szeretné megkapni.

lpMaxPos
Az egész szám változóra mutat, amely a maximális pozíciót szeretné megkapni.

Megjegyzések

Ha CWnd nincs görgetősávja, akkor a tagfüggvény a 0-t és lpMaxPosa GetScrollRangelpMinPos .

A normál görgetősáv alapértelmezett tartománya 0 és 100 között van. A görgetősáv vezérlőelem alapértelmezett tartománya üres (mindkét érték 0).

CWnd::GetStyle

Az aktuális ablakstílust adja vissza.

DWORD GetStyle() const;

Visszaadott érték

Az ablak stílusa. Az MFC-ben használt ablakstílusokról további információt az Ablakstílusok című témakörben talál.

CWnd::GetSystemMenu

Lehetővé teszi, hogy az alkalmazás hozzáférjen a Control menühöz másoláshoz és módosításhoz.

CMenu* GetSystemMenu(BOOL bRevert) const;

Paraméterek

bRevert
Megadja a végrehajtandó műveletet. Ha bRevert igen FALSE, GetSystemMenu egy fogópontot ad vissza a jelenleg használt Vezérlő menü egy példányának. Ez a másolat eredetileg megegyezik a Control menüben, de módosítható. Ha bRevert igen TRUE, GetSystemMenu visszaállítja a Control menüt az alapértelmezett állapotra. Az előző, esetleg módosított Vezérlő menü, ha van ilyen, megsemmisül. Ebben az esetben a visszatérési érték nincs meghatározva.

Visszaadott érték

Azonosítja a Control menü másolatát, ha bRevert igen FALSE. Ha bRevert igen TRUE, a visszatérési érték nincs meghatározva.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Minden olyan ablak, amely nem használja GetSystemMenu a Vezérlő menü saját másolatának készítését, megkapja a szokásos Vezérlő menüt.

A tagfüggvény által GetSystemMenu visszaadott mutató a Vezérlő menü módosításához használható a CMenu::AppendMenu, CMenu::InsertMenuvagy CMenu::ModifyMenu függvényekkel.

A Vezérlő menü kezdetben különböző azonosítóértékekkel azonosított elemeket tartalmaz, például SC_CLOSE: , SC_MOVEés SC_SIZE. A Vezérlő menü elemei üzeneteket hoznak létre WM_SYSCOMMAND . Minden előre definiált vezérlőelem-menüelem 0xF000-nél nagyobb azonosítószámmal rendelkezik. Ha egy alkalmazás elemeket ad hozzá a Vezérlő menühöz, az F000-nél kisebb azonosítószámokat kell használnia.

Előfordulhat, hogy a Windows automatikusan elérhetetlenné teszi az elemeket a standard Vezérlő menüben. CWnd saját kijelölést vagy elérhetetlenséget végezhet, ha válaszol az WM_INITMENU üzenetekre, amelyeket a menü megjelenítése előtt küld el.

Example

// 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

Beolvassa a megadott címsor adatait.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Paraméterek

pti
Mutasson egy TITLEBARINFO olyan struktúrára, amely megkapja az információt.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetTitleBarInfofunkcióit.

CWnd::GetTopLevelFrame

Hívja meg ezt a tagfüggvényt az ablak legfelső szintű keretablakának lekéréséhez, ha van ilyen.

CFrameWnd* GetTopLevelFrame() const;

Visszaadott érték

Az ablak legfelső szintű keretablakát azonosítja.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ha CWnd nincs csatolt ablaka, vagy a legfelső szintű szülője nem CFrameWnd-származtatott objektum, akkor ez a függvény ad vissza NULL.

CWnd::GetTopLevelOwner

Hívja meg ezt a tagfüggvényt a legfelső szintű ablak lekéréséhez.

CWnd* GetTopLevelOwner() const;

Visszaadott érték

A legfelső szintű ablakot azonosítja. Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A felső szintű ablak az az ablak, amely az asztal gyermekablaka. Ha CWnd nincs csatolt ablak, a függvény ad vissza NULL.

CWnd::GetTopLevelParent

Hívja meg ezt a tagfüggvényt az ablak legfelső szintű szülőjének lekéréséhez.

CWnd* GetTopLevelParent() const;

Visszaadott érték

Az ablak legfelső szintű szülőablakát azonosítja.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

GetTopLevelParent GetTopLevelFrame GetTopLevelOwnerhasonló és ; azonban figyelmen kívül hagyja az aktuális tulajdonosi ablakként beállított értéket.

CWnd::GetTopWindow

Megkeresi a legfelső szintű gyermekablakot, amely a fájlhoz CWndtartozik.

CWnd* GetTopWindow() const;

Visszaadott érték

A legfelső szintű gyermekablakot azonosítja a CWnd gyermekablakok csatolt listájában. Ha nem léteznek gyermekablakok, az érték a következő NULL: .

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ha CWnd nincsenek gyermekei, ez a függvény ad vissza NULL.

CWnd::GetUpdateRect

Lekéri a legkisebb téglalap koordinátáit, amelyek teljesen belefoglalják a frissítési régiót.

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

Paraméterek

lpRect
Egy olyan objektumra CRect vagy RECT struktúrára mutat, amely a frissítési régiót tartalmazó frissítés ügyfélkoordinátáit fogadja.

Állítsa be ezt a paramétert annak megállapításához, NULL hogy létezik-e frissítési régió a CWnd. Ha lpRect igen NULL, akkor a GetUpdateRect tagfüggvény nem ad vissza értéket, ha létezik frissítési régió, és 0, ha nem. Ez lehetővé teszi annak megállapítását, hogy egy WM_PAINT üzenet érvénytelen területből származik-e. Ne állítsa ezt a paramétert NULL a Windows 3.0-s és korábbi verziójára.

bErase
Megadja, hogy a frissítési régió hátterét törölni kell-e.

Visszaadott érték

A frissítési régió állapotát adja meg. Az érték nem nulla, ha a frissítési régió nem üres; egyéb esetben 0.

Ha a lpRect paraméter értéke a következő, NULLa visszatérési érték nem lesz nulla, ha létezik frissítési régió, egyébként 0.

Megjegyzések

Ha CWnd a CS_OWNDC stílussal lett létrehozva, és a leképezési mód nem MM_TEXT, akkor a GetUpdateRect tagfüggvény logikai koordinátákban adja meg a téglalapot. GetUpdateRect Ellenkező esetben a téglalapot az ügyfél koordinátáiban adja meg. Ha nincs frissítési régió, GetUpdateRect a téglalapot üresre állítja (az összes koordinátát 0-ra állítja).

A bErase paraméter megadja, hogy törölnie kell-e GetUpdateRect a frissítési régió hátterét. Ha bErase igen, TRUE és a frissítési régió nem üres, a háttér törlődik. A háttér GetUpdateRect törléséhez küldjön üzenetet WM_ERASEBKGND .

A tagfüggvény által BeginPaint lekért frissítési téglalap megegyezik a GetUpdateRect tagfüggvény által lekért téglalaptal.

A BeginPaint tagfüggvény automatikusan ellenőrzi a frissítési régiót, így az üres frissítési régió lekérésére GetUpdateRectBeginPaint irányuló hívás után azonnal meg kell hívni.

CWnd::GetUpdateRgn

Lekéri a frissítési régiót egy, a következő által pRgnazonosított régióba: .

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Paraméterek

pRgn
Azonosítja a frissítési régiót.

bErase
Megadja, hogy a rendszer törli-e a hátteret, és hogy a gyermekablakok nem megfelelő területeit rajzolja-e meg. Ha az érték az FALSE, nincs rajz.

Visszaadott érték

Egy rövid egész szám jelölőt ad meg, amely az eredményként kapott régió típusát jelzi. Az érték az alábbiak bármelyikét veheti igénybe:

  • SIMPLEREGION A régiónak nincsenek átfedésben lévő szegélyek.

  • COMPLEXREGION A régió szegélye átfedésben van.

  • NULLREGION A régió üres.

  • ERROR Nem lett létrehozva régió.

Megjegyzések

Ennek a régiónak a koordinátái a bal felső sarokhoz (ügyfélkoordinátákhoz) vannak viszonyítva.

A BeginPaint tagfüggvény automatikusan ellenőrzi a frissítési régiót, így az üres frissítési régió lekérésére GetUpdateRgnBeginPaint irányuló hívás után azonnal meg kell hívni.

CWnd::GetWindow

A kért ablakra mutató mutatót ad vissza, vagy NULL ha nincs.

CWnd* GetWindow(UINT nCmd) const;

Paraméterek

nCmd
A visszaadott ablak és a köztük CWnd lévő kapcsolatot adja meg. A következő értékek egyikét veheti igénybe:

  • GW_CHILD Azonosítja az CWnd első gyermekablakot.

  • GW_HWNDFIRST Ha CWnd gyermekablak, akkor az első testvérablakot adja vissza. Ellenkező esetben a lista első legfelső szintű ablakát adja vissza.

  • GW_HWNDLAST Ha CWnd gyermekablak, akkor az utolsó testvérablakot adja vissza. Ellenkező esetben a lista utolsó legfelső szintű ablakát adja vissza.

  • GW_HWNDNEXT A következő ablakot adja vissza az ablakkezelő listájában.

  • GW_HWNDPREV Az előző ablakot adja vissza az ablakkezelő listájában.

  • GW_OWNER Azonosítja a tulajdonost CWnd .

Visszaadott érték

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

CWnd::GetWindowContextHelpId

Hívja meg ezt a tagfüggvényt az ablakhoz társított súgókörnyezet azonosítójának lekéréséhez, ha van ilyen.

DWORD GetWindowContextHelpId() const;

Visszaadott érték

A súgókörnyezet azonosítója. 0 értéket ad vissza, ha az ablakban nincs ilyen.

CWnd::GetWindowedChildCount

Hívja meg ezt a tagfüggvényt a társított gyermekablakok számának lekéréséhez.

long GetWindowedChildCount();

Visszaadott érték

Az objektumhoz CWnd társított gyermekablakok száma.

CWnd::GetWindowDC

Lekéri a teljes ablak megjelenítési környezetét, beleértve a feliratsávot, a menüket és a görgetősávokat.

CDC* GetWindowDC();

Visszaadott érték

Azonosítja az adott ablak megjelenítési környezetét, ha a függvény sikeres; egyéb esetben NULL.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni. ReleaseDCminden sikeres híváshoz egyszer kell meghívni.GetWindowDC

Megjegyzések

Az ablakmegjelenítési környezetek bárhol lehetővé teszik a festést CWnd, mivel a környezet eredete az ügyfélterület helyett a bal felső sarokban CWnd található.

A rendszer minden alkalommal hozzárendeli az alapértelmezett attribútumokat a megjelenítési környezethez, amikor lekéri a környezetet. A korábbi attribútumok elvesznek.

GetWindowDC a nemclient terület különleges festési CWnd hatásaira szolgál. A festés nem ajánlott az ablakok nem megfelelő területein.

A GetSystemMetrics Windows függvény segítségével lekérheti a nemclient terület különböző részeinek dimenzióit, például a feliratsávot, a menüt és a görgetősávokat.

A festés befejezése után a ReleaseDC tagfüggvényt meg kell hívni a megjelenítési környezet felszabadításához. A megjelenítési környezet kiadásának elmulasztása komoly hatással lesz az alkalmazások által kért festésre az egyidejűleg megnyitható eszközkörnyezetek számának korlátozása miatt.

CWnd::GetWindowInfo

Adatokat kér le az ablakról.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Paraméterek

pwi
Egy struktúra mutatója WINDOWINFO .

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény GetWindowInfofunkcióit.

CWnd::GetWindowlessChildCount

Lekéri a társított ablak nélküli gyermekablakok számát.

long GetWindowlessChildCount();

Visszaadott érték

Az objektumhoz CWnd társított ablak nélküli gyermekablakok száma.

CWnd::GetWindowPlacement

Lekéri az ablak megjelenítési állapotát és normál (visszaállított), minimalizált és teljes pozícióját.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Paraméterek

lpwndpl
A megjelenítési WINDOWPLACEMENT állapottal és a pozícióval kapcsolatos információkat fogadó struktúrára mutat.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

A flags függvény által lekért struktúra tagja WINDOWPLACEMENT mindig 0. Ha CWnd a maximális, akkor a showCmd tag WINDOWPLACEMENT az SW_SHOWMAXIMIZED. Ha az ablak kis méretű, akkor az .SW_SHOWMINIMIZED Ellenkező esetben.SW_SHOWNORMAL

CWnd::GetWindowRect

Másolja az objektum határoló téglalapjának méreteit CWnd az általa mutatott szerkezetre lpRect.

void GetWindowRect(LPRECT lpRect) const;

Paraméterek

lpRect
Olyan objektumra vagy RECT struktúráraCRect mutat, amely a bal felső és a jobb alsó sarokban lévő képernyőkoordinátákat fogja megkapni.

Megjegyzések

A méretek a képernyő bal felső sarkához viszonyított képernyőkoordinátákban vannak megadva. A feliratok, szegélyek és görgetősávok méretei ( ha vannak ilyenek) szerepelnek.

CWnd::GetWindowRgn

Hívja meg ezt a tagfüggvényt egy ablak ablakterületének lekéréséhez.

int GetWindowRgn(HRGN hRgn)const;

Paraméterek

hRgn
Egy ablakrégió fogópontja.

Visszaadott érték

A visszatérési érték a függvény által beolvasott régió típusát adja meg. A következő értékek egyike lehet:

  • NULLREGION A régió üres.

  • SIMPLEREGION A régió egyetlen téglalap.

  • COMPLEXREGION A régió több téglalapból áll.

  • ERROR Hiba történt; nincs hatással a régióra.

Megjegyzések

Az ablakterület határozza meg azt a területet az ablakban, ahol az operációs rendszer engedélyezi a rajzot. Az operációs rendszer nem jeleníti meg az ablaknak az ablakterületen kívül eső részét.

Az ablak ablakterületének koordinátái az ablak bal felső sarkához viszonyítva vannak, nem pedig az ablak ügyfélterületéhez.

Az ablak ablakterületének beállításához hívja meg a következőt CWnd::SetWindowRgn:

CWnd::GetWindowText

Másolja a CWnd felirat címét (ha van ilyen) a célsztring által lpszStringBuf mutatott pufferbe vagy a célsztringbe rString.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Paraméterek

lpszStringBuf
Az ablak címének másolt sztringjét fogadó pufferre mutat.

nMaxCount
Megadja a pufferbe másolandó karakterek maximális számát, beleértve a null karakter végződését is. Ha a sztring hosszabb, mint a megadott nMaxCountkarakterek száma, akkor a sztring csonkolt lesz.

rString
Egy CString objektum, amely az ablak címének másolt sztringjét szeretné megkapni.

Visszaadott érték

A másolt sztring hosszát adja meg karakterekben, a befejező null karaktert nem beleértve. 0, ha CWnd nincs felirata, vagy ha a felirat üres.

Megjegyzések

Ha az CWnd objektum vezérlőelem, a tagfüggvény a GetWindowText felirat másolása helyett a vezérlőelemen belül másolja a szöveget.

Ez a tagfüggvény az üzenetet az WM_GETTEXT objektumnak küldi CWnd el.

Example

Lásd a példát a CWnd::SetWindowText.

CWnd::GetWindowTextLength

Az objektumfelirat címének hosszát CWnd adja vissza.

int GetWindowTextLength() const;

Visszaadott érték

A szöveg hosszát adja meg karakterekben, a null-végződés karaktert nem beleértve. Az érték 0, ha nincs ilyen szöveg.

Megjegyzések

Ha CWnd vezérlőelem, akkor a GetWindowTextLength tagfüggvény a felirat helyett a vezérlőelemen belüli szöveg hosszát adja vissza.

Ez a tagfüggvény az üzenetet az WM_GETTEXTLENGTH objektumnak küldi CWnd el.

Example

Lásd a példát a CWnd::SetWindowText.

CWnd::HideCaret

Elrejti a gondviseletet úgy, hogy eltávolítja a képernyőről.

void HideCaret();

Megjegyzések

Bár a gondviselet már nem látható, a tagfüggvény használatával ShowCaret ismét megjeleníthető. A gondviselő elrejtése nem pusztítja el a jelenlegi alakját.

A elrejtés kumulatív. Ha HideCaret egymás után ötször lett meghívva, a ShowCaret tagfüggvényt ötször kell meghívni, mielőtt a gondozás megjelenik.

CWnd::HiliteMenuItem

Kiemeli vagy eltávolítja a kiemelést egy felső szintű (menüsoros) menüelemből.

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Paraméterek

pMenu
A kiemelni kívánt elemet tartalmazó felső szintű menüt azonosítja.

nIDHiliteItem
Megadja a kiemelni kívánt menüelemet a paraméter értékétől nHilite függően.

nHilite
Megadja, hogy a menüelem ki van-e emelve, vagy a kiemelés el lett távolítva. Ez lehet a kombináció, MF_HILITE vagy MF_UNHILITE a .MF_BYCOMMANDMF_BYPOSITION Az értékek a bitenkénti OR operátorral kombinálhatók. Ezek az értékek a következő jelentéssel rendelkeznek:

  • MF_BYCOMMAND nIDHiliteItem A menüelem azonosítójaként értelmezi (az alapértelmezett értelmezés).

  • MF_BYPOSITION nIDHiliteItem A menüelem nullaalapú eltolásaként értelmezi.

  • MF_HILITE Kiemeli az elemet. Ha ez az érték nincs megadva, a rendszer eltávolítja a kiemelést az elemből.

  • MF_UNHILITE Eltávolítja a kiemelést az elemből.

Visszaadott érték

Megadja, hogy a menüelem ki van-e emelve. Nonzero, ha az elem ki van emelve; egyéb esetben 0.

Megjegyzések

A MF_HILITE és MF_UNHILITE a jelzők csak ezzel a tagfüggvénnyel használhatók; a CMenu::ModifyMenu tagfüggvényhez nem használhatók.

CWnd::HtmlHelp

Hívja meg ezt a tagfüggvényt a HTMLHelp-alkalmazás meghívásához.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Paraméterek

dwData
További adatokat ad meg. A használt érték a paraméter értékétől nCmd függ.

nCmd
Megadja a kért súgó típusát. A lehetséges értékek listájáért és a dwData paraméterre gyakorolt hatásukért tekintse meg a uCommand Windows SDK HTML súgó API-referenciajában leírt paramétert.

Megjegyzések

További információért lásd a CWinApp::HtmlHelp jelű részt.

CWnd::InitDynamicLayout

A keretrendszer meghívta egy ablak dinamikus elrendezésének inicializálására.

void InitDynamicLayout();

Megjegyzések

Ne hívja meg közvetlenül ezt a metódust.

CWnd::Invalidate

Érvényteleníti a teljes ügyfélterületet.CWnd

void Invalidate(BOOL bErase = TRUE);

Paraméterek

bErase
Megadja, hogy a frissítési régión belüli háttér törölhető-e.

Megjegyzések

Az ügyfélterület festésre van megjelölve a következő WM_PAINT üzenet bekövetkezésekor. A régió akkor is érvényesíthető, ha a WM_PAINT tagfüggvény vagy ValidateRgn a ValidateRect tagfüggvény üzenetet küld.

A bErase paraméter azt határozza meg, hogy a frissítési terület háttérét törölni kell-e a frissítési régió feldolgozásakor. Ha bErase igen TRUE, a háttér törlődik a BeginPaint tagfüggvény meghívásakor; ha bErase igen FALSE, a háttér változatlan marad. Ha bErase a frissítési régió bármely részéhez tartozik TRUE , a rendszer törli a teljes régió hátterét, nem csak az adott részben.

A Windows akkor WM_PAINT küld üzenetet, ha a frissítési CWnd régió nem üres, és nincs más üzenet az adott ablak alkalmazássorában.

Example

Lásd a példát a CWnd::UpdateWindow.

CWnd::InvalidateRect

Érvényteleníti az ügyfélterületet az adott téglalapon belül úgy, hogy hozzáadja a téglalapot a frissítési CWnd régióhoz.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Paraméterek

lpRect
A frissítési régióhoz CRect hozzáadni kívánt téglalapot (ügyfélkoordinátában) tartalmazó objektumra vagy RECT struktúrára mutat. Ha lpRect igen NULL, a teljes ügyfélterület hozzá lesz adva a régióhoz.

bErase
Megadja, hogy a frissítési régión belüli háttér törölhető-e.

Megjegyzések

Az érvénytelenített téglalap és a frissítési régió összes többi területe festésre van megjelölve a következő WM_PAINT üzenet elküldésekor. Az érvénytelenített területek mindaddig halmozódnak fel a frissítési régióban, amíg a régió feldolgozásra nem kerül a következő WM_PAINT híváskor, vagy amíg a régiót nem érvényesíti a ValidateRect tagfüggvény.ValidateRgn

A bErase paraméter azt határozza meg, hogy a frissítési terület háttérét törölni kell-e a frissítési régió feldolgozásakor. Ha bErase igen TRUE, a háttér törlődik a BeginPaint tagfüggvény meghívásakor; ha bErase igen FALSE, a háttér változatlan marad. Ha bErase a frissítési régió bármely részéhez tartozik TRUE , a teljes régió háttere törlődik, nem csak az adott részben.

A Windows akkor WM_PAINT küld üzenetet, ha a frissítési CWnd régió nem üres, és nincs más üzenet az adott ablak alkalmazássorában.

CWnd::InvalidateRgn

Érvényteleníti az ügyfélterületet az adott régión belül, ha hozzáadja azt a jelenlegi frissítési régióhoz CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Paraméterek

pRgn
Egy olyan objektumra mutató CRgn mutató, amely azonosítja a frissítési régióhoz hozzáadni kívánt régiót. A régió feltételezi, hogy ügyfélkoordinátái vannak. Ha ez a paraméter, NULLa rendszer a teljes ügyfélterületet hozzáadja a frissítési régióhoz.

bErase
Megadja, hogy a frissítési régión belüli háttér törölhető-e.

Megjegyzések

Az érvénytelenített régió és a frissítési régió összes többi területe festésre van megjelölve az WM_PAINT üzenet következő elküldésekor. Az érvénytelenített területek mindaddig halmozódnak fel a frissítési régióban, amíg a régió feldolgozásra nem kerül az WM_PAINT üzenet következő elküldésekor, vagy amíg a régiót nem érvényesíti a tagfüggvény vagy ValidateRgn a ValidateRect tagfüggvény.

A bErase paraméter azt határozza meg, hogy a frissítési terület háttérét törölni kell-e a frissítési régió feldolgozásakor. Ha bErase igen TRUE, a háttér törlődik a BeginPaint tagfüggvény meghívásakor; ha bErase igen FALSE, a háttér változatlan marad. Ha bErase a frissítési régió bármely részéhez tartozik TRUE , a rendszer törli a teljes régió hátterét, nem csak az adott részben.

A Windows akkor WM_PAINT küld üzenetet, ha a frissítési CWnd régió nem üres, és nincs más üzenet az adott ablak alkalmazássorában.

Az adott régiót korábban az egyik régiófüggvénynek kellett létrehoznia.

CWnd::InvokeHelper

Hívja meg ezt a tagfüggvényt a megadott környezetben megadott dwDispIDActiveX Control metódus vagy tulajdonság meghívásához wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Paraméterek

dwDispID
Azonosítja a meghívandó metódust vagy tulajdonságot.

wFlags
A hívás IDispatch::Invokekörnyezetét leíró jelzők.

vtRet
A visszatérési érték típusát adja meg. A lehetséges értékekért tekintse meg a Megjegyzések szakaszt a következőhöz COleDispatchDriver::InvokeHelper: .

pvRet
Annak a változónak a címe, amely megkapja a tulajdonságértéket vagy a visszatérési értéket. Meg kell egyeznie a megadott típussal vtRet.

pbParamInfo
Mutató egy null értékű bájtos sztringre, amely megadja az alábbi pbParamInfoparaméterek típusait. A lehetséges értékekért tekintse meg a Megjegyzések szakaszt a következőhöz COleDispatchDriver::InvokeHelper: .

...
A paraméterek változólistája, a megadott pbParamInfotípusok.

Megjegyzések

A pbParamInfo paraméter megadja a metódusnak vagy tulajdonságnak átadott paraméterek típusait. Az argumentumok változólistáját a szintaxis deklarációja jelöli ... .

Ez a függvény értékekké VARIANTARG alakítja a paramétereket, majd meghívja a IDispatch::Invoke metódust az ActiveX-vezérlőn. Ha a hívás IDispatch::Invoke sikertelen, ez a függvény kivételt fog eredményezni. Ha a SCODE visszaadott IDispatch::Invoke (állapotkód) függvény DISP_E_EXCEPTIONegy COleException objektumot dob, ellenkező esetben COleDispatchExceptionegy .

Megjegyzés:

Ezt a függvényt csak egy CWnd ActiveX-vezérlőt képviselő objektumon kell meghívni.

A tagfüggvény ActiveX-vezérlőtárolókkal való használatáról az ActiveX-vezérlőtárolók: ActiveX-vezérlők programozása ActiveX-vezérlőkben című cikkben talál további információt.

CWnd::IsChild

Azt jelzi, hogy az általuk pWnd megadott ablak gyermekablak-e vagy annak más közvetlen leszármazottja CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Paraméterek

pWnd
Azonosítja a tesztelni kívánt ablakot.

Visszaadott érték

A függvény eredményét adja meg. Az érték nem nulla, ha az általa pWnd azonosított ablak a gyermekablak; CWndegyébként 0.

Megjegyzések

A gyermekablak annak közvetlen leszármazottja CWnd , ha az CWnd objektum az eredeti előugró ablakból a gyermekablakba vezető szülőablakok láncában található.

CWnd::IsD2DSupportEnabled

Meghatározza, hogy engedélyezve van-e a D2D-támogatás.

BOOL IsD2DSupportEnabled();

Visszaadott érték

TRUE ha a funkció engedélyezve van; egyéb esetben FALSE.

CWnd::IsDialogMessage

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a megadott üzenet egy mód nélküli párbeszédpanelhez készült-e; ha igen, ez a függvény feldolgozza az üzenetet.

BOOL IsDialogMessage(LPMSG lpMsg);

Paraméterek

lpMsg
MSG Az ellenőrizni kívánt üzenetet tartalmazó struktúrára mutat.

Visszaadott érték

Megadja, hogy a tagfüggvény feldolgozta-e a megadott üzenetet. Nem kötelező, ha az üzenetet feldolgozták; egyéb esetben 0. Ha a visszatérés 0, hívja meg az CWnd::PreTranslateMessage alaposztály tagfüggvényét az üzenet feldolgozásához. A tagfüggvény felülbírálása CWnd::PreTranslateMessage esetén a kód a következőképpen néz ki:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Megjegyzések

Amikor a IsDialogMessage függvény feldolgoz egy üzenetet, ellenőrzi a billentyűzetet, és a megfelelő párbeszédpanel kijelölési parancsaivá alakítja őket. A TAB billentyű például kiválasztja a következő vezérlőt vagy vezérlőelemcsoportot, a LE nyílbillentyű pedig a csoport következő vezérlőelemét.

Nem adhat át a windowsos vagy DispatchMessage a TranslateMessage windowsos függvények által IsDialogMessage feldolgozott üzenetet, mert az már feldolgozásra került.

CWnd::IsDlgButtonChecked

Meghatározza, hogy egy gombvezérlő mellett van-e pipa.

UINT IsDlgButtonChecked(int nIDButton) const;

Paraméterek

nIDButton
A gombvezérlő egész számazonosítóját adja meg.

Visszaadott érték

Nonzero, ha a megadott vezérlőelem be van jelölve, és 0, ha nincs bejelölve. Csak a választógombok és a jelölőnégyzetek jelölhetők be. Háromállapotú gombok esetén a visszatérési érték 2 lehet, ha a gomb meghatározatlan. Ez a tagfüggvény 0 értéket ad vissza egy leküldéses gombhoz.

Megjegyzések

Ha a gomb egy háromállapotú vezérlőelem, a tagfüggvény határozza meg, hogy a gomb halvány, bejelölt vagy egyik sem.

CWnd::IsDynamicLayoutEnabled

Meghatározza, hogy a dinamikus elrendezés engedélyezve van-e ezen az ablakban. Ha a dinamikus elrendezés engedélyezve van, a gyermekablakok helyzete és mérete megváltozhat, amikor a felhasználó átméretezi a szülőablakot.

BOOL IsDynamicLayoutEnabled() const;

Visszaadott érték

TRUE ha a dinamikus elrendezés engedélyezve van; egyéb esetben FALSE.

Megjegyzések

CWnd::IsIconic

Meghatározza, hogy a rendszer minimalizálja-e CWnd (ikonikus).

BOOL IsIconic() const;

Visszaadott érték

Nonzero, ha CWnd kis méretű; egyébként 0.

Example

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

Meghatározza, hogy rendelkezik-e CWnd érintéses támogatással.

BOOL IsTouchWindow() const;

Visszaadott érték

TRUE ha CWnd érintéses támogatással rendelkezik; ellenkező esetben FALSE.

Megjegyzések

CWnd::IsWindowEnabled

Megadja, hogy engedélyezve van-e CWnd az egér- és billentyűzetbemenet.

BOOL IsWindowEnabled() const;

Visszaadott érték

Nonzero, ha CWnd engedélyezve van; egyébként 0.

Example

//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

Meghatározza az adott ablak láthatósági állapotát.

BOOL IsWindowVisible() const;

Visszaadott érték

Nonzero, ha CWnd látható (a WS_VISIBLE stílusbit be van állítva, és a szülőablak látható). Mivel a visszatérési érték a stílusbit állapotát WS_VISIBLE tükrözi, előfordulhat, hogy a visszatérési érték nem megfelelő annak ellenére CWnd , hogy más ablakok teljesen eltakarják.

Megjegyzések

Az ablak a stílusbit által jelzett láthatósági WS_VISIBLE állapottal rendelkezik. Ha ezt a stílusbitet a ShowWindow tagfüggvény hívásával állítja be, megjelenik az ablak, és az ablak későbbi rajza is megjelenik, ha az ablak rendelkezik a stílusbitkészlettel.

A stílussal rendelkező WS_VISIBLE ablakokra vonatkozó rajzok nem jelennek meg, ha az ablakot más ablakok fedik le, vagy a szülőablaka vágja ki.

Example

// 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

Meghatározza, hogy a teljes méret lett-e CWnd megadva.

BOOL IsZoomed() const;

Visszaadott érték

Nonzero, ha CWnd teljes, egyébként 0.

CWnd::KillTimer

Megöli a korábbi hívás által nIDEvent azonosított időzítőeseményt SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Paraméterek

nIDEvent
Annak az időzítőeseménynek az értéke, amely a következőnek lett átadva SetTimer: .

Visszaadott érték

A függvény eredményét adja meg. Az érték nem nulla, ha az eseményt megölték. Ez 0, ha a KillTimer tagfüggvény nem találja a megadott időzítőeseményt.

Megjegyzések

Az időzítőhöz társított függőben lévő WM_TIMER üzenetek nem törlődnek az üzenetsorból.

Example

Lásd a példát a CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

A keretrendszer meghívta, hogy dinamikus elrendezési információkat töltsön be az erőforrásfájlból.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Paraméterek

lpszResourceName
Annak az erőforrásnak a neve, amely az ablak kívánt dinamikus elrendezési adatait tartalmazza.

Visszaadott érték

Nonzero, ha a függvény sikeres. Hiba esetén ez 0.

Megjegyzések

Ne hívja meg közvetlenül ezt a metódust.

CWnd::LockWindowUpdate

Letiltja a rajzot az adott ablakban.

BOOL LockWindowUpdate();

Visszaadott érték

Nonzero, ha a függvény sikeres. Ez 0, ha hiba történik, vagy ha a LockWindowUpdate függvényt egy másik ablak zárolására használták.

Megjegyzések

Zárolt ablak nem helyezhető át. Egyszerre csak egy ablak zárolható. A zárolt ablak zárolásának feloldásához hívja meg a LockWindowUpdatehívást UnlockWindowUpdate.

Ha egy zárolt ablakkal rendelkező alkalmazás (vagy bármely zárolt gyermekablak) meghívja a GetDC, GetDCExvagy BeginPaint Windows függvényt, a hívott függvény egy olyan eszközkörnyezetet ad vissza, amelynek látható régiója üres. Ez mindaddig megtörténik, amíg az alkalmazás nem oldja fel az ablakot a UnlockWindowUpdate tagfüggvény meghívásával.

Amíg az ablakfrissítések zárolva vannak, a rendszer nyomon követi a rajzműveletek határoló téglalapját a zárolt ablakhoz társított eszközkörnyezetekben. Ha a rajz újra szerkeszthető, ez a határolókeret érvénytelenül jelenik meg a zárolt ablakban és a gyermekablakokban, hogy egy végleges WM_PAINT üzenetet kényszerítsen a képernyő frissítésére. Ha az ablakfrissítések zárolt állapotában nem történt rajz, a rendszer nem érvényteleníti a területet.

A LockWindowUpdate tagfüggvény nem teszi láthatatlanná az adott ablakot, és nem törli a WS_VISIBLE stílusbitet.

CWnd::m_hWnd

Az ehhez CWndcsatolt Windows-ablak fogópontja.

HWND m_hWnd;

Megjegyzések

Az m_hWnd adattag egy nyilvános változótípus HWND.

CWnd::MapWindowPoints

Pontok halmazát konvertálja (leképezi) a koordinátatérből CWnd egy másik ablak koordinátaterére.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Paraméterek

pwndTo
Azt az ablakot azonosítja, amelybe a pontok konvertálódnak. Ha ez a paraméter, NULLa rendszer képernyőkoordinátákká alakítja a pontokat.

lpRect
Megadja azt a téglalapot, amelynek pontjait konvertálni szeretné. A függvény első verziója csak Windows 3.1 és újabb verziókhoz érhető el.

lpPoint
Az átalakítandó pontok készletét POINT tartalmazó struktúratömbre mutató mutató.

nCount
A tömb által mutatott lpPointstruktúrák számát POINT adja meg.

CWnd::MessageBox

Létrehoz és megjelenít egy ablakot, amely egy alkalmazás által megadott üzenetet és feliratot, valamint a Message-Box Stílusok listában leírt előre definiált ikonok és leküldéses gombok kombinációját tartalmazza.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Paraméterek

lpszText
CString A megjelenítendő üzenetet tartalmazó objektumra vagy null értékű sztringre mutat.

lpszCaption
CString Az üzenetdoboz feliratához használandó objektumra vagy null értékű sztringre mutat. Ha lpszCaption igen NULL, akkor a rendszer az alapértelmezett "Hiba" feliratot használja.

nType
Meghatározza az üzenetmező tartalmát és viselkedését.

Visszaadott érték

Ez a metódus a MessageBox Windows SDK-ban definiált függvényt használja. Ez a metódus a függvény meghívásának eredményét adja vissza.

Megjegyzések

A tagfüggvény helyett a globális függvényt AfxMessageBox használva implementálhat egy üzenetmezőt az alkalmazásban.

Az alábbiakban az üzenetmezőben használható rendszerikonok láthatók:

Icon Macro
Stop vagy X ikon, amely egy piros körből áll, középen fehér x. MB_ICONHAND, MB_ICONSTOPés MB_ICONERROR
Súgó vagy kérdőjel ikon, amely egy gondolatbuborék ikonból és egy kérdőjelből áll. MB_ICONQUESTION
Fontos vagy felkiáltójel ikon, amely egy sárga háromszögből és egy fekete felkiáltójelből áll. MB_ICONEXCLAMATION és MB_ICONWARNING
Információ vagy betű I ikon, amely egy gondolatbuborékot és benne egy kisbetűt jelöl. MB_ICONASTERISK és MB_ICONINFORMATION

Example

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

Az ablak stílusának módosításához hívja meg ezt a tagfüggvényt.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Paraméterek

dwRemove
Megadja a stílusmódosítás során eltávolítandó ablakstílusokat.

dwAdd
Megadja a stílusmódosítás során hozzáadandó ablakstílusokat.

nFlags
Ha nem kellene meghívni, akkor a jelölőket át kell adni SetWindowPos, vagy nullát SetWindowPos . Az alapértelmezett érték nulla. Az előre beállított jelzők listáját a Megjegyzések szakaszban találja.

Visszaadott érték

Nemzero, ha a stílust sikeresen módosították; ellenkező esetben 0.

Megjegyzések

A hozzáadni vagy eltávolítani kívánt stílusok a bitenkénti VAGY (|) operátorral kombinálhatók. Az elérhető ablakstílusokról a Windows SDK AblakstílusokCreateWindow című témakörében olvashat.

Ha nFlags nem, hívja meg a Windows API-függvénytSetWindowPos, ModifyStyle és az alábbi négy előre beállított jelzővel kombinálva nFlags újrarajzosíthatja az ablakot:

  • SWP_NOSIZE Megtartja az aktuális méretet.

  • SWP_NOMOVE Megtartja az aktuális pozíciót.

  • SWP_NOZORDER Megtartja az aktuális Z sorrendet.

  • SWP_NOACTIVATE Nem aktiválja az ablakot.

Az ablak bővített stílusainak módosításáról lásd ModifyStyleEx: .

Megjegyzés:

Bizonyos vezérlők egyes stílusai (például a ES_READONLY szerkesztési vezérlő stílusa) ModifyStyle esetében előfordulhat, hogy nem módosítják megfelelően a stílust, mert előfordulhat, hogy a vezérlőnek speciális belső feldolgozást kell végrehajtania. Ezekben az esetekben elérhető lesz egy megfelelő üzenet a stílus módosításához ( EM_SETREADONLY az említett példában).

Example

// 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

Az ablak bővített stílusának módosításához hívja meg ezt a tagfüggvényt.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Paraméterek

dwRemove
A stílusmódosítás során eltávolítandó kiterjesztett stílusokat adja meg.

dwAdd
A stílusmódosítás során hozzáadandó kiterjesztett stílusokat adja meg.

nFlags
Ha nem kellene meghívni, akkor a jelölőket át kell adni SetWindowPos, vagy nullát SetWindowPos . Az alapértelmezett érték nulla. Az előre beállított jelzők listáját a Megjegyzések szakaszban találja.

Visszaadott érték

Nemzero, ha a stílust sikeresen módosították; ellenkező esetben 0.

Megjegyzések

A hozzáadni vagy eltávolítani kívánt stílusok a bitenkénti VAGY (|) operátorral kombinálhatók. A bővített stílusokkal kapcsolatos információkért tekintse meg ebben a könyvben és CreateWindowEx a Windows SDK-ban a Bővített ablakstílusok című témakört

Ha nFlags nem, hívja meg a Windows API-függvénytSetWindowPos, ModifyStyleEx és az alábbi négy előre beállított jelzővel kombinálva nFlags újrarajzosíthatja az ablakot:

  • SWP_NOSIZE Megtartja az aktuális méretet.

  • SWP_NOMOVE Megtartja az aktuális pozíciót.

  • SWP_NOZORDER Megtartja az aktuális Z sorrendet.

  • SWP_NOACTIVATE Nem aktiválja az ablakot.

Ha normál ablakstílusokkal szeretné módosítani az ablakokat, tekintse meg a következőt ModifyStyle: .

Example

// 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

Megváltoztatja a pozíciót és a dimenziókat.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Paraméterek

x
A bal oldal új pozícióját CWndadja meg.

y
A felső részének új pozícióját CWndadja meg.

nWidth
Megadja a CWnd.

nHeight
Megadja a . új magasságát CWnd.

bRepaint
Megadja, hogy újra kell-e CWnd festeni. Ha TRUE, CWnd a szokásos módon kap egy WM_PAINT üzenetet az üzenetkezelőben OnPaint . Ha ez a paraméter, FALSEsemmilyen újrafestés nem történik. Ez az ügyfélterületre, a nemclient területre (beleértve a címet és a görgetősávokat) és a szülőablak minden olyan részére vonatkozik, amely a mozgatás eredményeként CWndnem látható. Ha ez a paraméter, FALSEaz alkalmazásnak explicit módon érvénytelenítenie vagy újra kell újítania CWnd a szülőablak azon részeit, amelyeket újra kell helyezni.

lpRect
Az CRect új méretet és pozíciót meghatározó objektum vagy RECT struktúra .

Megjegyzések

Felső szintű CWnd objektumok esetén a x paraméterek a y képernyő bal felső sarkához viszonyítva vannak. A gyermekobjektumok CWnd a szülőablak ügyfélterületének bal felső sarkához viszonyítva vannak.

A MoveWindow függvény elküldi az WM_GETMINMAXINFO üzenetet. Az üzenet kezelése lehetővé teszi CWnd a lehető legnagyobb és legkisebb ablakok alapértelmezett értékeinek módosítását. Ha a tagfüggvény paraméterei túllépik ezeket az MoveWindow értékeket, az értékek lecserélhetők a kezelő minimális vagy maximális értékeire WM_GETMINMAXINFO .

Example

Lásd a példát a CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Jelzi a rendszernek, hogy előre definiált esemény történt. Ha bármely ügyfélalkalmazás regisztrált egy horogfüggvényt az eseményhez, a rendszer meghívja az ügyfél horogfüggvényét.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Paraméterek

event
A bekövetkezett eseményt adja meg. Ennek az értéknek az eseményállandók egyikének kell lennie.

idObjectType
Azonosítja az eseményt létrehozó objektumtípust. Ez az érték az előre definiált objektumazonosítók vagy egyéni objektumazonosítók egyike.

idObject
Azt határozza meg, hogy az eseményt az objektum egy objektuma vagy gyermekeleme hozta-e létre. Ha ez az CHILDID_SELFérték, az eseményt maga az objektum hozta létre. Ha nem, ez az érték az eseményt létrehozó elem gyermekazonosítója.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény NotifyWinEventfunkcióit.

CWnd::OnActivate

A keretrendszer meghívja ezt a tagfüggvényt egy CWnd objektum aktiválása vagy inaktiválása esetén.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Paraméterek

nState
Megadja, hogy a CWnd aktiválva vagy inaktiválva van-e. A következő értékek egyike lehet:

  • WA_INACTIVE Az ablak inaktiválva van.

  • WA_ACTIVE Az ablak aktiválása az egérkattintástól eltérő módszerrel történik (például a billentyűzet felületének használatával az ablak kiválasztásához).

  • WA_CLICKACTIVE Az ablakot egérkattintással aktiválja.

pWndOther
Mutasson az aktivált vagy inaktivált CWnd. A mutató lehet NULL, és lehet, hogy ideiglenes.

bMinimized
Az aktivált vagy inaktivált CWnd minimális állapotát adja meg. Egy érték TRUE azt jelzi, hogy az ablak kis méretű.

Ha TRUEaz CWnd aktiválás folyamatban van, ellenkező esetben inaktiválva.

Megjegyzések

Ha az CWnd objektum egérkattintással aktiválódik, akkor tagfüggvény-hívást is kap OnMouseActivate .

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnActivateApp

A keretrendszer meghívja ezt a tagfüggvényt az aktivált tevékenység összes felső szintű ablakára, valamint az inaktivált tevékenység összes felső szintű ablakára.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Paraméterek

bActive
Megadja, hogy a CWnd aktiválva vagy inaktiválva van-e. TRUE azt jelenti, hogy az CWnd aktiválás folyamatban van. FALSE azt jelenti, hogy a CWnd szolgáltatás inaktiválva van.

dwThreadID
Megadja a szálazonosító értékét. Ha bActive igen TRUE, dwThreadID azonosítja az inaktivált szálat CWnd . Ha bActive igen FALSE, dwThreadID azonosítja az aktivált szálat CWnd .

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnAmbientProperty

A keretrendszer meghívja ezt a tagfüggvényt, hogy az OLE-vezérlőket tartalmazó ablakból szerezze be a környezeti tulajdonság értékeit.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Paraméterek

pSite
Mutasson a környezeti tulajdonságot kérő vezérlő helyére.

dispid
A kért környezeti tulajdonság kézbesítési azonosítója.

pvar
Mutasson egy hívó által lefoglalt VARIANT struktúrára, amelyen keresztül a környezeti tulajdonság értéke lesz visszaadva.

Visszaadott érték

TRUE ha a környezeti tulajdonság támogatott; FALSE ha nem.

Megjegyzések

A függvény felülbírálása az OLE-vezérlőtároló által a vezérlőknek visszaadott alapértelmezett környezeti tulajdonságértékek módosításához. Minden olyan környezeti tulajdonságkérést, amelyet nem egy felülíró függvény kezel, továbbítani kell az alaposztály implementációjához.

CWnd::OnAppCommand

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó létrehoz egy alkalmazásparancs-eseményt. Ilyen esemény akkor fordul elő, ha a felhasználó egy alkalmazásparancs gombra kattint, vagy beszed egy alkalmazásparancskulcsot.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Paraméterek

pWnd
[in] Mutasson egy CWnd olyan objektumra, amely azt az ablakot jelöli, ahol a felhasználó a parancsgombra kattintott, vagy lenyomta a parancskulcsot. Ez az ablak lehet az üzenet fogadó ablakának gyermekablaka.

nCmd
[in] Az alkalmazásparancsot jelzi. A lehetséges értékek listájáért tekintse meg a parancsokat a cmdlParam paraméter szakaszában WM_APPCOMMAND.

nDevice
[in] A bemeneti eseményt létrehozó bemeneti eszköz. A lehetséges értékek listáját a paraméter WM_APPCOMMANDalatti lParam eszközökben uDevice találja.

nKey
[in] A le nem ejtett virtuális kulcsokat jelzi, például a CTRL billentyűt vagy a bal egérgombot. A lehetséges értékek listájáért tekintse meg a kulcsokat a dwKeyslParam paraméter szakaszában WM_APPCOMMAND. További információkért tekintse meg az "Üzenetparaméterek" alcímet az Egérbevitelről című témakörben.

Megjegyzések

Ez a metódus megkapja a WM_APPCOMMAND Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnAskCbFormatName

A keretrendszer meghívja ezt a tagfüggvényt, ha a vágólap a formátumhoz tartozó CF_OWNERDISPLAY leírót tartalmaz (vagyis amikor a vágólap tulajdonosa megjeleníti a vágólap tartalmát).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Paraméterek

nMaxCount
Megadja a másolandó bájtok maximális számát.

lpszString
Arra a pufferre mutat, amelyben a formátumnév másolatát tárolni kell.

Megjegyzések

A vágólap tulajdonosának meg kell adnia a formátum nevét.

Bírálja felül ezt a tagfüggvényt, és másolja a CF_OWNERDISPLAY formátum nevét a megadott pufferbe, ne lépje túl a megadott bájtok maximális számát.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCancelMode

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa CWnd a belső mód megszakításáról.

afx_msg void OnCancelMode();

Megjegyzések

Ha az CWnd objektum fókuszban van, a rendszer meghívja annak tagfüggvényét OnCancelMode , amikor megjelenik egy párbeszédpanel vagy üzenetmező. Ez lehetőséget ad az CWnd olyan módok megszakítására, mint az egérrögzítés.

Az alapértelmezett implementáció a ReleaseCapture Windows függvény meghívásával válaszol. Felülbírálja ezt a tagfüggvényt a származtatott osztályban más módok kezeléséhez.

CWnd::OnCaptureChanged

A keretrendszer meghívja ezt a tagfüggvényt, hogy értesítse az egérrögzítést elveszítő ablakot.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Paraméterek

pWnd
Egérrögzítéshez mutató az ablakhoz

Megjegyzések

Az ablak akkor is megkapja ezt az üzenetet, ha az ReleaseCapture meghívja magát. Egy alkalmazásnak nem szabad megkísérelnie az egérrögzítést az üzenetre válaszul beállítani. Amikor megkapja ezt az üzenetet, az ablaknak újra kell újulnia, ha szükséges, hogy tükrözze az új egérrögzítési állapotot.

A Windows-függvényről a ReleaseCapture Windows SDK-ból tájékozódhat.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnChangeCbChain

A keretrendszer meghívja ezt a tagfüggvényt a vágólapmegjelenítő lánc minden egyes ablakához, hogy értesítse arról, hogy egy ablak el van távolítva a láncból.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Paraméterek

hWndRemove
Megadja a vágólapmegjelenítő láncból eltávolított ablakfogópontot.

hWndAfter
Megadja a vágólapmegjelenítő láncból eltávolított ablakot követő ablakfogópontot.

Megjegyzések

Minden CWnd hívást fogadó OnChangeCbChain objektumnak a SendMessage Windows függvény használatával kell elküldenie az WM_CHANGECBCHAIN üzenetet a vágólapmegjelenítő lánc következő ablakába (a leíró által visszaadott SetClipboardViewerfogópontra). Ha hWndRemove a lánc következő ablaka, akkor a megadott hWndAfter ablak lesz a következő ablak, és a vágólap üzenetei kerülnek rá.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnChangeUIState

A felhasználói felület (UI) állapotának módosításakor hívható meg.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Paraméterek

nAction
Megadja a végrehajtandó műveletet. Az alábbi értékek egyike lehet:

  • UIS_CLEAR A felhasználói felület állapotelemének (a megadott nUIElement) rejtettnek kell lennie.

  • UIS_INITIALIZE A felhasználói felület állapotelemét (a megadott nUIElement) az utolsó bemeneti esemény alapján kell módosítani. További információkért lásd a Megjegyzések szakaszt WM_CHANGEUISTATE.

  • UIS_SET A felhasználói felület állapotelemének (a megadott nUIElement) láthatónak kell lennie.

nUIElement
Meghatározza, hogy mely felhasználói felületi állapotelemekre vagy a vezérlőelem stílusára van hatással. Az alábbi értékek egyike lehet:

  • UISF_HIDEACCEL Billentyűzetgyorsítók.

  • UISF_HIDEFOCUS Fókuszjelzők.

  • UISF_ACTIVE Windows XP: Az aktív vezérlőkhöz használt stílusban kell vezérlőelemet rajzolni.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az WM_CHANGEUISTATE üzenet funkcióit.

CWnd::OnChar

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy billentyűleütés nem rendszerkaraktere lesz.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A kulcs karakterkódértékét tartalmazza.

nRepCnt
Az ismétlések számát tartalmazza, azt, hogy a billentyűleütés hányszor ismétlődik, amikor a felhasználó lenyomja a kulcsot.

nFlags
A következő listában látható módon tartalmazza a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezetkódot:

Érték Meaning
0-15 Megadja az ismétlések számát. Az érték az a szám, amikor a felhasználó lenyomja a kulcsot, és a billentyűleütés ismétlődik.
16-23 A beolvasási kódot adja meg. Az érték az eredeti berendezés gyártójától (OEM) függ
24 Megadja, hogy a kulcs kiterjesztett kulcs-e, például a jobb oldali ALT és CTRL billentyűk, amelyek egy továbbfejlesztett 101 vagy 102 billentyűs billentyűzeten jelennek meg. Az érték 1, ha kiterjesztett kulcs; ellenkező esetben 0.
25-28 A Windows belsőleg használja.
29 Megadja a környezeti kódot. Az érték 1, ha az ALT billentyűt lenyomva tartja a billentyű lenyomása közben; ellenkező esetben az érték 0.
30 Az előző kulcsállapot megadása. Az érték 1, ha a kulcs le van állítva az üzenet elküldése előtt, vagy 0, ha a kulcs fel van állítva.
31 Az áttűnési állapotot adja meg. Az érték 1, ha a kulcs ki van adva, vagy 0, ha a kulcs le van nyomva.

Megjegyzések

Ezt a függvényt a rendszer a OnKeyUp tagfüggvény előtt és a tagfüggvény meghívása OnKeyDown után hívja meg. OnChar a lenyomott vagy kibocsátott billentyűzetkulcs értékét tartalmazza.

Mivel a lenyomott billentyűk és OnChar a generált hívások között nem feltétlenül áll fenn egy-az-egyhez levelezés, a benne lévő nFlags információk általában nem hasznosak az alkalmazások számára. A benne szereplő nFlags információk csak a tagfüggvény vagy a OnKeyUpOnKeyDown meghívást megelőző tagfüggvény legutóbbi hívására vonatkoznak OnChar.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet.nFlags

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCharToItem

Akkor hívjuk meg, LBS_WANTKEYBOARDINPUT ha egy stílust tartalmazó lista a tulajdonosának WM_CHARTOITEM üzenetet küld egy WM_CHAR üzenetre válaszul.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Paraméterek

nChar
A felhasználó által lenyomott kulcs értékét adja meg.

pListBox
A listamezőre mutató mutatót ad meg. Lehet, hogy ideiglenes.

nIndex
Az aktuális gondozási pozíciót adja meg.

Visszaadott érték

A keretrendszer meghívja ezt a tagfüggvényt, hogy meghatározza az alkalmazást a hívásra válaszul végrehajtott műveletet. A -2 visszatérési értéke azt jelzi, hogy az alkalmazás kezelte az elem kiválasztásának minden aspektusát, és nem szeretne további műveletet a listamezőben. A -1 visszatérési értéke azt jelzi, hogy a listamezőnek az alapértelmezett műveletet kell végrehajtania a billentyűleütésre válaszul. A 0 vagy annál nagyobb visszatérési érték a listamező egyik elemének nullaalapú indexét adja meg, és azt jelzi, hogy a listamezőnek végre kell hajtania az adott elem billentyűleütésének alapértelmezett műveletét.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnChildActivate

Ha az CWnd objektum több dokumentumfelületi (MDI) gyermekablak, akkor a keretrendszer meghívja, OnChildActivate amikor a felhasználó az ablak címsorára kattint, vagy amikor az ablak aktiválva, áthelyezve vagy méretezve van.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Ezt a tagfüggvényt az ablak szülőablaka hívja meg, amikor egy erre az ablakra vonatkozó értesítési üzenetet kap.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paraméterek

message
Egy szülőablakba küldött Windows-üzenetszám.

wParam
Az üzenethez társított wparam .

lParam
Az üzenethez társítottparam .

pLResult
A szülő ablakának eljárásából visszaadandó értékre mutató mutató. Ez a mutató akkor jelenik meg NULL , ha nem várható visszatérési érték.

Visszaadott érték

Nonzero, ha ez az ablak felelős a szülőjének küldött üzenet kezeléséért; egyéb esetben 0.

Megjegyzések

Soha ne hívja meg közvetlenül ezt a tagfüggvényt.

A tagfüggvény alapértelmezett implementációja 0 értéket ad vissza, ami azt jelenti, hogy a szülőnek kell kezelnie az üzenetet.

A tagfüggvény felülbírálása a vezérlő értesítési üzenetekre való válaszának módjának kibővítéséhez.

CWnd::OnClipboardUpdate

A keretrendszer meghívja ezt a tagfüggvényt, amikor a vágólap tartalma megváltozott.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

A keretrendszer ezt a tagfüggvényt úgy hívja meg, hogy az alkalmazás vagy az CWnd alkalmazás leáll.

afx_msg void OnClose();

Megjegyzések

Az alapértelmezett megvalósítási hívások DestroyWindow.

CWnd::OnColorizationColorChanged

A keretrendszer meghívja ezt a tagot, amikor a nemclient terület renderelési szabályzata megváltozott.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Paraméterek

dwColorizationColor
[in] Megadja az új színezőszínt. A színformátum a 0xAARRGGBB formátumú hexadecimális szám, ahol a négy összetevő mindegyike 0x00 és 0xFF között mozog. Az AA-összetevő az alfa érték, az RR a piros szín, a GG zöld, a BB pedig kék.

bOpacity
[in] TRUE ha az új színt átlátszatlansággal keverik; FALSE ha nem.

Megjegyzések

Ez a metódus megkapja a WM_DWMNCRENDERINGCHANGED Windows SDK-ban leírt értesítési üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCommand

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó kiválaszt egy elemet egy menüből, amikor egy gyermekvezérlő értesítési üzenetet küld, vagy amikor egy gyorsítóbillentyűt lefordítanak.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

wParam
Az alacsonyrendű szó wParam azonosítja a menüelem, vezérlő vagy gyorsító parancsazonosítóját. A magasrendű szó wParam adja meg az értesítési üzenetet, ha az üzenet vezérlőelemből származik. Ha az üzenet egy gyorsítóból származik, a magasrendű szó 1. Ha az üzenet egy menüből származik, a magasrendű szó 0.

lParam
Azonosítja az üzenetet küldő vezérlőt, ha az üzenet vezérlőből származik. lParam Ellenkező esetben 0.

Visszaadott érték

Ha egy alkalmazás feldolgozza ezt az üzenetet, a nonzero értéket adja vissza; egyéb esetben 0.

Megjegyzések

OnCommand feldolgozza az üzenettérképet a vezérlőértesítésekhez és ON_COMMAND bejegyzésekhez, és meghívja a megfelelő tagfüggvényt.

Bírálja felül ezt a tagfüggvényt a származtatott osztályban az WM_COMMAND üzenet kezeléséhez. A felülbírálás csak az alaposztály OnCommand meghívása után dolgozza fel az üzenettérképet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCompacting

A keretrendszer meghívja ezt a tagfüggvényt az összes felső szintű ablakhoz, amikor a Windows észleli, hogy a rendszeridő több mint 12,5%-a 30–60 másodperces időközön keresztül a memória tömörítését tölti.

afx_msg void OnCompacting(UINT nCpuTime);

Paraméterek

nCpuTime
Meghatározza, hogy a Windows által a memória tömörítése által jelenleg töltött processzoridő és a más műveletek végrehajtásával töltött processzoridő arányát adja meg. A 8000 óra például a memória tömörítésével töltött processzoridő 50 százalékát jelenti.

Megjegyzések

Ez azt jelzi, hogy a rendszermemória alacsony.

Amikor egy CWnd objektum megkapja ezt a hívást, a lehető legtöbb memóriát szabadít fel, figyelembe véve az alkalmazás aktuális aktivitási szintjét és a Windows rendszerben futó alkalmazások teljes számát. Az alkalmazás meghívhatja a Windows függvényt annak meghatározásához, hogy hány alkalmazás fut.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCompareItem

A keretrendszer meghívja ezt a tagfüggvényt egy új elem relatív pozíciójának megadásához egy gyermek rendezésű tulajdonos-rajz kombinált vagy listamezőben.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Paraméterek

nIDCtl
Az üzenetet küldő WM_COMPAREITEM vezérlő azonosítója.

lpCompareItemStruct
Hosszú mutatót tartalmaz egy COMPAREITEMSTRUCT adatstruktúrára, amely a kombinált vagy listamező két elemének azonosítóit és alkalmazás által megadott adatait tartalmazza.

Visszaadott érték

A két elem relatív pozícióját jelzi. Az alábbi értékek bármelyike lehet:

Érték Meaning
-1 Az 1. elem rendezi a 2. elemet.
0 Az 1. és a 2. elem ugyanúgy rendezi a elemet.
1 Az 1. elem a 2. elem után rendez.

Megjegyzések

Ha egy kombinált vagy listamezőt a stílussal vagy LBS_SORT stílussal CBS_SORT hoz létre, a Windows üzenetet küld a kombinált lista vagy lista tulajdonosánakWM_COMPAREITEM, amikor az alkalmazás új elemet ad hozzá.

A kombinált lista vagy listamező két eleme egy olyan struktúrában COMPAREITEMSTRUCT van átformázva, amely lpCompareItemStructa következőre mutat: . OnCompareItem olyan értéket kell visszaadnia, amely jelzi, hogy az elemek közül melyik jelenjen meg a másik előtt. A Windows általában többször is meghívja ezt a hívást, amíg meg nem határozza az új elem pontos helyét.

Ha a hwndItemCOMPAREITEMSTRUCT struktúra tagja egy vagy CComboBox több CListBox objektumhoz tartozik, a rendszer meghívja a CompareItem megfelelő osztály virtuális függvényét. Felülbírálhatja CComboBox::CompareItem a CListBox::CompareItem származtatott CListBox vagy CComboBox az osztályban lévő elemek összehasonlítását.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCompositionChanged

A keretrendszer meghívja ezt a tagfüggvényt az összes felső szintű ablakhoz, ha az Asztali ablakkezelő (DWM) összetétele engedélyezve van vagy le van tiltva.

afx_msg void OnCompositionChanged();

Megjegyzések

Ez a metódus megkapja a WM_DWMCOMPOSITIONCHANGED Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnContextMenu

A keretrendszer meghívta, amikor a felhasználó a jobb egérgombra kattintott (jobb gombbal kattintott) az ablakban.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Paraméterek

pWnd
Vigye azt az ablakot, amelyben a felhasználó a jobb gombbal az egérre kattintott. Ez lehet az üzenet fogadó ablakának gyermekablaka. Az üzenet feldolgozásával kapcsolatos további információkért lásd a Megjegyzések szakaszt.

pos
A kurzor pozíciója a képernyő koordinátáiban, az egér kattintásának időpontjában.

Megjegyzések

Ezt az üzenetet úgy tudja feldolgozni, hogy megjelenít egy helyi menüt a TrackPopupMenu.

Ha nem jelenít meg helyi menüt, adja át ezt az üzenetet a DefWindowProc függvénynek. Ha az ablak gyermekablak, DefWindowProc az üzenetet a szülőnek küldi el. Ellenkező esetben egy alapértelmezett helyi menüt jelenít meg, DefWindowProc ha a megadott pozíció az ablak feliratában van.

CWnd::OnCopyData

Ezt a tagfüggvényt a keretrendszer meghívja, hogy adatokat másoljon az egyik alkalmazásból a másikba.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Paraméterek

pWnd
Az adatokat küldő objektumra mutató mutató CWnd .

pCopyDataStruct
Az elküldött adatokat tartalmazó struktúra mutatója COPYDATASTRUCT .

Visszaadott érték

Visszaadja TRUE , ha a fogadó alkalmazás sikeresen elfogadja az adatokat. Ellenkező esetben FALSEad vissza.

Megjegyzések

Az átadott adatok nem tartalmazhatnak az adatokat fogadó alkalmazás számára nem elérhető objektumokra mutató vagy egyéb hivatkozásokat.

Amíg az adatok másolása folyamatban van, azokat nem módosíthatja a küldési folyamat másik szála.

A fogadó alkalmazásnak csak olvasható adatokat kell figyelembe vennie. A paraméter pCopyDataStruct által mutatott struktúra csak az adatok átvitele során érvényes, a fogadó alkalmazásnak azonban nem szabadíthatja fel a struktúrához társított memóriát.

Ha a fogadó alkalmazásnak a függvény visszatérése után hozzá kell férnie az adatokhoz, a kapott adatokat egy helyi pufferbe kell másolnia.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCreate

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy alkalmazás a Windows-ablak létrehozását kéri a vagy CreateEx tagfüggvény Create meghívásával.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Paraméterek

lpCreateStruct
Egy olyan struktúrára CREATESTRUCT mutat, amely információkat tartalmaz a CWnd létrehozott objektumról.

Visszaadott érték

OnCreate 0 értéket kell visszaadnia az objektum létrehozásának CWnd folytatásához. Ha az alkalmazás -1 értéket ad vissza, az ablak megsemmisül.

Megjegyzések

Az CWnd objektum az ablak létrehozása után, de még azelőtt fogadja ezt a hívást, hogy az láthatóvá válik. OnCreatea függvényt a függvény vagy CreateEx a Create tag függvény visszatérése előtt hívjuk meg.

Felülbírálja ezt a tagfüggvényt egy származtatott osztály szükséges inicializálásához.

A CREATESTRUCT struktúra az ablak létrehozásához használt paraméterek másolatait tartalmazza.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnCtlColor

A keretrendszer akkor hívja meg ezt a tagfüggvényt, amikor egy gyermekvezérlő készül lerajzolásra.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Paraméterek

pDC
A gyermekablak megjelenítési környezetére mutató mutatót tartalmaz. Lehet, hogy ideiglenes.

pWnd
A színt kérő vezérlőelemre mutató mutatót tartalmaz. Lehet, hogy ideiglenes.

nCtlColor
Az alábbi értékek egyikét tartalmazza a vezérlő típusának megadásával:

  • CTLCOLOR_BTN Gombvezérlő

  • CTLCOLOR_DLG Párbeszédpanel

  • CTLCOLOR_EDIT Vezérlő szerkesztése

  • CTLCOLOR_LISTBOX Listamező vezérlőelem

  • CTLCOLOR_MSGBOX Üzenetmező

  • CTLCOLOR_SCROLLBAR Görgetősáv vezérlőelem

  • CTLCOLOR_STATIC Statikus vezérlő

Visszaadott érték

OnCtlColor vissza kell adni egy fogópontot a kefére, amelyet a vezérlőháttér festéséhez kell használni.

Megjegyzések

A legtöbb vezérlő elküldi ezt az üzenetet a szülőjének (általában egy párbeszédpanelnek), hogy előkészítse a pDC vezérlő megfelelő színekkel való rajzolására.

A szöveg színének módosításához hívja meg a SetTextColor tagfüggvényt a kívánt piros, zöld és kék (RGB) értékekkel.

Az egysoros szerkesztési vezérlő háttérszínének módosításához állítsa be az ecsetfogópontot az üzenetkódokban és CTLCOLOR_MSGBOX az CTLCOLOR_EDIT üzenetkódokban is, és hívja meg a CDC::SetBkColor függvényt a CTLCOLOR_EDIT kódra válaszul.

OnCtlColor nem lesz meghívva egy legördülő lista listamezője, mert a legördülő lista valójában a kombinált lista gyermeke, nem pedig az ablak gyermeke. A legördülő lista színének módosításához hozzon létre egy CComboBox felülbírálást OnCtlColor a CTLCOLOR_LISTBOX paraméterben nCtlColor . Ebben a kezelőben a SetBkColor tagfüggvényt kell használni a szöveg háttérszínének beállításához.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket. Ha a következő metódust szeretné hozzáadni a párbeszédpanel-osztályhoz, a Visual Studio tulajdonságok paneljén adjon hozzá egy üzenetkezelőt a következőhöz WM_CTLCOLOR: . Másik lehetőségként manuálisan is hozzáadhat egy bejegyzést ON_WM_CTLCOLOR() az üzenettérképhez.

Example

// 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

A keretrendszer meghívja ezt a tagfüggvényt a OnKeyUp tagfüggvény és a OnKeyDown tagfüggvények meghívásakor.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A holtkulcs karakterértékét adja meg.

nRepCnt
Megadja az ismétlések számát.

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Description
0-7 Kód beolvasása (OEM-függő érték). Kis bájtnyi magasrendű szó.
8 Kiterjesztett kulcs, például függvénykulcs vagy a numerikus billentyűzeten lévő kulcs (1, ha kiterjesztett kulcs; egyébként 0).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja, ellenkező esetben 0).
14 Előző kulcsállapot (1, ha a kulcs le van állítva a hívás előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Megjegyzések

Ez a tagfüggvény egy halott kulcs karakterértékének megadására használható. A halott kulcs egy kulcs, például az umlaut (dupla pont) karakter, amely más karakterekkel kombinálva összetett karaktert alkot. Az umlaut-O karakter például a halott kulcsból, az umlautból és az O-kulcsból áll.

Az alkalmazások általában arra szolgálnak OnDeadChar , hogy visszajelzést adjanak a felhasználónak az egyes lenyomott kulcsokról. Egy alkalmazás például a jelölőszínt az aktuális karakterpozícióban jelenítheti meg a simító mozgatása nélkül.

Mivel a lenyomott billentyűk és OnDeadChar a hívások között nem feltétlenül van egy-az-egyhez levelezés, a benne lévő nFlags információk általában nem hasznosak az alkalmazások számára. A benne szereplő nFlags információk csak a tagfüggvény vagy a OnKeyUpOnKeyDown hívást megelőző tagfüggvény legutóbbi hívására vonatkoznak OnDeadChar .

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet.nFlags

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnDeleteItem

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa a tulajdonos-rajz lista vagy kombinált lista tulajdonosát arról, hogy a lista vagy kombinált lista megsemmisül, vagy hogy az elemeket eltávolították CComboBox::DeleteStringa , CListBox::DeleteStringvagy CComboBox::ResetContentCListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Paraméterek

nIDCtl
Az üzenetet küldő WM_DELETEITEM vezérlő azonosítója.

lpDeleteItemStruct
Hosszú mutatót ad meg egy DELETEITEMSTRUCT olyan adatstruktúrához, amely a törölt listaelem adatait tartalmazza.

Megjegyzések

Ha a hwndItemDELETEITEMSTRUCT struktúra tagja egy kombinált listához vagy listamezőhöz tartozik, akkor a rendszer meghívja a DeleteItem megfelelő osztály virtuális függvényét. Felülbírálja a DeleteItem megfelelő vezérlőelem osztályának tagfüggvényét az elemspecifikus adatok törléséhez.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnDestroy

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa az CWnd objektumot a megsemmisítésről.

afx_msg void OnDestroy();

Megjegyzések

OnDestroy az objektum a képernyőről való eltávolítása után CWnd lesz meghívva.

OnDestroy először az CWnd elpusztított, majd a gyermekablakok CWnd , ahogy azok megsemmisülnek. Feltételezhető, hogy a gyermekablakok továbbra is léteznek futás közben OnDestroy .

Ha a CWnd megsemmisített objektum a vágólap-megtekintő lánc része (a tagfüggvény meghívásával SetClipboardViewer van beállítva), a CWnd tagfüggvény meghívásával ChangeClipboardChain el kell távolítania magát a vágólap-megtekintő láncból, mielőtt visszatér a OnDestroy függvényből.

CWnd::OnDestroyClipboard

A keretrendszer meghívja ezt a tagfüggvényt a vágólap tulajdonosának, amikor a vágólap kiürítése a EmptyClipboard Windows függvény hívásán keresztül történik.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

A keretrendszer meghívja ezt a tagfüggvényt, hogy értesítse az alkalmazást vagy az eszközillesztőt az eszköz vagy a számítógép hardverkonfigurációjának módosításáról.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Paraméterek

nEventType
Eseménytípus. Az elérhető értékek leírását a Megjegyzések szakaszban találja

dwData
Eseményspecifikus adatokat tartalmazó struktúra címe. Jelentése az adott eseménytől függ.

Megjegyzések

Az olyan eszközök esetében, amelyek szoftveresen vezérelhető funkciókat, például a kiírást és a zárolást kínálnak, az operációs rendszer általában üzenetet DBT_DEVICEREMOVEPENDING küld, hogy az alkalmazások és az eszközillesztők zökkenőmentesen fejezzék be az eszköz használatát.

Ha az operációs rendszer erőteljesen eltávolít egy eszközt, előfordulhat, hogy előtte nem küld DBT_DEVICEQUERYREMOVE üzenetet.

A nEvent paraméter az alábbi értékek egyike lehet:

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnDevModeChange

A keretrendszer meghívja ezt a tagfüggvényt az összes legfelső szintű CWnd objektumhoz, amikor a felhasználó módosítja az eszközmód beállításait.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Paraméterek

lpDeviceName
A Windows inicializálási fájljában megadott eszköznévre mutat. WIN.INI

Megjegyzések

Az üzenetet kezelő WM_DEVMODECHANGE alkalmazások újrainicializálhatják az eszközmód beállításait. Azok az alkalmazások, amelyek a Windows-függvényt ExtDeviceMode használják az eszközbeállítások mentésére és visszaállítására, általában nem dolgozzák fel ezt a függvényt.

Ez a függvény nem lesz meghívva, ha a felhasználó módosítja az alapértelmezett nyomtatót a Vezérlőpultról. Ebben az esetben a OnWinIniChange függvény neve.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnDrawClipboard

A keretrendszer meghívja ezt a tagfüggvényt a vágólap-megtekintő lánc minden egyes ablakához, amikor a vágólap tartalma megváltozik.

afx_msg void OnDrawClipboard();

Megjegyzések

Erre a hívásra csak azok az alkalmazások válaszolnak, amelyek csatlakoztak a vágólapmegjelenítő lánchoz a SetClipboardViewer tagfüggvény meghívásával.

Minden egyes hívást fogadó OnDrawClipboard ablaknak meg kell hívnia a SendMessage Windows függvényt WM_DRAWCLIPBOARD , hogy egy üzenetet továbbítsa a vágólap-megtekintő lánc következő ablakának. A következő ablak leíróját a SetClipboardViewer tagfüggvény adja vissza; a tagfüggvény hívására OnChangeCbChain válaszul módosítható.

CWnd::OnDrawIconicThumbnailOrLivePreview

A keretrendszer meghívja, ha bitképet kell beszereznie, hogy megjelenjen a Windows 7 lap miniatűrjén, vagy az ügyfélen az alkalmazás betekintéséhez.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Paraméterek

dc
Megadja az eszközkörnyezetet.

rect
A renderelendő terület határoló téglalapját adja meg.

szRequiredThumbnailSize
A cél miniatűr méretét adja meg. Ha igen, figyelmen kívül kell hagynibIsThumbnail.FALSE

bIsThumbnail
Megadja, hogy ez a metódus ikonikus miniatűr vagy élő előnézet (betekintő) legyen-e meghívva.

bAlphaChannelSet
[kifelé] Állítsa be úgy, hogy TRUE az implementáció inicializálja a kiválasztott bitkép alfa csatornáját dc.

Megjegyzések

Bírálja felül ezt a metódust egy származtatott osztályban, és rajzoljon a megadott eszközkörnyezetre a miniatűrök és a betekintő testreszabásához. Ha bThumbnail igen TRUE, szRequiredThumbnailSize figyelmen kívül hagyható. Ebben az esetben tisztában kell lennie azzal, hogy teljes méretű bitképet rajzol (vagyis egy olyan bitképet, amely a teljes ügyfélterületet lefedi). Az eszközkörnyezet (dc) a kiválasztott 32 bites bitképet tartalmaz. Az alapértelmezett implementáció ebbe az ablakba küld WM_PRINT , PRF_CHILDRENés PRF_NONCLIENT jelölőkkelPRF_CLIENT.

CWnd::OnDrawItem

A keretrendszer meghívja ezt a tagfüggvényt egy tulajdonos-rajz gomb vezérlőelem, kombinált lista vezérlőelem, listavezérlő vagy menü tulajdonosának, ha a vezérlő vagy menü vizuális aspektusa megváltozott.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Paraméterek

nIDCtl
Az üzenetet küldő vezérlő azonosítóját WM_DRAWITEM tartalmazza. Ha egy menü elküldte az üzenetet, nIDCtl 0-t tartalmaz.

lpDrawItemStruct
Hosszú mutatót ad meg egy DRAWITEMSTRUCT adatstruktúrához, amely a megrajzolandó elem adatait és a szükséges rajztípust tartalmazza.

Megjegyzések

A itemAction struktúra tagja DRAWITEMSTRUCT határozza meg a végrehajtandó rajzműveletet. A tag adatai lehetővé teszik a vezérlő tulajdonosának, hogy meghatározza, milyen rajzműveletre van szükség.

Az üzenet feldolgozásából való visszatérés előtt az alkalmazásnak biztosítania kell, hogy a hDC struktúra tagja DRAWITEMSTRUCT által azonosított eszközkörnyezet az alapértelmezett állapotba kerüljön.

Ha a hwndItem tag egy CButton, CMenu, , CListBoxvagy CComboBox objektumhoz tartozik, a rendszer meghívja a DrawItem megfelelő osztály virtuális függvényét. Felülbírálja a DrawItem megfelelő vezérlőelem osztályának tagfüggvényét az elem rajzolásához.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnDropFiles

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó a bal egérgombot egy olyan ablakban oldja fel, amely regisztrálta magát az elvetett fájlok címzettjeként.

afx_msg void OnDropFiles(HDROP hDropInfo);

Paraméterek

hDropInfo
Az elvetett fájlokat leíró belső adatstruktúra mutatója. Ezt a leírót használja a , DragQueryFileés DragQueryPoint a DragFinishWindows függvény az elvetett fájlok adatainak lekéréséhez.

Megjegyzések

A származtatott osztályokat általában úgy tervezik meg, hogy támogassák az elvetett fájlokat, és regisztrálja magát az ablaképítés során.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEnable

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy alkalmazás módosítja az CWnd objektum engedélyezett állapotát.

afx_msg void OnEnable(BOOL bEnable);

Paraméterek

bEnable
Megadja, hogy az CWnd objektum engedélyezve van-e vagy le van-e tiltva. Ez a paraméter akkor van TRUE engedélyezve, FALSE ha a CWnd paraméter le van tiltvaCWnd.

Megjegyzések

OnEnable a rendszer a EnableWindow tagfüggvény visszatérése előtt hívja meg, de miután az ablak engedélyezett állapota (WS_DISABLED stílusbit) megváltozott.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEndSession

A keretrendszer meghívja ezt a tagfüggvényt, miután az CWnd objektum nemero értéket adott vissza egy OnQueryEndSession tagfüggvény-hívásból.

afx_msg void OnEndSession(BOOL bEnding);

Paraméterek

bEnding
Megadja, hogy a munkamenet befejeződik-e. TRUE Ha a munkamenet befejeződött, ellenkező esetbenFALSE.

Megjegyzések

A OnEndSession hívás tájékoztatja az CWnd objektumot, hogy a munkamenet ténylegesen véget ér-e.

Ha bEnding igen, a TRUEWindows bármikor leállhat, miután az összes alkalmazás visszatért a hívás feldolgozásából. Következésképpen egy alkalmazás végrehajtja a felmondáshoz szükséges összes feladatot a következőn belül OnEndSession: .

A munkamenet befejezésekor nem kell meghívnia a DestroyWindow tagfüggvényt vagy PostQuitMessage a Windows-függvényt.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEnterIdle

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa az alkalmazás főablakának eljárását arról, hogy egy modális párbeszédpanel vagy menü üresjárati állapotba kerül.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Paraméterek

nWhy
Megadja, hogy az üzenet egy párbeszédpanel vagy egy megjelenített menü eredménye-e. Ez a paraméter a következő értékek egyike lehet:

  • MSGF_DIALOGBOX A rendszer tétlen, mert egy párbeszédpanel jelenik meg.

  • MSGF_MENU A rendszer tétlen, mert egy menü jelenik meg.

pWho
A párbeszédpanelre mutató mutatót (ha nWhy van MSGF_DIALOGBOX) vagy a megjelenített menüt tartalmazó ablakot (ha nWhy van MSGF_MENU). Előfordulhat, hogy ez a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A modális párbeszédpanelek vagy menük tétlen állapotba kerülnek, ha egy vagy több korábbi üzenet feldolgozása után egyetlen üzenet sem várakozik az üzenetsorában.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEnterMenuLoop

A keretrendszer meghívja ezt a tagfüggvényt egy menü modális ciklusának megadásakor.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Paraméterek

bIsTrackPopupMenu
Megadja, hogy az érintett menü előugró menü-e. Nemero értékű, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEnterSizeMove

A keretrendszer ezt a tagfüggvényt egyszer hívja meg, miután az érintett ablak egy mozgó vagy méretezési modális ciklust lép be.

afx_msg void OnEnterSizeMove();

Megjegyzések

Ez a metódus megkapja a WM_ENTERSIZEMOVE Windows SDK-ban leírt értesítést.

Az ablak egy mozgó vagy méretezési modális hurkot ad meg, amikor a felhasználó az ablak címsorára vagy a méretezési szegélyre kattint, vagy amikor az ablak átadja az WM_SYSCOMMAND üzenetet a CWnd::DefWindowProc függvénynek, és az üzenet wParam paramétere megadja SC_MOVE vagy SC_SIZE.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnEraseBkgnd

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha az CWnd objektum hátterének törlésre van szüksége (például átméretezéskor).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Paraméterek

pDC
Az eszköz-környezet objektumot adja meg.

Visszaadott érték

Nonzero, ha törli a hátteret; egyéb esetben 0.

Megjegyzések

A rendszer arra kéri, hogy készítsen elő egy érvénytelenített régiót a festéshez.

Az alapértelmezett implementáció az ablakosztály-struktúra tagja által megadott ablakosztály háttérkefével törli a hbrBackground hátteret.

Ha a hbrBackground tag az NULL, akkor a felülírt verziónak törölnie OnEraseBkgnd kell a háttérszínt. A verziónak a tervezett ecset eredetét is össze kell hangolnia a CWnd koordinátákkal. Ehhez először hívja UnrealizeObject meg az ecsetet, majd válassza ki az ecsetet.

Egy felülírtnak OnEraseBkgnd vissza kell adnia a nonzero-t WM_ERASEBKGND , ha feldolgozza az üzenetet, és törli a hátteret; ez azt jelzi, hogy nincs szükség további törlésre. Ha 0 értéket ad vissza, az ablak törlésre szorulóként lesz megjelölve. (Ez általában azt jelenti, hogy a fErasePAINTSTRUCT struktúra tagja . TRUE)

A Windows feltételezi, hogy a háttér a leképezési MM_TEXT móddal van kiszámítva. Ha az eszközkörnyezet más leképezési módot használ, előfordulhat, hogy a törölt terület nem az ügyfélterület látható részén belül van.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnExitMenuLoop

A keretrendszer meghívja ezt a tagfüggvényt egy menü modális ciklusának kilépésekor.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Paraméterek

bIsTrackPopupMenu
Megadja, hogy az érintett menü előugró menü-e. Nemero értékű, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnExitSizeMove

A keretrendszer egyszer meghívja ezt a tagfüggvényt, miután az érintett ablak kilép egy mozgó vagy méretezési modális ciklusból.

afx_msg void OnExitSizeMove();

Megjegyzések

Ez a metódus megkapja a WM_EXITSIZEMOVE Windows SDK-ban leírt értesítést.

Az ablak egy mozgó vagy méretezési modális hurkot ad meg, amikor a felhasználó az ablak címsorára vagy a méretezési szegélyre kattint, vagy amikor az ablak átadja az WM_SYSCOMMAND üzenetet a CWnd::DefWindowProc függvénynek, és az wParam üzenet paramétere megadja SC_MOVE vagy SC_SIZE.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnFontChange

A rendszer összes felső szintű ablaka hívást kap OnFontChange a keretrendszertől, miután az alkalmazás módosította a betűtípus-erőforrások készletét.

afx_msg void OnFontChange();

Megjegyzések

Egy olyan alkalmazásnak, amely betűtípusokat ad hozzá vagy távolít el a rendszerből (például a windowsos vagy RemoveFontResource a AddFontResource windowsos függvényen keresztül) minden felső szintű ablaknak el kell küldenie az WM_FONTCHANGE üzenetet.

Az üzenet elküldéséhez használja a SendMessage Windows függvényt a hWnd következő paraméterrel HWND_BROADCAST: .

CWnd::OnGetDlgCode

Vezérlőt kért, hogy a vezérlő feldolgozhassa magát a nyílbillentyűt és a TAB billentyűt.

afx_msg UINT OnGetDlgCode();

Visszaadott érték

Az alábbi értékek közül legalább egy jelzi, hogy az alkalmazás milyen típusú bemenetet dolgoz fel:

  • DLGC_BUTTON Gomb (általános).

  • DLGC_DEFPUSHBUTTON Alapértelmezett leküldéses gomb.

  • DLGC_HASSETSEL EM_SETSEL Üzenetek.

  • DLGC_UNDEFPUSHBUTTON Nincs alapértelmezett leküldéses feldolgozás. (Egy alkalmazás ezzel a jelzővel DLGC_BUTTON jelezheti, hogy feldolgozza a gombbemenetet, de a rendszerre támaszkodik az alapértelmezett leküldéses feldolgozáshoz.)

  • DLGC_RADIOBUTTON Választógomb.

  • DLGC_STATIC Statikus vezérlő.

  • DLGC_WANTALLKEYS Minden billentyűzetbemenet.

  • DLGC_WANTARROWS Nyilakkal.

  • DLGC_WANTCHARS WM_CHAR Üzenetek.

  • DLGC_WANTMESSAGE Minden billentyűzetbemenet. Az alkalmazás átadja ezt az üzenetet a vezérlőnek.

  • DLGC_WANTTAB TAB billentyű.

Megjegyzések

A Windows általában minden nyílbillentyűt és TAB billentyűt kezel egy CWnd vezérlőelemhez. Felül kell bírálnia OnGetDlgCode, hogy egy CWnd vezérlő kiválaszthat egy adott típusú bemenetet, hogy feldolgozhassa magát.

Az előre definiált vezérlőosztályok alapértelmezett OnGetDlgCode függvényei az egyes osztályoknak megfelelő kódot ad vissza.

CWnd::OnGetMinMaxInfo

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a Windowsnak ismernie kell a maximális pozíciót vagy dimenziókat, illetve a minimális vagy maximális követési méretet.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Paraméterek

lpMMI
Egy olyan struktúrára MINMAXINFO mutat, amely információkat tartalmaz egy ablak maximális méretéről és helyzetéről, valamint minimális és maximális követési méretéről. Erről a struktúráról további információt a struktúrában MINMAXINFO talál.

Megjegyzések

A teljes méret az ablak mérete, ha a szegélyek teljes mértékben ki vannak bővítve. Az ablak maximális követési mérete a legnagyobb ablakméret, amely a szegélyek használatával érhető el az ablak méretéhez. Az ablak minimális követési mérete a legkisebb ablakméret, amely a szegélyek használatával érhető el az ablak méretéhez.

A Windows egy ponttömböt tölt ki, amely a különböző pozíciók és dimenziók alapértelmezett értékeit adja meg. Az alkalmazás módosíthatja ezeket az értékeket a következőben OnGetMinMaxInfo: .

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnHelp

Kezeli az F1 súgóját az alkalmazásban (az aktuális környezet használatával).

afx_msg void OnHelp();

Megjegyzések

További információért lásd a CWinApp::OnHelp jelű részt.

CWnd::OnHelpFinder

Kezeli a parancsokat és ID_DEFAULT_HELP a ID_HELP_FINDER parancsokat.

afx_msg void OnHelpFinder();

Megjegyzések

További információért lásd a CWinApp::OnHelpFinder jelű részt.

CWnd::OnHelpIndex

Kezeli a ID_HELP_INDEX parancsot, és egy alapértelmezett súgótémakört biztosít.

afx_msg void OnHelpIndex();

Megjegyzések

További információért lásd a CWinApp::OnHelpIndex jelű részt.

CWnd::OnHelpInfo

A keretrendszer meghívja, amikor a felhasználó lenyomja az F1 billentyűt.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Paraméterek

lpHelpInfo
Mutasson egy HELPINFO olyan struktúrára, amely információkat tartalmaz a menüelemről, vezérlőelemről, párbeszédpanelről vagy ablakról, amelyhez segítséget kérnek.

Visszaadott érték

Azt adja TRUE vissza, hogy egy ablakban van-e a billentyűzetfókusz, vagy ha egy menü aktív egy ablakban. Ha egy ablak sem rendelkezik a billentyűzetfókuszával, akkor a függvény a következőt adja FALSEvissza:

Megjegyzések

Ha az F1 billentyű lenyomásakor egy menü aktív, WM_HELP a rendszer a menühöz társított ablakba küldi, ellenkező esetben WM_HELP a billentyűzetfókuszú ablakba kerül. Ha egyetlen ablak sem rendelkezik a billentyűzetfókuszával, WM_HELP a rendszer az aktuálisan aktív ablakba küldi.

CWnd::OnHelpUsing

Kezeli a ID_HELP_USING parancsot.

afx_msg void OnHelpUsing();

Megjegyzések

További információért lásd a CWinApp::OnHelpUsing jelű részt.

CWnd::OnHotKey

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó egy rendszerszintű gyorsbillentyűt lenyom.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Paraméterek

nHotKeyId
[in] Az üzenetet létrehozó gyorsbillentyű azonosítója. Ha az üzenetet egy rendszer által definiált gyorsbillentyű hozta létre, ez a paraméter az alábbi értékek egyike lesz:

  • IDHOT_SNAPDESKTOP - A dokkolt asztali gyorsbillentyűt lenyomták.
  • IDHOT_SNAPWINDOW - A dokkolt ablak gyorsbillentyűje be volt nyomva.

nKey1
[in] A jelzők bitenkénti kombinációja (OR), amely a paraméter által nKey2 megadott kulccsal együtt lenyomott kulcsokat jelzi. A lehetséges értékek a következők:

  • MOD_ALT - Bármelyik ALT billentyűt lenyomva tartotta.
  • MOD_CONTROL - Vagy a CTRL billentyűt lenyomva tartotta.
  • MOD_SHIFT - Vagy a SHIFT billentyűt lenyomva tartották.
  • MOD_WIN - Bármelyik WINDOWS-kulcsot lenyomva tartotta. Ezek a kulcsok a Microsoft Windows emblémával vannak megjelölve.

nKey2
[in] A gyorsbillentyű virtuális kulcskódja.

Megjegyzések

Ez a metódus megkapja a WM_HOTKEY Windows SDK-ban leírt értesítést. Ez az üzenet a gyorsbillentyűt regisztráló szálhoz társított üzenetsor tetején található. A függvény használatával RegisterHotKey regisztrálhat egy rendszerszintű gyorsbillentyűt.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnHScroll

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó egy ablak vízszintes görgetősávjára kattint.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Paraméterek

nSBCode
Egy görgetősáv-kódot ad meg, amely a felhasználó görgetési kérését jelzi. Ez a paraméter a következők egyike lehet:

  • SB_LEFT Görgessen balra.

  • SB_ENDSCROLL Görgetés vége.

  • SB_LINELEFT Görgessen balra.

  • SB_LINERIGHT Görgessen jobbra.

  • SB_PAGELEFT Görgetés egy oldallal balra.

  • SB_PAGERIGHT Görgessen jobbra egy oldalt.

  • SB_RIGHT Görgessen jobbra.

  • SB_THUMBPOSITION Görgessen abszolút pozícióba. Az aktuális pozíciót a nPos paraméter határozza meg.

  • SB_THUMBTRACK Húzza a görgetődobozt a megadott helyre. Az aktuális pozíciót a nPos paraméter határozza meg.

nPos
A görgetődoboz pozícióját adja meg, ha a görgetősáv kódja vagy SB_THUMBPOSITIONSB_THUMBTRACK– ellenkező esetben – nincs használatban. A kezdeti görgetési tartománytól függően negatív lehet, nPos és szükség esetén át kell helyezni.int

pScrollBar
Ha a görgetőüzenet egy görgetősáv-vezérlőből származik, a vezérlőre mutató mutatót tartalmaz. Ha a felhasználó egy ablak görgetősávjára kattintott, ez a paraméter.NULL Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A SB_THUMBTRACK görgetősáv kódját általában olyan alkalmazások használják, amelyek visszajelzést adnak a görgetőmező húzása közben.

Ha egy alkalmazás görgeti a görgetősáv által vezérelt tartalmat, akkor a görgetőmező helyét is alaphelyzetbe kell állítania a SetScrollPos tagfüggvénnyel.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

Example

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

A vágólap tulajdonosának tagfüggvényét a vágólap megtekintője OnHScrollClipboard hívja meg, ha a vágólap adatainak CF_OWNERDISPLAY formátuma a vágólap megtekintőjének vízszintes görgetősávján van.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Paraméterek

pClipAppWnd
Egy vágólapmegjelenítő ablakra mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

nSBCode
Az alábbi görgetősáv-kódok egyikét adja meg az alacsonyrendű szóban:

  • SB_BOTTOM Görgessen jobbra lefelé.

  • SB_ENDSCROLL Görgetés vége.

  • SB_LINEDOWN Görgessen le egy sort.

  • SB_LINEUP Görgetés egy sorban felfelé.

  • SB_PAGEDOWN Görgessen le egy oldalt lefelé.

  • SB_PAGEUP Görgetés egy oldallal feljebb.

  • SB_THUMBPOSITION Görgessen az abszolút pozícióhoz. Az aktuális pozíció a következőben nPosvan megadva: .

  • SB_TOP Görgessen a bal felső sarokba.

nPos
A görgetődoboz pozícióját tartalmazza, ha a görgetősáv kódja ; SB_THUMBPOSITIONegyébként nem használható.

Megjegyzések

A tulajdonosnak görgetnie kell a vágólap képét, érvénytelenítenie kell a megfelelő szakaszt, és frissítenie kell a görgetősáv értékeit.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnIconEraseBkgnd

A keretrendszer ezt a tagfüggvényt egy kisméretű (ikonikus) CWnd objektumnak hívja, amikor az ikon hátterét meg kell tölteni az ikon festése előtt.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Paraméterek

pDC
Az ikon eszközkörnyezeti objektumát adja meg. Lehet, hogy ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

CWnd ezt a hívást csak akkor kapja meg, ha az ablak alapértelmezett implementációjának osztályikonja van definiálva; más néven OnEraseBkgnd .

A DefWindowProc tagfüggvény kitölti az ikon hátterét a szülőablak háttérkeféjével.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnInitMenu

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy menü éppen aktívvá válik.

afx_msg void OnInitMenu(CMenu* pMenu);

Paraméterek

pMenu
Megadja az inicializálandó menüt. Lehet, hogy ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

OnInitMenu akkor lesz meghívva, ha a felhasználó a menüsávon egy elemre kattint, vagy lenyom egy menükulcsot. A tagfüggvény felülbírálása a menü megjelenítését megelőzően történő módosításához.

OnInitMenu a rendszer csak egyszer hívja meg, amikor egy menüt először ér el (például amikor egy felhasználó a menüsáv egyik elemére kattint). Ez a metódus nem ad információt a menüelemekről. Amikor a felhasználó a menü elemeire lép (például az egér több menüelemre való áthelyezésével), a függvény nem lesz újra meghívva. Miután a felhasználó kilép a menüből (például az alkalmazásügyfél területére kattintva), majd a menüsávon egy elemre kattint, a függvény ismét meghívható lesz.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnInitMenuPopup

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy előugró menü éppen aktívvá válik.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Paraméterek

pPopupMenu
Az előugró menü menüobjektumát adja meg. Lehet, hogy ideiglenes, és nem szabad későbbi használatra tárolni.

nIndex
A főmenü előugró menüjének indexét adja meg.

bSysMenu
TRUE ha az előugró menü a Control menü; egyéb esetben FALSE.

Megjegyzések

Ez lehetővé teszi, hogy az alkalmazás a teljes menü módosítása nélkül módosítsa az előugró menüt a megjelenítés előtt.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnInputDeviceChange

A keretrendszer meghívja ezt a tagfüggvényt, amikor egy I/O-eszközt adnak hozzá vagy távolítanak el a rendszerből.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Paraméterek

uFlag
[in] Ez a jelző a következő értékeket tartalmazhatja:

  • GIDC_ARRIVAL - Új eszköz lett hozzáadva a rendszerhez.
  • GIDC_REMOVAL - Egy eszköz el lett távolítva a rendszerből.

Megjegyzések

Ez a metódus megkapja a WM_INPUT_DEVICE_CHANGE Windows SDK-ban leírt értesítést. Ez egy általános bemeneti eszközüzenet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnInputLangChange

A keretrendszer az alkalmazás beviteli nyelvének módosítása után a legfelső érintett ablakhoz hívja meg ezt a tagot.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Paraméterek

nCharSet
[in] Az új területi beállítás karakterkészlete. További információ: a lfCharSet struktúra paramétere LOGFONT .

nLocaleId
[in] A bemeneti területi azonosító. További információ: Nyelvi azonosító állandók és sztringek.

Megjegyzések

Ez a metódus megkapja a WM_INPUTLANGCHANGE Windows SDK-ban leírt értesítési üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnInputLangChangeRequest

A keretrendszer meghívja ezt a tagot az ablakra, amikor a felhasználó új beviteli nyelvet választ.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Paraméterek

nFlags
[in] Az új területi beállítást jelző jelzők bitenkénti (VAGY) kombinációja lett kiválasztva az előző vagy a következő területi beállításból a telepített területi beállítások listájában, vagy hogy az új beviteli területi beállítás billentyűzetkiosztása használható a rendszer karakterkészletével. A lehetséges értékek: INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARD és INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in] A bemeneti területi azonosító. További információ: Nyelvi azonosító állandók és sztringek.

Megjegyzések

Ez a metódus megkapja a WM_INPUTLANGCHANGEREQUEST Windows SDK-ban leírt értesítési üzenetet. Ez az üzenet akkor jelenik meg, ha a felhasználó kiválaszt egy új beviteli nyelvet a billentyűzet vezérlőpultján megadott gyorsbillentyűvel, vagy a rendszer tálcáján lévő jelzőből.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnKeyDown

A keretrendszer meghívja ezt a tagfüggvényt egy nem rendszerkulcs lenyomásakor.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
Az adott kulcs virtuális kulcskódját adja meg. A szabványos virtuális kulcskódok listájáért lásd: Winuser.h

nRepCnt
Ismétlések száma (az a szám, ahányszor a billentyűleütés ismétlődik a felhasználó lenyomása miatt).

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Description
0-7 Kód beolvasása (OEM-függő érték).
8 Bővített kulcs, például függvénykulcs vagy kulcs a numerikus billentyűzeten (1, ha kiterjesztett kulcs).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja, ellenkező esetben 0).
14 Előző kulcsállapot (1, ha a kulcs le van állítva a hívás előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Üzenet WM_KEYDOWN esetén a kulcsáttűnési bit (15. bit) 0, a környezetkód bitje (13. bit) pedig 0.

Megjegyzések

A nem rendszerkulcs olyan billentyűzetkulcs, amely akkor van lenyomva, ha az ALT billentyű nincs lenyomva, vagy olyan billentyűzetkulcs, amelyet a bemeneti fókusz lenyomásakor CWnd lenyom.

Az automatikus ismétlés miatt egy OnKeyDown tagfüggvény hívása előtt OnKeyUp több hívás is előfordulhat. Az előző kulcsállapotot jelző bit használható annak meghatározására, hogy a OnKeyDown hívás az első leállásos vagy ismétlődő leállású áttűnés-e.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet.nFlags

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnKeyUp

A keretrendszer meghívja ezt a tagfüggvényt egy nem rendszerkulcs kiadásakor.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
Az adott kulcs virtuális kulcskódját adja meg. A szabványos virtuális kulcskódok listáját lásd: Winuser.h

nRepCnt
Ismétlések száma (az a szám, ahányszor a billentyűleütés ismétlődik a felhasználó lenyomása miatt).

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Description
0-7 Kód beolvasása (OEM-függő érték). Kis bájtnyi magasrendű szó.
8 Kiterjesztett kulcs, például függvénykulcs vagy a numerikus billentyűzeten lévő kulcs (1, ha kiterjesztett kulcs; egyébként 0).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja, ellenkező esetben 0).
14 Előző kulcsállapot (1, ha a kulcs le van állítva a hívás előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Üzenet WM_KEYUP esetén a kulcsáttűnési bit (15. bit) 1, a környezetkód bitje (13. bit) pedig 0.

Megjegyzések

A nem rendszerkulcs olyan billentyűzetkulcs, amely akkor van lenyomva, ha az ALT billentyű nincs lenyomva, vagy olyan billentyűzetkulcs, amelyet a CWnd bemeneti fókusz lenyomásakor lenyom.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet az nFlags-ben.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnKillFocus

A keretrendszer közvetlenül a bemeneti fókusz elvesztése előtt meghívja ezt a tagfüggvényt.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Paraméterek

pNewWnd
A bemeneti fókuszt fogadó ablakra mutató mutatót ad meg (lehet, NULL hogy ideiglenes).

Megjegyzések

Ha az CWnd objektum egy gondnokot jelenít meg, a gondnokot ezen a ponton meg kell semmisíteni.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnLButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint a bal egérgombra.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Csak a stílust CS_DBLCLKSWNDCLASS tartalmazó ablakok fogadnak OnLButtonDblClk hívásokat. Ez a Microsoft Foundation-osztályablakok alapértelmezett beállítása. A Windows akkor hív, OnLButtonDblClk amikor a felhasználó megnyomja, felszabadítja, majd ismét lenyomja a bal egérgombot a rendszer dupla kattintásos időkorlátján belül. A bal egérgombra duplán kattintva valójában négy esemény jön létre: WM_LBUTTONDOWNWM_LBUTTONUP üzenetek, WM_LBUTTONDBLCLK hívás és egy másik WM_LBUTTONUP üzenet a gomb megjelenésekor.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnLButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a bal egérgombot.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnLButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a bal egérgombot.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint a középső egérgombra.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Csak a stílust CS_DBLCLKSWNDCLASS tartalmazó ablakok fogadnak OnMButtonDblClk hívásokat. Ez az alapértelmezett beállítás az összes Microsoft Foundation-osztályablak esetében. A Windows hívást generál OnMButtonDblClk , amikor a felhasználó megnyomja, felszabadítja, majd ismét lenyomja a középső egérgombot a rendszer dupla kattintási időkorlátján belül. A középső egérgombra duplán kattintva valójában négy esemény jön létre: WM_MBUTTONDOWN az WM_MBUTTONUP üzeneteket, a WM_MBUTTONDBLCLK hívást és egy másik WM_MBUTTONUP üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a középső egérgombot.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a középső egérgombot.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMDIActivate

A keretrendszer meghívja ezt a tagfüggvényt a inaktivált gyermekablakhoz és a gyermekablak aktiválásához.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Paraméterek

bActivate
TRUE a gyermek aktiválása és FALSE inaktiválása esetén.

pActivateWnd
Az aktiválandó MDI gyermekablakra mutató mutatót tartalmaz. Amikor egy MDI gyermekablak fogadja, pActivateWnd az aktivált gyermekablakra mutató mutatót tartalmaz. Előfordulhat, hogy ez a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

pDeactivateWnd
Az inaktivált MDI gyermekablakra mutató mutatót tartalmaz. Előfordulhat, hogy ez a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Az MDI gyermekablak az MDI keretablakától függetlenül aktiválódik. Amikor a keret aktívvá válik, a hívással OnMDIActivate utoljára aktivált gyermekablak üzenetet kap WM_NCACTIVATE egy aktív ablakkeret és feliratsáv rajzolásához, de nem kap újabb OnMDIActivate hívást.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMeasureItem

A keretrendszer a vezérlő létrehozásakor meghívja ezt a tagfüggvényt a tulajdonos-rajz gomb, kombinált lista, lista vagy menüelem tulajdonosának keretrendszere alapján.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Paraméterek

nIDCtl
A vezérlő azonosítója.

lpMeasureItemStruct
Egy olyan adatstruktúrára MEASUREITEMSTRUCT mutat, amely a tulajdonos-rajz vezérlőelem dimenzióit tartalmazza.

Megjegyzések

Felülbírálja ezt a tagfüggvényt, és töltse ki az MEASUREITEMSTRUCT általa mutatott és visszaadott lpMeasureItemStruct adatstruktúrát. Ez tájékoztatja a Windowst a vezérlő dimenzióiról, és lehetővé teszi, hogy a Windows megfelelően dolgozza fel a vezérlővel való felhasználói interakciót.

Ha lista vagy kombinált lista jön létre a LBS_OWNERDRAWVARIABLECBS_OWNERDRAWVARIABLE vezérlőelem minden eleméhez, a keretrendszer ezt a függvényt a vezérlő minden eleméhez meghívja, ellenkező esetben ezt a függvényt egyszer hívja meg a rendszer.

A Windows az üzenet elküldése előtt kezdeményezi a stílussal OWNERDRAWFIXED létrehozott kombinált listák és listamezők tulajdonosának hívását.OnMeasureItemWM_INITDIALOG Ennek eredményeképpen, amikor a tulajdonos megkapja ezt a hívást, a Windows még nem határozta meg a vezérlőelemben használt betűtípus magasságát és szélességét; az ilyen értékeket igénylő függvényhívásoknak és számításoknak az alkalmazás vagy tár fő függvényében kell történniük.

Ha a mért elem egy CMenu, CListBox vagy CComboBox objektum, akkor a rendszer meghívja a MeasureItem megfelelő osztály virtuális függvényét. Felülbírálja a MeasureItem megfelelő vezérlőelem osztályának tagfüggvényét az egyes elemek méretének kiszámításához és beállításához.

OnMeasureItemcsak akkor lesz meghívva, ha a vezérlő osztálya futásidőben jön létre, vagy a stílussal vagy CBS_OWNERDRAWVARIABLE stílussal LBS_OWNERDRAWVARIABLE jön létre. Ha a vezérlőt a párbeszédpanel-szerkesztő hozza létre, OnMeasureItem a rendszer nem hívja meg. Ennek az az oka, hogy az WM_MEASUREITEM üzenet a vezérlő létrehozási folyamatának korai szakaszában lesz elküldve. Ha az alosztályozást az , SubclassDlgItemvagy SubclassWindowaz alosztályozás használatával végziDDX_Control, az általában a létrehozási folyamat után következik be. Ezért nem lehet kezelni az üzenetet a WM_MEASUREITEM vezérlő függvényében OnChildNotify , amely az MFC implementálására ON_WM_MEASUREITEM_REFLECThasznált mechanizmus.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMenuChar

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a felhasználó lenyom egy menü mnemonikus karaktert, amely nem felel meg az aktuális menü egyik előre definiált mnemonikának sem.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Paraméterek

nChar
A buildelési beállításoktól függően a felhasználó által lenyomott ANSI- vagy Unicode-karaktert adja meg.

nFlags
A jelölőt MF_POPUP tartalmazza, ha a menü előugró menü. Ez tartalmazza a jelölőt MF_SYSMENU , ha a menü egy Vezérlő menü.

pMenu
A kijelölt CMenuelemhez mutató mutatót tartalmaz. Előfordulhat, hogy a mutató ideiglenes, ezért nem szabad tárolni.

Visszaadott érték

A visszatérési érték magasrendű szava az alábbi parancskódok egyikét tartalmazza:

Érték Description
0 Arra utasítja a Windowst, hogy elvetje a felhasználó által lenyomott karaktert, és egy rövid hangjelzést hoz létre a rendszer hangszóróján.
1 Utasítja a Windowst, hogy zárja be az aktuális menüt.
2 Tájékoztatja a Windowst, hogy a visszatérési érték alacsonyrendű szava egy adott elem cikkszámát tartalmazza. Ezt az elemet a Windows választja ki.

A rendszer figyelmen kívül hagyja az alacsonyrendű szót, ha a magasrendű szó 0 vagy 1 értéket tartalmaz. Az alkalmazásoknak akkor kell feldolgozni ezt az üzenetet, ha a gyorsítóbillentyűk (billentyűparancsok) segítségével választják ki a menüben elhelyezett bitképeket.

Megjegyzések

A rendszer a CWnd menü tulajdonosának küldi el. OnMenuChar akkor is meghívja, ha a felhasználó lenyomja az ALT billentyűt és bármely más kulcsot, még akkor is, ha a kulcs nem felel meg a mnemonikus karakternek. Ebben az esetben pMenu a menüre mutat, amely az CWnd, és nFlags 0.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMenuDrag

A keretrendszer meghívja az aktuális húzási menü tagfüggvényét, amikor a felhasználó elkezd húzni egy menüelemet.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Paraméterek

nPos
[in] A menüelem indexpozíciója az húzási művelet megkezdésekor.

pMenu
[in] Mutasson a CMenu menüelemet tartalmazó objektumra.

Visszaadott érték

Visszaadott érték Meaning
MND_CONTINUE A menünek aktívnak kell maradnia. Ha az egér ki van engedve, azt figyelmen kívül kell hagyni.
MND_ENDMENU A menünek véget kell vetni.

Megjegyzések

Ez a metódus megkapja a WM_MENUDRAG Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMenuGetObject

A keretrendszer meghívja az aktuális húzási menü tagfüggvényét, amikor az egérmutató beír egy menüelemet, vagy az elem közepéről az elem tetejére vagy aljára lép.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Paraméterek

pMenu
[in] Mutasson egy MENUGETOBJECTINFO szerkezetre, amely az egérmutató bekapcsolva lévő húzási menüjéről tartalmaz információkat.

Visszaadott érték

Visszaadott érték Meaning
MNGO_NOERROR A struktúra tagjában egy olyan illesztőmutatót ad vissza, amely támogatja az pvObjMENUGETOBJECTINFO elhúzásos és húzási műveleteket. Jelenleg csak a IDropTarget felület támogatott.
MNGO_NOINTERFACE A drop-and-drag felület nem támogatott.

Megjegyzések

Ez a metódus megkapja a WM_MENUGETOBJECT Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMenuRButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor egy menüelemen van.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Paraméterek

nPos
[in] A menüelem indexpozíciója a jobb egérgomb megjelenésekor.

pMenu
[in] Mutasson a CMenu menüelemet tartalmazó objektumra.

Megjegyzések

Ez a metódus megkapja a WM_MENURBUTTONUP Windows SDK-ban leírt értesítést. Az WM_MENURBUTTONUP üzenet lehetővé teszi, hogy az alkalmazás környezeti szempontból érzékeny menüt biztosítson az üzenetben megadott menüelemhez.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMenuSelect

Ha az CWnd objektum egy menühöz van társítva, OnMenuSelect a keretrendszer meghívja, amikor a felhasználó kiválaszt egy menüelemet.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Paraméterek

nItemID
Azonosítja a kijelölt elemet. Ha a kijelölt elem egy menüelem, nItemID a menüelem azonosítóját tartalmazza. Ha a kijelölt elem előugró menüt tartalmaz, nItemID tartalmazza az előugró menü indexét, és hSysMenu tartalmazza a fő (kattintásra) menü leíróját.

nFlags
A következő menüjelölők kombinációját tartalmazza:

  • MF_BITMAP Az elem egy bitkép.

  • MF_CHECKED Az elem be van jelölve.

  • MF_DISABLED Az elem le van tiltva.

  • MF_GRAYED Az elem halvány.

  • MF_MOUSESELECT Az elem egérrel lett kijelölve.

  • MF_OWNERDRAW Az elem egy tulajdonosi rajzelem.

  • MF_POPUP Az elem egy előugró menüt tartalmaz.

  • MF_SEPARATOR Az elem egy menüelem-elválasztó.

  • MF_SYSMENU Az elem a Vezérlő menüben található.

hSysMenu
Ha nFlags tartalmazza MF_SYSMENU, az üzenethez társított menüt azonosítja. Ha nFlags tartalmazza MF_POPUP, a főmenü fogópontját azonosítja. Ha nFlags nem tartalmaz és nem MF_SYSMENUMF_POPUPis, akkor a program nem használja.

Megjegyzések

Ha nFlags 0xFFFF tartalmaz, és hSysMenu 0-t tartalmaz, a Windows bezárta a menüt, mert a felhasználó lenyomta az ESC billentyűt, vagy a menün kívülre kattintott.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMouseActivate

A keretrendszer meghívja ezt a tagfüggvényt, ha a kurzor inaktív ablakban van, és a felhasználó lenyom egy egérgombot.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Paraméterek

pDesktopWnd
Az aktivált ablak felső szintű szülőablakára mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, ezért nem szabad tárolni.

nHitTest
Megadja a hit-test terület kódját. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

message
Megadja az egér üzenetszámát.

Visszaadott érték

Megadja, hogy aktiválja-e az CWnd egéreseményt, és elveti-e. Az alábbi értékek egyikének kell lennie:

  • MA_ACTIVATE Objektum aktiválása CWnd .

  • MA_NOACTIVATE Ne aktiválja az CWnd objektumot.

  • MA_ACTIVATEANDEAT Objektum aktiválása CWnd és az egéresemény elvetése.

  • MA_NOACTIVATEANDEAT Ne aktiválja CWnd az objektumot, és ne dobja el az egéreseményt.

Megjegyzések

Az alapértelmezett implementáció a feldolgozás előtt átadja ezt az üzenetet a szülőablaknak. Ha a szülőablak TRUE értéket ad vissza, a feldolgozás leáll.

Az egyes találattesztek területkódjainak leírását a OnNcHitTest tagfüggvényben talál

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

Example

// 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

A keretrendszer meghívja ezt a tagfüggvényt, amikor a kurzor az ablak ügyfélterületére mutat az előző hívásban TrackMouseEventmegadott időtartamra.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van.

point
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_MOUSEHOVER Windows SDK-ban leírt értesítést.

A nFlags paraméter az alábbi táblázatban felsorolt módosító kulcsok kombinációja lehet. További információ: Az egér bemenete.

Módosító kulcs Description
MK_CONTROL A CTRL billentyű lenyomva van.
MK_LBUTTON A bal egérgomb lenyomva van.
MK_MBUTTON A középső egérgomb lenyomva van.
MK_RBUTTON A jobb egérgomb lenyomva van.
MK_SHIFT A SHIFT billentyű lenyomva van.
MK_XBUTTON1 A XBUTTON1 Microsoft IntelliMouse egérgombja le van nyomva.
MK_XBUTTON2 A XBUTTON2 Microsoft IntelliMouse egérgombja le van nyomva.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMouseHWheel

A keretrendszer meghívja ezt a tagot, amikor az egér vízszintes görgetőkereke meg van döntve vagy elforgatva.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Paraméterek

nFlags
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van. A jelölők listájáért tekintse meg az "Üzenetparaméterek" alcímet az Egérbevitelről című témakörben.

zDelta
[in] Azt jelzi, hogy a kerék milyen távolságban van elforgatva, többszörösben vagy osztásban WHEEL_DELTAkifejezve, ami 120. A pozitív érték azt jelzi, hogy a kereket jobbra forgatták; negatív érték azt jelzi, hogy a kerék balra forgott.

pt
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_MOUSEHWHEEL Windows SDK-ban leírt értesítési üzenetet. Ez az üzenet arra az ablakra kerül, amelynek fókusza az egér vízszintes görgetőkerekének dőlése vagy elforgatása esetén van.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMouseLeave

A keretrendszer meghívja ezt a tagfüggvényt, amikor a kurzor elhagyja az előző hívásban megadott ablak ügyfélterületét TrackMouseEvent.

afx_msg void OnMouseLeave();

Megjegyzések

Ez a metódus megkapja a WM_MOUSELEAVE Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMouseMove

A keretrendszer meghívja ezt a tagfüggvényt, amikor az egérmutató mozog.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Ha az egér nincs rögzítve, az üzenetet az WM_MOUSEMOVECWnd egérmutató alatti objektum fogadja, ellenkező esetben az üzenet az egérrel rögzített ablakra kerül.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMouseWheel

A keretrendszer meghívja ezt a tagfüggvényt, mivel a felhasználó elforgatja az egér kerekét, és a kerék következő rovátkával találkozik.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, ha a középső egérgomb le van állítva.

  • MK_RBUTTON Állítsa be, ha a jobb egérgomb le van állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

zDelta
Az elforgatott távolságot jelzi. Az zDelta érték a 120 többszörösében vagy osztásában WHEEL_DELTAvan kifejezve. A nullánál kisebb érték a visszafordulást (a felhasználó felé) jelzi, míg a nullánál nagyobb érték előre (a felhasználótól távol) történő elforgatást jelzi. A felhasználó megfordíthatja ezt a választ az egérszoftver Kerék beállításának módosításával. A paraméterről további információt a Megjegyzésekben talál.

pt
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Visszaadott érték

Nonzero, ha az egérkerék görgetése engedélyezve van; egyéb esetben 0.

Megjegyzések

Ha nincs felülírva, OnMouseWheel a rendszer az alapértelmezett értéket WM_MOUSEWHEELhívja meg. A Windows automatikusan átirányítja az üzenetet a fókuszt tartalmazó vezérlőre vagy gyermekablakra. A Win32 függvény DefWindowProc propagálja az üzenetet a szülőláncon az azt feldolgozó ablakba.

A zDelta paraméter a 120-ra beállított többszöröse WHEEL_DELTA. Ez az érték egy végrehajtandó művelet küszöbértéke, és minden változáshoz egy ilyen műveletnek (például egy rovátkának előre görgetése) kell történnie.

WHEEL_DELTA 120-ra lett beállítva, hogy finomabb felbontású kerekeket, például szabadon forgó kerekeket engedélyezhessenek, amelyek nincsenek becsukva. A finomabb felbontású kerekek forgásonként több üzenetet küldenek, de mindegyik üzenet kisebb eltérési értékkel rendelkezik. Ha ilyen kereket szeretne használni, adja hozzá a bejövő zDelta értékeket, amíg el nem WHEEL_DELTA éri (hogy ugyanazt a választ kapja egy adott delta-rotációhoz), vagy görgessen részleges sorokat a gyakoribb üzenetekre válaszul. A görgetés részletességét is választhatja, és halmozhatja fel a különbözeteket, amíg el nem WHEEL_DELTA éri azokat.

Bírálja felül ezt a tagfüggvényt, hogy saját egérkerekes görgetési viselkedést biztosítson.

Megjegyzés:

OnMouseWheel Kezeli a Windows NT 4.0-s és újabb verzióinak üzeneteit. Windows 95/98 vagy Windows NT 3.51 üzenetkezeléshez használja a .OnRegisteredMouseWheel

CWnd::OnMove

A keretrendszer az objektum áthelyezése után meghívja ezt a CWnd tagfüggvényt.

afx_msg void OnMove(
    int x,
    int y);

Paraméterek

x
Az ügyfélterület bal felső sarkának új x koordináta-helyét adja meg. Ez az új hely az átfedésben lévő és előugró ablakok képernyőkoordinátáiban, valamint a gyermekablakok szülő-ügyfél koordinátáiban jelenik meg.

y
Az ügyfélterület bal felső sarkának új y koordinátás helyét adja meg. Ez az új hely az átfedésben lévő és előugró ablakok képernyőkoordinátáiban, valamint a gyermekablakok szülő-ügyfél koordinátáiban jelenik meg.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnMoving

A keretrendszer meghívja ezt a tagfüggvényt, miközben egy felhasználó áthelyez egy objektumot CWnd .

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Paraméterek

nSide
Az áthelyezendő ablak széle.

lpRect
Az CRect elem koordinátáit tartalmazó struktúra címeRECT.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcActivate

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a nem aktív területet módosítani kell az aktív vagy inaktív állapot jelzéséhez.

afx_msg BOOL OnNcActivate(BOOL bActive);

Paraméterek

bActive
Megadja, hogy mikor kell módosítani egy feliratsávot vagy ikont az aktív vagy inaktív állapot jelzéséhez. A bActive paraméter az, TRUE ha egy aktív feliratot vagy ikont szeretne rajzolni. FALSE Ez egy inaktív felirat vagy ikon.

Visszaadott érték

Nonzero, ha a Windowsnak folytatnia kell az alapértelmezett feldolgozást; 0 a feliratsáv vagy ikon inaktiválásának megakadályozása érdekében.

Megjegyzések

Az alapértelmezett implementáció aktív színekkel rajzolja meg a címsort és a címsor szövegét, ha bActive van, TRUE és inaktív színekben, ha bActive igen FALSE.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcCalcSize

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha ki kell számítani az ügyfélterület méretét és pozícióját.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Paraméterek

bCalcValidRects
Megadja, hogy az alkalmazásnak meg kell-e adnia, hogy az ügyfélterület mely része tartalmaz érvényes információkat. A Windows az érvényes adatokat az új ügyfélterület megadott területére másolja. Ha ez a paraméter IGAZ, az alkalmazásnak meg kell adnia, hogy az ügyfélterület mely része érvényes.

lpncsp
Olyan adatstruktúrára NCCALCSIZE_PARAMS mutat, amely olyan információkat tartalmaz, amelyekkel az alkalmazás kiszámíthatja a téglalap új méretét és pozícióját (beleértve az CWnd ügyfélterületet, a szegélyeket, a feliratot, a görgetősávokat stb.).

Megjegyzések

Az üzenet feldolgozásával az alkalmazás szabályozhatja az ablak ügyfélterületének tartalmát, amikor az ablak mérete vagy pozíciója megváltozik.

Az értéktől bCalcValidRectsfüggetlenül a struktúra tag által rgrc megadott tömb első téglalapja NCCALCSIZE_PARAMS tartalmazza az ablak koordinátáit. Gyermekablak esetén a koordináták a szülőablak ügyfélterületéhez viszonyítva vannak. Felső szintű ablakok esetén a koordináták képernyőkoordináták. Az alkalmazásnak módosítania kell a rgrc[0] téglalapot, hogy tükrözze az ügyfélterület méretét és pozícióját.

A rgrc[1] téglalapok és rgrc[2] a téglalapok csak akkor érvényesek, ha bCalcValidRects igen TRUE. Ebben az esetben a rgrc[1] téglalap az ablak koordinátáit tartalmazza az áthelyezés vagy átméretezés előtt. A rgrc[2] téglalap az ablak ügyfélterületének koordinátáit tartalmazza az ablak áthelyezése előtt. A koordináták a szülőablakhoz vagy a képernyőhöz viszonyítva vannak.

Az alapértelmezett implementáció az ügyfélterület méretét számítja ki az ablak jellemzői (görgetősávok, menü stb.) alapján, és az eredményt az eredménybe lpncsphelyezi.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcCreate

A keretrendszer az üzenet előtt meghívja ezt a WM_CREATE tagfüggvényt az CWnd objektum első létrehozásakor.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Paraméterek

lpCreateStruct
CREATESTRUCT A következő adatstruktúrára CWndmutat: .

Visszaadott érték

Nonzero, ha a nemclient terület létrejön. Hiba esetén 0; ebben az esetben a Create függvény fog visszatérni failure .

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcDestroy

A keretrendszer meghívja a nemclient terület elpusztításakor, és ez az utolsó tagfüggvény, amelyet a Windows-ablak elpusztításakor hívunk.

afx_msg void OnNcDestroy();

Megjegyzések

Az alapértelmezett implementáció végez némi tisztítást, majd meghívja a virtuális tagfüggvényt PostNcDestroy.

Felülbírálhatja PostNcDestroy , ha saját tisztítást szeretne végrehajtani, például egy delete this műveletet. Felülbírálás OnNcDestroyesetén az alaposztályban kell meghívnia OnNcDestroy , hogy az ablakhoz belsőleg lefoglalt memória felszabaduljon.

CWnd::OnNcHitTest

A keretrendszer meghívja ezt a tagfüggvényt a CWnd kurzort tartalmazó objektumhoz (vagy ahhoz az CWnd objektumhoz, amely az egér bemenetének rögzítésére használta a SetCapture tagfüggvényt) az egér minden áthelyezésekor.

afx_msg LRESULT OnNcHitTest(CPoint point);

Paraméterek

point
A kurzor x és y koordinátáit tartalmazza. Ezek a koordináták mindig képernyőkoordináták.

Visszaadott érték

Az egér találattesztjének egyik számbavételi értéke. Tekintse meg WM_NCHITTEST az értékek listáját.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcLButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint a bal egérgombra, miközben a kurzor egy nem a megfelelő területen CWndtalálható.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét. Tekintse meg WM_NCHITTEST az értékek listáját.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Ha szükséges, a rendszer elküldi az WM_SYSCOMMAND üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcLButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a bal egérgombot, miközben a kurzor az CWnd objektum egy nem megfelelő területén belül van.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét. Tekintse meg WM_NCHITTEST az értékek listáját.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Ha szükséges, a rendszer elküldi a WM_SYSCOMMAND kódot.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcLButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a bal egérgombot, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét. Tekintse meg WM_NCHITTEST az értékek listáját.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Ha szükséges, WM_SYSCOMMAND a rendszer elküldi.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint a középső egérgombra, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a középső egérgombot, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a középső egérgombot, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMouseHover

A keretrendszer meghívja ezt a tagfüggvényt, amikor a kurzor az ablak nem megfelelő területére mutat az előző hívásban TrackMouseEventmegadott időtartamra.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
[in] A függvény által visszaadott hit-test érték az CWnd::DefWindowProcWM_NCHITTEST üzenet feldolgozása eredményeként.

point
[in] Egy CPoint objektum, amely a kurzor x és y koordinátáit adja meg a képernyő bal felső sarkához viszonyítva.

Megjegyzések

Ez a metódus megkapja a WM_NCMOUSEHOVER Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMouseLeave

A keretrendszer meghívja ezt a tagfüggvényt, amikor a kurzor elhagyja az ablak nem megfelelő területét, amely egy korábbi hívásban TrackMouseEventvan megadva.

afx_msg void OnNcMouseLeave();

Megjegyzések

Ez a metódus megkapja a WM_NCMOUSELEAVE Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcMouseMove

A keretrendszer meghívja ezt a tagfüggvényt, ha a kurzor egy nem egy adott területen belül van áthelyezve.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Ha szükséges, a rendszer elküldi az WM_SYSCOMMAND üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcPaint

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a nem megfelelő területet festeni kell.

afx_msg void OnNcPaint();

Megjegyzések

Az alapértelmezett implementáció festi az ablakkeretet.

Az alkalmazások felülbírálhatják ezt a hívást, és saját egyéni ablakkeretet festhetnek. A kivágási terület mindig téglalap alakú, még akkor is, ha a keret alakja megváltozott.

CWnd::OnNcRButtonDblClk

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a felhasználó duplán kattint a jobb egérgombra, miközben a kurzor a megfelelő területen CWndbelül van.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcRButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a jobb egérgombot, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcRButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor egy nem egy adott területen belül van.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Paraméterek

nHitTest
Megadja a hit-test kódot. A találati teszt egy olyan teszt, amely meghatározza a kurzor helyét.

point
Olyan objektumot CPoint határoz meg, amely a kurzor pozíciójának x és y képernyőkoordinátáit tartalmazza. Ezek a koordináták mindig a képernyő bal felső sarkához vannak viszonyítva.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcRenderingChanged

A keretrendszer meghívja ezt a tagot, amikor a nemclient terület renderelési szabályzata megváltozott.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Paraméterek

bIsRendering
[in] TRUE ha a Desktop Window Manager (DWM) renderelése engedélyezve van az ablak nem megfelelő területén; FALSE ha a renderelés le van tiltva.

Megjegyzések

Ez a metódus megkapja a WM_DWMNCRENDERINGCHANGED Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcXButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint XBUTTON1 , vagy XBUTTON2 amikor a kurzor egy ablak nem megfelelő területén van.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paraméterek

nHitTest
[in] A függvény által visszaadott hit-test érték az CWnd::DefWindowProcWM_NCHITTEST üzenet feldolgozása eredményeként.

nButton
[in] Az az érték XBUTTON1 , ha az első Microsoft Intellimouse X gombra duplán kattint, vagy XBUTTON2 ha a második X gombra duplán kattint.

point
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_XBUTTONDBLCLK Windows SDK-ban leírt értesítést. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcXButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja XBUTTON1 vagy XBUTTON2 lenyomja az egeret, miközben a kurzor az ablak nem megfelelő területén van.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paraméterek

nHitTest
[in] A függvény által visszaadott hit-test érték az CWnd::DefWindowProcWM_NCHITTEST üzenet feldolgozása eredményeként.

nButton
[in] Az az érték XBUTTON1 , ha az első egér X gombját lenyomja, vagy XBUTTON2 ha a második X gomb van lenyomva.

point
[in] A CPoint képernyő bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_NCXBUTTONDOWN Windows SDK-ban leírt értesítést. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNcXButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó kiadja XBUTTON1 vagy XBUTTON2 az egérrel, miközben a kurzor az ablak nem megfelelő területén van.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paraméterek

nHitTest
[in] A függvény által visszaadott hit-test érték az CWnd::DefWindowProcWM_NCHITTEST üzenet feldolgozása eredményeként.

nButton
[in] Annak az értéke XBUTTON1 , hogy az első egér X gombja ki van-e adva, vagy XBUTTON2 ha a második X gomb ki van adva.

point
[in] Egy CPoint objektum, amely a kurzor x és y koordinátáit adja meg a képernyő bal felső sarkához viszonyítva.

Megjegyzések

Ez a metódus megkapja a WM_NCXBUTTONUP Windows SDK-ban leírt értesítést. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNextMenu

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a jobb vagy a bal nyílbillentyűvel vált a menüsáv és a rendszermenü között.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Paraméterek

nKey
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van. A jelölők listájáért tekintse meg az "Üzenetparaméterek" alcímet az Egérbevitelről című témakörben.

lpMdiNextMenu
[in] Mutasson egy MDINEXTMENU olyan struktúrára, amely az aktiválandó menüre vonatkozó információkat tartalmazza.

Megjegyzések

Ez a metódus megkapja a WM_UNINITMENUPOPUP Windows SDK-ban leírt értesítést. Erre az üzenetre válaszul az alkalmazás beállíthatja a hmenuNextMDINEXTMENU struktúra tagját, hogy megadja a menüt, amelyre váltani szeretne, és a hwndNext tag megadhatja a menü értesítési üzeneteinek fogadására vonatkozó ablakot.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnNotify

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa a vezérlő szülőablakát arról, hogy esemény történt a vezérlőben, vagy hogy a vezérlő valamilyen információt igényel.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paraméterek

wParam
Azonosítja az üzenetet küldő vezérlőt, ha az üzenet vezérlőből származik. wParam Ellenkező esetben 0.

lParam
Mutasson egy értesítési üzenet (NMHDR) struktúrára, amely tartalmazza az értesítési kódot és a további információkat. Egyes értesítési üzenetek esetében ez a paraméter egy nagyobb struktúrára mutat, amelynek első tagja a NMHDR struktúra.

pResult
Mutasson egy LRESULT változóra, amelyben az eredménykódot az üzenet kezelésekor tárolni szeretné.

Visszaadott érték

Ha egy alkalmazás feldolgozza ezt az üzenetet, a nonzero értéket adja vissza; egyéb esetben 0.

Megjegyzések

OnNotify a vezérlőértesítéshez feldolgozza az üzenettérképet.

Bírálja felül ezt a tagfüggvényt a származtatott osztályban az WM_NOTIFY üzenet kezeléséhez. A felülbírálás csak az alaposztály OnNotify meghívása után dolgozza fel az üzenettérképet.

További információ az WM_NOTIFY üzenetről: Technical Note 61 (TN061) ON_NOTIFY és WM_NOTIFY üzenetek. A vezérlőtémakörökben és a TN062, a Windows vezérlők üzenetvisszaverőjében ismertetett kapcsolódó témakörök is érdekelhetik.

CWnd::OnNotifyFormat

A keretrendszer meghívja ezt a tagfüggvényt annak megállapítására, hogy az aktuális ablak elfogadja-e az ANSI- vagy Unicode-struktúrákat az WM_NOTIFY értesítési üzenetben.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Paraméterek

pWnd
[in] Egy olyan objektumra CWnd mutató mutató, amely az üzenetet küldő WM_NOTIFY ablakot jelöli. Ez a paraméter egy vezérlőelemre mutató mutató, ha a nCommand paraméter, NF_QUERYvagy ha vanNF_REQUERY, akkor a vezérlő nCommand szülőablakára mutató mutató.

nCommand
[in] Az üzenetre specializálódott WM_NOTIFY parancsérték. A lehetséges értékek a következők:

  • NF_QUERY – Az üzenet egy lekérdezés, amely meghatározza, hogy az ANSI- vagy Unicode-struktúrákat kell-e használni az üzenetekben WM_NOTIFY . Ez az üzenet egy vezérlőből a szülőablakba kerül egy vezérlő létrehozásakor, és az NF_REQUERY üzenet formájára válaszul.
  • NF_REQUERY – Az üzenet egy vezérlő kérése, NF_QUERY amely az üzenet formáját küldi el a szülőablakba. Ezt a kérést a rendszer a szülőablakból küldi el, és megkéri a vezérlőt, hogy kérdezze meg újra a szülőt az üzenetekben WM_NOTIFY használandó struktúra típusáról. Ha a nCommand paraméter az NF_REQUERY, a visszatérési érték az újrapróbálkozási művelet eredménye.

Visszaadott érték

Visszaadott érték Meaning
NFR_ANSI Az ANSI-struktúrákat a vezérlő által küldött üzenetekben WM_NOTIFY kell használni.
NFR_UNICODE Unicode-struktúrákat kell használni a vezérlő által küldött üzenetekben WM_NOTIFY .
0 Hiba történt.

Megjegyzések

Ez a metódus megkapja a WM_NOTIFYFORMAT Windows SDK-ban leírt értesítést. WM_NOTIFY az üzeneteket a rendszer egy közös vezérlőből a szülőablakba, a szülőablakból pedig a közös vezérlőbe küldi.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnPaint

A keretrendszer meghívja ezt a tagfüggvényt, amikor a Windows vagy egy alkalmazás kérést intéz az alkalmazás ablakának egy részének újrafestésére.

afx_msg void OnPaint();

Megjegyzések

Az WM_PAINT üzenet akkor lesz elküldve, amikor a rendszer meghívja a UpdateWindow tagfüggvényt RedrawWindow .

Az ablakok belső festéküzeneteket kaphatnak a tagfüggvény jelölőkészlettel való RDW_INTERNALPAINT meghívása RedrawWindow miatt. Ebben az esetben előfordulhat, hogy az ablak nem rendelkezik frissítési régióval. Az alkalmazásnak meg kell hívnia a GetUpdateRect tagfüggvényt annak megállapításához, hogy az ablak rendelkezik-e frissítési régióval. Ha GetUpdateRect 0 értéket ad vissza, az alkalmazásnak nem szabad meghívnia a BeginPaint tagfüggvényeket EndPaint .

Az alkalmazás feladata, hogy ellenőrizze a szükséges belső átfestést vagy frissítést az egyes WM_PAINT üzenetek belső adatstruktúráinak megtekintésével, mivel az WM_PAINT üzeneteket egy érvénytelen terület és a RedrawWindow jelölőkészlettel rendelkező RDW_INTERNALPAINT tagfüggvény hívása is okozhatta.

A Windows csak egyszer küld belső WM_PAINT üzenetet. Miután a WM_PAINT tagfüggvény belső üzenetet küldött egy UpdateWindow ablakba, a rendszer nem küld és nem tesz közzé további WM_PAINT üzeneteket az ablak érvénytelenségéig, vagy amíg a RedrawWindow tagfüggvényt ismét nem hívja meg a RDW_INTERNALPAINT jelölőkészlettel.

A dokumentum-/nézetalkalmazásokban lévő kép renderelésével kapcsolatos információkért lásd: CView::OnDraw.

A használattal WM_Paintkapcsolatos további információkért tekintse meg a Windows SDK következő témaköreit:

CWnd::OnPaintClipboard

A vágólap tulajdonosának tagfüggvényét OnPaintClipboard a vágólap megtekintője hívja meg, ha a vágólap tulajdonosa adatokat helyezett el a vágólapon, CF_OWNERDISPLAY és a vágólap-megjelenítő ügyfélterületét újra kell festeni.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Paraméterek

pClipAppWnd
A Vágólap alkalmazás ablakára mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

hPaintStruct
Olyan adatstruktúrát PAINTSTRUCT azonosít, amely meghatározza, hogy az ügyfélterület mely részét kell festeni.

Megjegyzések

Annak megállapításához, hogy a teljes ügyfélterületet vagy annak egy részét újra kell-e festeni, a vágólap tulajdonosának össze kell hasonlítania a szerkezet tagjában rcpaintPAINTSTRUCT megadott rajzterület méreteit a legutóbbi OnSizeClipboard tagfüggvény-hívásban megadott méretekkel.

OnPaintClipboard a GlobalLock Windows függvénnyel zárolja az adatstruktúrát tartalmazó PAINTSTRUCT memóriát, és feloldja a memóriát a GlobalUnlock Windows-függvénnyel, mielőtt kilép.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnPaletteChanged

A keretrendszer meghívja ezt a tagfüggvényt az összes felső szintű ablakhoz, miután a bemeneti fókuszú ablak felismerte a logikai palettáját, ezáltal megváltoztatva a rendszerpalettát.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Paraméterek

pFocusWnd
Az ablakra mutató mutatót ad meg, amely miatt a rendszerpaletta módosult. Előfordulhat, hogy a mutató ideiglenes, ezért nem szabad tárolni.

Megjegyzések

Ez a hívás lehetővé teszi a bemeneti fókusz nélküli ablakokat, amelyek színpalettát használnak a logikai paletták megvalósításához és az ügyfélterület frissítéséhez.

A OnPaletteChanged tagfüggvény az összes legfelső szintű és átfedésben lévő ablakhoz szól, beleértve azt is, amelyik módosította a rendszerpalettát, és amely miatt az WM_PALETTECHANGED üzenetet elküldték. Ha bármelyik gyermekablak színpalettát használ, ezt az üzenetet tovább kell adni neki.

A végtelen hurok elkerülése érdekében az ablaknak nem szabad felismernie a palettáját, hacsak nem állapítja meg, hogy pFocusWnd nem tartalmaz mutatót önmagához.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnPaletteIsChanging

A keretrendszer meghívja ezt a tagfüggvényt, hogy tájékoztassa az alkalmazásokat arról, hogy egy alkalmazás megvalósítja a logikai palettáját.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Paraméterek

pRealizeWnd
A logikai paletta megvalósítására készülő ablakot adja meg.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnParentNotify

A szülő tagfüggvényét OnParentNotify a keretrendszer hívja meg a gyermekablak létrehozásakor vagy megsemmisítésekor, vagy amikor a felhasználó egy egérgombra kattint, miközben a kurzor a gyermekablak felett van.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Paraméterek

message
Megadja azt az eseményt, amelyről a szülő értesítést kap, valamint a gyermekablak azonosítóját. Az esemény az alacsonyrendű szó.message Ha az esemény a WM_CREATE gyermekablak azonosítója, vagy WM_DESTROYha a magasrendű szó message a gyermekablak azonosítója, ellenkező esetben a magasrendű szó nincs definiálva. Az esemény (alacsonyrendű szó) messageaz alábbi értékek bármelyike lehet:

  • WM_CREATE A gyermekablak létrehozása folyamatban van.

  • WM_DESTROY A gyermekablak elpusztul.

  • WM_LBUTTONDOWN A felhasználó az egérmutatót a gyermekablak fölé helyezte, és a bal egérgombra kattintott.

  • WM_MBUTTONDOWN A felhasználó az egérmutatót a gyermekablak fölé helyezte, és a középső egérgombra kattintott.

  • WM_RBUTTONDOWN A felhasználó az egérmutatót a gyermekablak fölé helyezte, és a jobb egérgombra kattintott.

lParam
Ha a gyermekablak eseménye messageWM_CREATE (alacsonyrendű szó) vagy WM_DESTROY, lParam a gyermekablak ablakfogópontját adja meg, egyébként lParam a kurzor x és y koordinátáit tartalmazza. Az x koordináta az alacsonyrendű szóban, az y koordináta pedig a nagyrendű szóban található.

Megjegyzések

A gyermekablak létrehozásakor a rendszer csak az ablak létrehozó tagfüggvénye előtt Create hív OnParentNotify vissza. Ha a gyermekablakot megsemmisítik, a rendszer a feldolgozás előtt meghívja OnParentNotify az ablakot.

OnParentNotify a rendszer a gyermekablak összes elődablakára meghívja, beleértve a felső szintű ablakot is.

Az összes gyermekablak, kivéve azokat, amelyek stílusával WS_EX_NOPARENTNOTIFY rendelkeznek, elküldik ezt az üzenetet a szülőablakaiknak. Alapértelmezés szerint a párbeszédpanel gyermekablakai stílussal rendelkeznek WS_EX_NOPARENTNOTIFY , kivéve, ha a gyermekablak e stílus nélkül lett létrehozva a CreateEx tagfüggvény meghívásával.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnPowerBroadcast

A keretrendszer ezt a tagfüggvényt energiagazdálkodási esemény bekövetkezésekor hívja meg.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Paraméterek

nPowerEvent
[in] Az energiagazdálkodási esemény.

nEventData
[in] Eseményspecifikus adatok.

Visszaadott érték

Ha az esemény kérés, térjen vissza TRUE a kérés megadásához vagy BROADCAST_QUERY_DENY a kérés elutasításához.

Megjegyzések

Ez a metódus megkapja a WM_POWERBROADCAST Windows SDK-ban leírt üzenetet.

A nPowerEvent paraméter olyan eseményeket határoz meg, mint például az akkumulátor teljesítménye alacsony, az energia állapota megváltozott, a művelet felfüggesztésére vonatkozó engedélyt kér vagy megtagad, egy művelet automatikusan elindul egy esemény után, a rendszer felfüggeszti a műveletet, vagy egy művelet a felfüggesztés után újra elindul. A nEventData paramétert általában nem használják. További információkért tekintse meg az wParam üzenet paramétereit és lParam paramétereit WM_POWERBROADCAST .

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnQueryDragIcon

A keretrendszer egy kisméretű (ikonikus) ablakkal hívja meg ezt a tagfüggvényt, amely nem rendelkezik az osztályához definiált ikonnal.

afx_msg HCURSOR OnQueryDragIcon();

Visszaadott érték

Duplaszó érték, amely egy kurzort vagy ikonfogópontot tartalmaz az alacsony sorrendű szóban. A kurzornak vagy az ikonnak kompatibilisnek kell lennie a megjelenítési illesztőprogram felbontásával. Ha az alkalmazás visszatér NULL, a rendszer megjeleníti az alapértelmezett kurzort. Az alapértelmezett visszatérési érték a következő NULL: .

Megjegyzések

A rendszer meghívja ezt a hívást, hogy lekérjük a kurzort, hogy megjelenjen, miközben a felhasználó húzza a kis méretű ablakot. Ha egy alkalmazás egy ikon vagy kurzor fogópontját adja vissza, a rendszer fekete-fehérre konvertálja azt. Ha egy alkalmazás egy fogópontot ad vissza, a fogópontnak azonosítania kell egy monokróm kurzort vagy ikont, amely kompatibilis a megjelenítési illesztőprogram felbontásával. Az alkalmazás meghívhatja a vagy CWinApp::LoadIcon tagfüggvényeketCWinApp::LoadCursor, hogy betöltse a kurzort vagy ikont a végrehajtható fájl erőforrásaiból, és beszerezze ezt a leírót.

CWnd::OnQueryEndSession

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó a Windows-munkamenet befejezését választja, vagy amikor egy alkalmazás meghívja a Windows-függvényt ExitWindows .

afx_msg BOOL OnQueryEndSession();

Visszaadott érték

Nonzero, ha egy alkalmazás kényelmesen leállítható; egyéb esetben 0.

Megjegyzések

Ha bármelyik alkalmazás 0 értéket ad vissza, a Windows-munkamenet nem fejeződik be. A Windows leállítja a hívásokat OnQueryEndSession , amint egy alkalmazás visszaadja a 0 értéket, és elküldi az WM_ENDSESSION üzenetet minden olyan alkalmazás paraméterértékével FALSE , amely már visszaadta a nemzero értéket.

CWnd::OnQueryNewPalette

A keretrendszer meghívja ezt a tagfüggvényt, amikor az CWnd objektum a bemeneti fókusz fogadására készül, így lehetőség nyílik a CWnd logikai paletta megvalósítására, amikor megkapja a fókuszt.

afx_msg BOOL OnQueryNewPalette();

Visszaadott érték

Nonzero, ha a CWnd logikai palettát valósítja meg; egyébként 0.

CWnd::OnQueryOpen

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha az CWnd objektum minimálisra van csökkentve, és a felhasználó azt kéri, hogy állítsa vissza a rendszer az CWnd előre meghatározott méretre és pozícióra.

afx_msg BOOL OnQueryOpen();

Visszaadott érték

Nem, ha az ikon megnyitható, vagy 0, hogy megakadályozza az ikon megnyitását.

Megjegyzések

Amíg ebben a környezetben OnQueryOpenvan, CWnd nem szabad olyan műveletet végrehajtania, amely aktiválást vagy fókuszváltozást okozna (például párbeszédpanel létrehozása).

CWnd::OnQueryUIState

Az ablak felhasználói felületének (UI) állapotának lekérésére van meghívva.

afx_msg UINT OnQueryUIState();

Visszaadott érték

A visszatérési érték az, NULL ha a fókuszjelzők és a billentyűzetgyorsítók láthatók. Ellenkező esetben a visszatérési érték az alábbi értékek közül egy vagy több lehet:

  • UISF_HIDEFOCUS A fókuszjelzők rejtettek.

  • UISF_HIDEACCEL A billentyűzetgyorsítók rejtettek.

  • UISF_ACTIVE Windows XP: Az aktív vezérlőkhöz használt stílusban kell vezérlőelemet rajzolni.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az WM_QUERYUISTATE üzenet funkcióit.

CWnd::OnRawInput

A keretrendszer meghívja ezt a tagfüggvényt, amikor az aktuális ablak nyers bemenetet kap.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Paraméterek

nInputCode
[in] Bemeneti kód, amely jelzi, hogy a bemenet az alkalmazás előtérben volt-e, vagy sem. Mindkét esetben az alkalmazásnak meg kell hívnia CWnd::DefWindowProc , hogy a rendszer elvégezhesse a törlést. Ez a paraméter a következő értékek egyike lehet:

  • RIM_INPUT - Bemenet történt, amikor az alkalmazás az előtérben volt.
  • RIM_INPUTSINK - Bemenet történt, miközben az alkalmazás nem volt az előtérben.

hRawInput
[in] Kezelje az RAWINPUT eszköz nyers bemenetét tartalmazó struktúrát.

Megjegyzések

Ez a metódus megkapja a WM_INPUT Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnRButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó duplán kattint a jobb egérgombra.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, hogy a középső egérgomb le van-e állítva.

  • MK_RBUTTON Állítsa be, hogy a jobb egérgomb le van-e állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáit adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Csak a CS_DBLCLKS WNDCLASS stílusú ablakok fogadhatnak OnRButtonDblClk hívásokat. Ez az alapértelmezett windows a Microsoft Foundation osztálykönyvtárában. A Windows akkor hív, OnRButtonDblClk amikor a felhasználó megnyomja, felszabadítja, majd ismét lenyomja a jobb egérgombot a rendszer dupla kattintásos időkorlátján belül. A jobb egérgombra duplán kattintva valójában négy esemény jön létre: WM_RBUTTONDOWNWM_RBUTTONUP az üzenetek, a OnRButtonDblClk hívás és egy másik WM_RBUTTONUP üzenet jelenik meg a gomb megjelenésekor.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnRButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó lenyomja a jobb egérgombot.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, hogy a középső egérgomb le van-e állítva.

  • MK_RBUTTON Állítsa be, hogy a jobb egérgomb le van-e állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáit adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnRButtonUp

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó felengedi a jobb egérgombot.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Paraméterek

nFlags
Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter a következő értékek bármely kombinációját tartalmazhatja:

  • MK_CONTROL Állítsa be, ha a CTRL billentyű le van állítva.

  • MK_LBUTTON Állítsa be, ha a bal egérgomb le van állítva.

  • MK_MBUTTON Állítsa be, hogy a középső egérgomb le van-e állítva.

  • MK_SHIFT Állítsa be, hogy a SHIFT billentyű le van-e állítva.

point
A kurzor x és y koordinátáit adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnRegisteredMouseWheel

A keretrendszer meghívja ezt a tagfüggvényt, mivel a felhasználó elforgatja az egér kerekét, és a kerék következő rovátkával találkozik.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

wParam
A mutató vízszintes helyzete.

lParam
A mutató függőleges helyzete.

Visszaadott érték

Jelenleg jelentéktelen. Mindig nulla.

Megjegyzések

Ha nincs felülírva, OnRegisteredMouseWheel átirányítja az üzenetet a megfelelő ablakra (a fókuszt tartalmazó szülőablakra), és meghívja az WM_MOUSEWHEEL adott ablak kezelőját.

Bírálja felül ezt a tagfüggvényt, hogy saját üzenet-útválasztást biztosítson, vagy módosítsa az egérkerék görgetési viselkedését.

Megjegyzés:

OnRegisteredMouseWheel Kezeli a Windows 95/98 és a Windows NT 3.51 rendszerhez készült üzeneteket. Windows NT 4.0-s üzenetkezeléshez használja OnMouseWheela .

CWnd::OnRenderAllFormats

A vágólap tulajdonosának tagfüggvényét OnRenderAllFormats a keretrendszer hívja meg a tulajdonosalkalmazás megsemmisítésekor.

afx_msg void OnRenderAllFormats();

Megjegyzések

A vágólap tulajdonosának minden olyan formátumban meg kell jelenítenie az adatokat, a windowsos függvény meghívásával, amely képes az egyes formátumokhoz tartozó leírók létrehozására és átadására a SetClipboardData vágólapra. Ez biztosítja, hogy a vágólap érvényes adatokat tartalmaz, annak ellenére, hogy az adatokat megjelenítő alkalmazás megsemmisül. Az alkalmazásnak meg kell hívnia a OpenClipboard tagfüggvényt, mielőtt meghívja a SetClipboardData Windows függvényt, és utána meghívja a CloseClipboard Windows függvényt.

CWnd::OnRenderFormat

A vágólap tulajdonosának tagfüggvényét OnRenderFormat a keretrendszer hívja meg, ha egy adott formátumot késleltetett rendereléssel kell renderelni.

afx_msg void OnRenderFormat(UINT nFormat);

Paraméterek

nFormat
Megadja a vágólap formátumát.

Megjegyzések

A fogadónak ebben a formátumban kell renderelnie az adatokat, és a Windows függvény meghívásával továbbítania kell az adatokat a vágólapra SetClipboardData .

Ne hívja meg a OpenClipboard tagfüggvényt vagy a Windows függvényt CloseClipboard belülről OnRenderFormat.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSessionChange

A keretrendszer meghívja ezt a tagfüggvényt, hogy értesítse az alkalmazást a munkamenet állapotának változásáról.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Paraméterek

nSessionState
[in] Az állapotkód a munkamenet állapotváltozását írja le.

nId
[in] Munkamenet-azonosító.

Megjegyzések

Ez a metódus megkapja a WM_WTSSESSION_CHANGE Windows SDK-ban leírt értesítést.

A nSessionState paraméter azt adja meg, hogy egy munkamenet csatlakoztatva van vagy le van választva a konzolról vagy egy távoli terminálról, egy felhasználó bejelentkezett vagy ki van jelentkezve, egy munkamenet zárolva vagy feloldva van, vagy egy munkamenet távoli vezérlésű állapotra módosult. További információ: az wParam üzenet paramétere WM_WTSSESSION_CHANGE .

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSetCursor

A keretrendszer meghívja ezt a tagfüggvényt, ha az egér bemenete nincs rögzítve, és az egér kurzormozgatást okoz az CWnd objektumon belül.

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Paraméterek

pWnd
A kurzort tartalmazó ablakra mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

nHitTest
Megadja a hit-test terület kódját. A találati teszt meghatározza a kurzor helyét.

message
Megadja az egér üzenetszámát.

Visszaadott érték

Nonzero a további feldolgozás leállításához, vagy 0 a folytatáshoz.

Megjegyzések

Az alapértelmezett implementáció a feldolgozás előtt meghívja a szülőablakot OnSetCursor . Ha a szülőablak visszatér TRUE, a további feldolgozás leáll. A szülőablak meghívásával a szülőablak szabályozhatja a kurzor beállításait egy gyermekablakban.

Az alapértelmezett implementáció egy nyílra állítja a kurzort, ha nincs az ügyfélterületen, vagy ha a regisztrált osztály kurzora.

Ha nHitTest az HTERRORmessage egérgombbal lefelé mutató üzenet, a MessageBeep tagfüggvényt meghívja a rendszer.

Az üzenet paramétere 0, amikor CWnd beírja a menümódot.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSetFocus

A keretrendszer a bemeneti fókusz megszerzése után meghívja ezt a tagfüggvényt.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Paraméterek

pOldWnd
Azt az CWnd objektumot tartalmazza, amely elveszíti a bemeneti fókuszt (lehet).NULL Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A gondviselet CWnd megjelenítéséhez ezen a ponton hívja meg a megfelelő ápolási függvényeket.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSettingChange

A keretrendszer az összes legfelső szintű ablakot meghívja OnSettingChange , amikor a Win32 SystemParametersInfo függvény rendszerszintű beállítást módosít.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Paraméterek

uFlags
Amikor a rendszer egy SystemParametersInfo hívás eredményeként küldi el az üzenetet, ez a paraméter egy jelző, amely a módosított rendszerparamétert jelzi. Az értékek listáját a Windows SDK-ban találja SystemParametersInfo . Amikor egy alkalmazás elküldi az üzenetet, ennek a paraméternek 0-nak kell lennie.

lpszSection
Egy sztringre mutat, amely megadja a módosított szakasz nevét. (A sztring nem tartalmazza a szakasz nevét tartalmazó szögletes zárójeleket.)

Megjegyzések

Egy alkalmazásnak minden felső szintű ablaknak el kell küldenie az üzenetet, amikor módosítja a rendszerparamétereket, és a Windows elküldi az üzenetet, ha a felhasználó a Vezérlőpulton keresztül módosítja a beállításokat.

Az ON_WM_SETTINGCHANGE üzenet hasonló az ON_WM_WININICHANGE üzenethez, a következő különbséggel:

  • Windows ON_WM_SETTINGCHANGE NT 4.0 vagy újabb, vagy Windows 95/98 rendszerben használható.

  • Windows ON_WININICHANGE NT 3.51-et vagy régebbi verziót futtathat. Ez az üzenet elavult.

Ezeknek a makróknak csak egynek kell lennie az üzenettérképen. Ha windows 95/98-hoz és Windows NT 4.0-hoz egyaránt használható programot szeretne írni, írjon egy kezelőt a következőhöz ON_WM_SETTINGCHANGE: . A Windows NT 3.51 rendszerben a rendszer meghívja a kezelőt OnSettingChange , és uFlags mindig nulla lesz.

CWnd::OnShowWindow

A keretrendszer meghívja ezt a tagfüggvényt, amikor az CWnd objektum el van rejtve vagy megjelenítve.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Paraméterek

bShow
Megadja, hogy megjelenik-e egy ablak. TRUE Ha az ablak megjelenik, akkor FALSE az az, ha az ablak rejtve van.

nStatus
A megjelenített ablak állapotát adja meg. Ez 0, ha az üzenetet tagfüggvény-hívás ShowWindow miatt küldi el a rendszer, ellenkező esetben nStatus az alábbiak egyike:

  • SW_PARENTCLOSING A szülőablak bezárul (ikonikussá vált), vagy egy előugró ablak el van rejtve.

  • SW_PARENTOPENING A szülőablak megnyílik (megjelenik), vagy megjelenik egy előugró ablak.

Megjegyzések

Az ablak rejtett vagy megjelenik a ShowWindow tagfüggvény meghívásakor, ha egy átfedésben lévő ablak teljes méretű vagy visszaállítva, vagy ha egy átfedésben lévő vagy előugró ablak be van zárva (ikonikussá vált), vagy meg van nyitva (megjelenik a képernyőn). Ha egy átfedésben lévő ablak be van zárva, az adott ablakhoz társított összes előugró ablak rejtve lesz.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSize

A keretrendszer meghívja ezt a tagfüggvényt az ablak méretének módosítása után.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Paraméterek

nType
Megadja a kért átméretezés típusát. Ez a paraméter a következő értékek egyike lehet:

  • SIZE_MAXIMIZED Az ablak teljes méretű.

  • SIZE_MINIMIZED Az ablak kis méretűre van állítva.

  • SIZE_RESTORED Az ablak átméretezve lett, de egyik sem SIZE_MINIMIZEDSIZE_MAXIMIZED érvényes.

  • SIZE_MAXHIDE A rendszer az összes előugró ablaknak üzenetet küld, ha egy másik ablak teljes méretű.

  • SIZE_MAXSHOW A rendszer az összes előugró ablaknak üzenetet küld, ha egy másik ablak a korábbi méretére lett visszaállítva.

cx
Az ügyfélterület új szélességét adja meg.

cy
Megadja az ügyfélterület új magasságát.

Megjegyzések

Ha a rendszer MoveWindow gyermekablakot SetScrollPos hív meg a rendszertőlOnSize, akkor a bRedraw paraméternek SetScrollPosMoveWindow nem kell vagy nem kell lennie ahhoz, hogy a rendszer újrafestse az CWnd ablakot.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

Example

// 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

A vágólap tulajdonosának tagfüggvényét OnSizeClipboard akkor hívja meg a vágólap megtekintője, ha a vágólap az attribútummal rendelkező CF_OWNERDISPLAY adatokat tartalmazza, és a vágólapmegjelenítő ablak ügyfélterületének mérete megváltozott.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Paraméterek

pClipAppWnd
Azonosítja a vágólap-alkalmazás ablakot. Előfordulhat, hogy a mutató ideiglenes, ezért nem szabad tárolni.

hRect
Globális memóriaobjektumot azonosít. A memóriaobjektum egy olyan adatstruktúrát RECT tartalmaz, amely meghatározza a vágólap tulajdonosának a festendő területet.

Megjegyzések

A OnSizeClipboard tagfüggvényt null téglalap (0,0,0,0) hívja meg az új méretként, amikor a vágólap-alkalmazás hamarosan megsemmisül vagy kis méretű lesz. Ez lehetővé teszi a vágólap tulajdonosának, hogy felszabadítsa a megjelenítési erőforrásait.

Ezen belül OnSizeClipboardaz alkalmazásnak a GlobalLock Windows függvénnyel kell zárolnia az adatstruktúrát tartalmazó memóriát RECT . Az alkalmazás oldja fel ezt a memóriát a GlobalUnlock Windows-függvénnyel, mielőtt az vezérlést ad vagy ad vissza.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSizing

A keretrendszer meghívja ezt a tagfüggvényt, hogy jelezze, hogy a felhasználó átméretezi a téglalapot.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Paraméterek

nSide
Az áthelyezendő ablak széle.

lpRect
Az CRect elem koordinátáit tartalmazó struktúra címeRECT.

Megjegyzések

Az üzenet feldolgozásával az alkalmazás figyelheti a húzási téglalap méretét és pozícióját, és szükség esetén módosíthatja annak méretét vagy pozícióját.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

Example

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

A keretrendszer meghívja ezt a tagfüggvényt a Print Managerből, amikor hozzáadnak vagy eltávolítanak egy feladatot a Print Manager-üzenetsorból.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Paraméterek

nStatus
Megadja a jelölőt SP_JOBSTATUS .

nJobs
A Print Manager-üzenetsorban fennmaradó feladatok számát adja meg.

Megjegyzések

Ez a hívás csak tájékoztató jellegű.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnStyleChanged

A keretrendszer meghívja ezt a tagfüggvényt, miután a SetWindowLong függvény módosított egy vagy több ablakstílust.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Paraméterek

nStyleType
Azt határozza meg, hogy az ablak kiterjesztett vagy nem kívánt stílusai megváltoztak-e. Ez a paraméter a következő értékek kombinációja lehet:

  • GWL_EXSTYLE Az ablak bővített stílusai megváltoztak.

  • GWL_STYLE Az ablak nem kívánt stílusai megváltoztak.

lpStyleStruct
STYLESTRUCT Az ablak új stílusát tartalmazó struktúrára mutat. Az alkalmazások megvizsgálhatják a stílusokat, de nem módosíthatják őket.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnStyleChanging

A keretrendszer meghívja ezt a tagfüggvényt, ha a SetWindowLong függvény az ablak egy vagy több stílusának módosítására készül.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Paraméterek

nStyleType
Azt határozza meg, hogy az ablak kiterjesztett vagy nem kívánt stílusai megváltoztak-e. Ez a paraméter a következő értékek kombinációja lehet:

  • GWL_EXSTYLE Az ablak bővített stílusai megváltoztak.

  • GWL_STYLE Az ablak nem kívánt stílusai megváltoztak.

lpStyleStruct
STYLESTRUCT Az ablak új stílusát tartalmazó struktúrára mutat. Az alkalmazások megvizsgálhatják és módosíthatják a stílusokat.

Megjegyzések

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSysChar

A keretrendszer meghívja ezt a tagfüggvényt, ha CWnd a bemeneti fókusz és az WM_SYSKEYUPWM_SYSKEYDOWN üzenetek lefordítva vannak.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A Control-menu kulcs ASCII-karakteres kulcskódját adja meg.

nRepCnt
Megadja az ismétlések számát, vagyis azt, hogy a billentyűleütés hányszor ismétlődik a kulcsot lenyomó felhasználó eredményeképpen.

nFlags
A nFlags paraméter a következő értékekkel rendelkezhet:

Érték Meaning
0-15 Megadja az ismétlések számát. Az érték az a szám, amikor a felhasználó lenyomja a kulcsot, és a billentyűleütés ismétlődik.
16-23 A beolvasási kódot adja meg. Az érték az eredeti berendezés gyártójától (OEM) függ
24 Megadja, hogy a kulcs kiterjesztett kulcs-e, például a jobb oldali ALT és CTRL billentyűk, amelyek egy továbbfejlesztett 101 vagy 102 billentyűs billentyűzeten jelennek meg. Az érték 1, ha kiterjesztett kulcs; ellenkező esetben 0.
25-28 A Windows belsőleg használja.
29 Megadja a környezeti kódot. Az érték 1, ha az ALT billentyűt lenyomva tartja a billentyű lenyomása közben; ellenkező esetben az érték 0.
30 Az előző kulcsállapot megadása. Az érték 1, ha a kulcs le van állítva az üzenet elküldése előtt, vagy 0, ha a kulcs fel van állítva.
31 Az áttűnési állapotot adja meg. Az érték 1, ha a kulcs ki van adva, vagy 0, ha a kulcs le van nyomva.

Megjegyzések

Megadja a Control-menu kulcs virtuális kulcskódját. (A szabványos virtuális kulcskódok listáját lásd: Winuser.h)

Ha a környezeti kód 0, WM_SYSCHAR továbbíthatja az WM_SYSCHAR üzenetet a TranslateAccelerator Windows függvénynek, amely úgy fogja kezelni, mintha normál kulcsüzenet lenne a rendszer karakterkulcsa helyett. Így a gyorsítókulcsok akkor is használhatók az aktív ablakban, ha az aktív ablak nem rendelkezik a bemeneti fókuszsal.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet.nFlags

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSysColorChange

A keretrendszer meghívja ezt a tagfüggvényt az összes felső szintű ablakhoz, amikor módosítás történik a rendszer színbeállításában.

afx_msg void OnSysColorChange();

Megjegyzések

A Windows minden olyan ablakot hív OnSysColorChange meg, amelyet a rendszer színváltozása érint.

A meglévő rendszerszíneket használó ecsetekkel rendelkező alkalmazásoknak törölniük kell ezeket az ecseteket, és újra létre kell hozniuk őket az új rendszerszínekkel.

CWnd::OnSysCommand

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó kiválaszt egy parancsot a Vezérlő menüből, vagy amikor a felhasználó a Teljes méret vagy a Kis méret gombot választja.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Paraméterek

nID
Megadja a kért rendszerparancs típusát. Ez a paraméter a következő értékek bármelyike lehet:

  • SC_CLOSE Zárja be az CWnd objektumot.

  • SC_HOTKEY Aktiválja az CWnd alkalmazás által megadott gyorsbillentyűhöz társított objektumot. Az alacsonyrendű szó lParam azonosítja az HWND aktiválni kívánt ablakot.

  • SC_HSCROLL Görgetés vízszintesen.

  • SC_KEYMENU Menü lekérése billentyűleütéssel.

  • SC_MAXIMIZE (vagy SC_ZOOM) Az objektum teljes méretének CWnd maximalizálása.

  • SC_MINIMIZE (vagy SC_ICON) CWnd Az objektum kis méretűre állítása.

  • SC_MOUSEMENU Menü lekérése egérkattintáson keresztül.

  • SC_MOVE Helyezze át az CWnd objektumot.

  • SC_NEXTWINDOW Ugrás a következő ablakra.

  • SC_PREVWINDOW Ugrás az előző ablakra.

  • SC_RESTORE Az ablak visszaállítása normál helyre és méretre.

  • SC_SCREENSAVE Végrehajtja a fájl [boot] szakaszában SYSTEM.INI megadott képernyőkímélő alkalmazást.

  • SC_SIZE Méretezd az CWnd objektumot.

  • SC_TASKLIST Hajtsa végre vagy aktiválja a Windows Task Manager alkalmazást.

  • SC_VSCROLL Görgetés függőlegesen.

lParam
Ha egy Control-menu parancsot választ az egérrel, lParam a kurzor koordinátáit tartalmazza. Az alacsony sorrendű szó tartalmazza az x koordinátát, a magasrendű szó pedig az y koordinátát. Ellenkező esetben ezt a paramétert nem használja a rendszer.

  • SC_HOTKEY Aktiválja az alkalmazás által megadott gyorsbillentyűhöz társított ablakot. Az alacsonyrendű szó lParam azonosítja az aktiválni kívánt ablakot.

  • SC_SCREENSAVE Hajtsa végre a Vezérlőpult Asztali szakaszában megadott képernyőkímélő alkalmazást.

Megjegyzések

Alapértelmezés szerint OnSysCommand végrehajtja a Control-menu kérést az előző táblázatban megadott előre definiált műveletekhez.

Az üzenetekben WM_SYSCOMMAND a paraméter négy alacsonyrendű bitje nID belsőleg használatos a Windowsban. Amikor egy alkalmazás teszteli az értékeket nID, a helyes eredmény eléréséhez az 0xFFF0 nID értéket a bitenkénti ÉS operátorral kell kombinálnia.

A Vezérlő menü menüelemei módosíthatók a GetSystemMenu, AppendMenu, InsertMenués ModifyMenu tagfüggvényekkel. A Vezérlő menüt módosító alkalmazásoknak fel kell dolgoznia WM_SYSCOMMAND az üzeneteket, és az WM_SYSCOMMAND alkalmazás által nem kezelt üzeneteket át kell adni az alkalmazásnak OnSysCommand. Az alkalmazás által hozzáadott parancsértékeket az alkalmazásnak kell feldolgoznia, és nem lehet átadni az alkalmazásnak OnSysCommand.

Az alkalmazások bármikor végrehajthatnak bármilyen rendszerparancsot, ha üzenetet adnak át WM_SYSCOMMAND a rendszernek OnSysCommand.

A Vezérlő menü elemeinek kiválasztásához definiált gyorsítóbillentyűk (billentyűparancsok) hívásokká OnSysCommand lesznek lefordítva; az összes többi gyorsítóbillentyű le lesz fordítva üzenetekre WM_COMMAND .

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSysDeadChar

A keretrendszer meghívja ezt a tagfüggvényt, ha az CWnd objektum a bemeneti fókuszt az vagy OnSysKeyDown tagfüggvény OnSysKeyUp meghívásakor tartalmazza.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A holtkulcs karakterértékét adja meg.

nRepCnt
Megadja az ismétlések számát.

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Meaning
0-7 Kód beolvasása (OEM-függő érték). Kis bájtnyi magasrendű szó.
8 Kiterjesztett kulcs, például függvénykulcs vagy a numerikus billentyűzeten lévő kulcs (1, ha kiterjesztett kulcs; egyébként 0).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja, ellenkező esetben 0).
14 Előző kulcsállapot (1, ha a kulcs le van állítva a hívás előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Megjegyzések

Egy halott kulcs karakterértékét adja meg.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSysKeyDown

Ha az CWnd objektum a bemeneti fókuszt használja, a OnSysKeyDown tagfüggvényt a keretrendszer hívja meg, amikor a felhasználó lenyomja az ALT billentyűt, majd lenyom egy másik billentyűt.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A lenyomott kulcs virtuális kulcskódját adja meg. A szabványos virtuális kulcskódok listájáért lásd: Winuser.h

nRepCnt
Megadja az ismétlések számát.

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Meaning
0-7 Kód beolvasása (OEM-függő érték). Kis bájtnyi magasrendű szó.
8 Kiterjesztett kulcs, például függvénykulcs vagy a numerikus billentyűzeten lévő kulcs (1, ha kiterjesztett kulcs; egyébként 0).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja a billentyű lenyomása közben, 0 ellenkező esetben).
14 Előző kulcsállapot (1, ha a kulcs le van állítva az üzenet elküldése előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Hívások esetén OnSysKeyDown a kulcsáttűnési bit (15. bit) 0. A környezeti kód bitje (13. bit) 1, ha az ALT billentyű le van nyomva, a billentyű lenyomása pedig 1. ez 0, ha az üzenetet az aktív ablakba küldi a rendszer, mert nincs olyan ablak, amely a bemeneti fókuszt tartalmazta volna.

Megjegyzések

Ha jelenleg egyetlen ablakban sincs a bemeneti fókusz, a rendszer meghívja az aktív ablak tagfüggvényét OnSysKeyDown . Az CWnd üzenetet fogadó objektum különbséget tehet a két környezet között a környezeti kód ellenőrzésével.nFlags

Ha a környezeti kód 0, a WM_SYSKEYDOWN kapott OnSysKeyDown üzenet továbbítható a TranslateAccelerator Windows függvénynek, amely úgy kezeli, mintha normál kulcsüzenet lenne a rendszerkulcs-üzenet helyett. Így a gyorsítókulcsok akkor is használhatók az aktív ablakban, ha az aktív ablak nem rendelkezik a bemeneti fókuszsal.

Az automatikus ismétlés miatt több OnSysKeyDown hívás is előfordulhat az üzenet fogadása WM_SYSKEYUP előtt. Az előző kulcsállapot (14. bit) használható annak meghatározására, hogy a OnSysKeyDown hívás az első lefelé vagy ismétlődő lefelé váltást jelzi-e.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet.nFlags

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnSysKeyUp

Ha az CWnd objektum fókuszba kerül, a OnSysKeyUp tagfüggvényt a keretrendszer hívja meg, amikor a felhasználó az ALT billentyű lenyomása közben lenyomott kulcsot ad ki.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
A lenyomott kulcs virtuális kulcskódját adja meg. A szabványos virtuális kulcskódok listáját lásd: Winuser.h

nRepCnt
Megadja az ismétlések számát.

nFlags
Megadja a vizsgálati kódot, a kulcsáttűnési kódot, az előző kulcsállapotot és a környezeti kódot az alábbi listában látható módon:

Érték Meaning
0-7 Kód beolvasása (OEM-függő érték). Kis bájtnyi magasrendű szó.
8 Kiterjesztett kulcs, például függvénykulcs vagy a numerikus billentyűzeten lévő kulcs (1, ha kiterjesztett kulcs; egyébként 0).
9-10 Nincs használatban.
11-12 A Windows belsőleg használja.
13 Környezeti kód (1, ha az ALT billentyűt lenyomva tartja a billentyű lenyomása közben, 0 ellenkező esetben).
14 Előző kulcsállapot (1, ha a kulcs le van állítva az üzenet elküldése előtt, 0, ha a kulcs fel van állítva).
15 Áttűnés állapota (1, ha a kulcs ki van adva, 0, ha a kulcs le van nyomva).

Hívások esetén OnSysKeyUp a kulcsáttűnési bit (15. bit) 1. A környezeti kód bitje (13. bit) 1, ha az ALT billentyű le van nyomva, a billentyű lenyomása pedig 1. ez 0, ha az üzenetet az aktív ablakba küldi a rendszer, mert nincs olyan ablak, amely a bemeneti fókuszt tartalmazta volna.

Megjegyzések

Ha jelenleg egyetlen ablakban sincs a bemeneti fókusz, a rendszer meghívja az aktív ablak tagfüggvényét OnSysKeyUp . A CWnd hívást fogadó objektum különbséget tehet a két környezet között a környezeti kód ellenőrzésével.nFlags

Ha a környezeti kód 0, a WM_SYSKEYUP kapott OnSysKeyUp üzenet továbbítható a TranslateAccelerator Windows függvénynek, amely úgy kezeli, mintha normál kulcsüzenet lenne a rendszerkulcs-üzenet helyett. Ez lehetővé teszi a gyorsítókulcsok (billentyűparancsok) használatát az aktív ablakban akkor is, ha az aktív ablak nem rendelkezik a bemeneti fókuszsal.

Az IBM Enhanced 101 és 102 billentyűs billentyűzetek esetében a továbbfejlesztett billentyűk a billentyűzet fő szakaszában a jobb ALT és a jobb CTRL billentyűk; az INS, DEL, HOME, END, PAGE UP, PAGE DOWN és arrow keys in the clusters to the left of the numeric keypad; és a perjel (/) és az ENTER billentyűk a numerikus billentyűzeten. Egyes más billentyűzetek támogathatják a kiterjesztett kulcsú bitet az nFlags-ben.

Nem Amerikai Egyesült Államok esetén Továbbfejlesztett 102 billentyűs billentyűzetek, a jobb ALT billentyű a CTRL+ALT billentyűkombináció. Az alábbiakban azoknak az üzeneteknek és hívásoknak a sorozatát mutatjuk be, amelyek akkor következnek be, amikor a felhasználó megnyomja és kiadja ezt a kulcsot:

Szekvencia Elérhető függvény Üzenet átadva
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnTCard

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó egy szerkeszthető gombra kattint.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Paraméterek

idAction
A felhasználó által végrehajtott műveletet jelzi. Ez a paraméter a következő értékek egyike lehet:

  • IDABORT A felhasználó egy szerkeszthető megszakítás gombra kattintott.

  • IDCANCEL A felhasználó egy szerkeszthető Mégse gombra kattintott.

  • IDCLOSE A felhasználó bezárta a betanítási kártyát.

  • IDHELP A felhasználó egy szerkeszthető Windows súgó gombra kattintott.

  • IDIGNORE A felhasználó egy szerkeszthető Mellőzés gombra kattintott.

  • IDOK A felhasználó egy szerkeszthető OK gombra kattintott.

  • IDNO A felhasználó egy szerkeszthető Nem gombra kattintott.

  • IDRETRY A felhasználó egy szerkeszthető Újrapróbálkozás gombra kattintott.

  • HELP_TCARD_DATA A felhasználó egy szerkeszthető gombra kattintott. A dwActionData paraméter egy hosszú egész számot tartalmaz, amelyet a súgó szerzője adott meg.

  • HELP_TCARD_NEXT A felhasználó egy szerkeszthető Tovább gombra kattintott.

  • HELP_TCARD_OTHER_CALLER Egy másik alkalmazás képzési kártyákat kért.

  • IDYES A felhasználó egy szerkeszthető Igen gombra kattintott.

dwActionData
Ha idAction megadja HELP_TCARD_DATA, ez a paraméter a súgó szerzője által megadott hosszú egész szám. Ellenkező esetben ez a paraméter nulla.

Megjegyzések

Ezt a függvényt csak akkor hívja meg a rendszer, ha egy alkalmazás elindított egy oktatókártyát a Windows súgójával. Az alkalmazás egy betanítási kártyát kezdeményez, ha megadja a HELP_TCARD parancsot a WinHelp függvény hívásában.

CWnd::OnTimeChange

A keretrendszer a rendszeridő módosítása után meghívja ezt a tagfüggvényt.

afx_msg void OnTimeChange();

Megjegyzések

Minden olyan alkalmazás, amely módosítja a rendszeridőt, küldje el ezt az üzenetet az összes felső szintű ablakba. Ha az üzenetet az WM_TIMECHANGE összes felső szintű ablakba szeretné elküldeni, az alkalmazás használhatja a Windows függvényt a SendMessage paraméter beállításával hwndHWND_BROADCAST.

CWnd::OnTimer

A keretrendszer meghívja ezt a tagfüggvényt az SetTimer időzítő telepítéséhez használt tagfüggvényben megadott minden egyes intervallum után.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Paraméterek

nIDEvent
Az időzítő azonosítóját adja meg.

Megjegyzések

A DispatchMessage Windows függvény akkor WM_TIMER küld üzenetet, ha nincs más üzenet az alkalmazás üzenetsorában.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

Example

Lásd a példát a következőben CWnd::SetTimer: .

CWnd::OnToolHitTest

A keretrendszer meghívja ezt a tagfüggvényt annak meghatározására, hogy egy pont a megadott eszköz határoló téglalapjában van-e.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Paraméterek

point
A kurzor x és y koordinátáját adja meg. Ezek a koordináták mindig az ablak bal felső sarkához vannak viszonyítva

pTI
Egy struktúra mutatója TOOLINFO . Alapértelmezés szerint a következő struktúraértékek vannak beállítva:

  • hwnd = m_hWnd Fogópont egy ablakhoz

  • uId = (UINT)hWndChild Fogópont gyermekablakhoz

  • uFlags |= TTF_IDISHWND Az eszköz fogópontja

  • lpszText = LPSTR_TEXTCALLBACK Mutató a megadott ablakban megjelenítendő sztringre

Visszaadott érték

Ha megtalálta az elemleírás-vezérlőt, az ablakvezérlő azonosítója. Ha az elemleírás-vezérlő nem található, -1.

Megjegyzések

Ha a pont a téglalapban van, az adatokat kér le az eszközről.

Ha a terület, amelyhez az elemleírás társítva van, nem gomb, OnToolHitTest a struktúrajelzőket a következő értékre TTF_NOTBUTTON állítja be: és TTF_CENTERTIP.

Felülbírálás OnToolHitTest az alapértelmezettnél eltérő információk megadásához.

A struktúrával kapcsolatos további információkért lásd TOOLINFOa Windows SDK-ban.

CWnd::OnTouchInput

Egyetlen bemenet feldolgozása a Windows touch-ból.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Paraméterek

pt
Pont, ahol a képernyő megérintve lett (az ügyfél koordinátáiban).

nInputNumber
Érintéses bemenetek száma.

nInputsCount
Érintéses bemenetek teljes száma.

pInput
Mutató a struktúrához TOUCHINPUT .

Visszaadott érték

TRUE ha az alkalmazás windowsos érintéses bemenetet dolgoz fel; egyéb esetben FALSE.

Megjegyzések

CWnd::OnTouchInputs

Feldolgozza a Windows touch-ból származó bemeneteket.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Paraméterek

nInputsCount
A Windows érintéses bemeneteinek teljes száma.

pInputs
Tömb a TOUCHINPUT.

Visszaadott érték

TRUE ha az alkalmazás windowsos érintéses bemeneteket dolgoz fel; egyéb esetben FALSE.

Megjegyzések

CWnd::OnUniChar

A keretrendszer egy kulcs lenyomásakor meghívja ezt a tagfüggvényt. Vagyis az aktuális ablakban van a billentyűzetfókusz, és WM_KEYDOWN a függvény lefordít egy TranslateMessage üzenetet.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paraméterek

nChar
[in] A lenyomott kulcs karakterkódját adja meg.

nRepCnt
[in] Az aktuális üzenet ismétlési számát adja meg. Az érték az a szám, ahányszor a billentyűleütés automatikusan be van adva, mert a felhasználó lenyomja a kulcsot. Ha a billentyűleütés elég hosszú ideig van tárolva, a rendszer több üzenetet küld. Az ismétlések száma azonban nem halmozott.

nFlags
[in] A vizsgálati kódot, a kiterjesztett kulcsot, a környezeti kódot, az előző kulcsállapotot és az áttűnési állapotot meghatározó jelzők az alábbi táblázatban látható módon:

Bitek megjelölése Description
0-7 A beolvasási kódot adja meg. Az érték az eredeti berendezés gyártójától (OEM) függ.
8 Egy bővített kulcsot ad meg, például a jobb oldali ALT és CTRL billentyűket, amelyek egy továbbfejlesztett 101 vagy 102 billentyűs billentyűzeten jelennek meg. A jelző 1, ha a kulcs kiterjesztett kulcs; ellenkező esetben 0.
9-12 A Windows belsőleg használja.
13 Megadja a környezeti kódot. A jelölő 1, ha az ALT billentyűt lenyomva tartja a billentyű lenyomása közben; ellenkező esetben az érték 0.
14 Az előző kulcsállapot megadása. A jelölő 1, ha a kulcs le van állítva az üzenet elküldése előtt, vagy 0, ha a kulcs fel van állítva.
15 Az áttűnési állapotot adja meg. A jelölő 1, ha a kulcs ki van adva, vagy 0, ha a kulcs le van nyomva.

Megjegyzések

Ez a metódus megkapja a WM_UNICHAR Windows SDK-ban leírt értesítést. Az WM_UNICHAR üzenet Unicode-karakterek ANSI-ablakokba való küldésére vagy közzétételére szolgál. Ez egyenértékű az WM_CHAR üzenettel, de Unicode Transformation Format-32 kódolást (UTF-32) használ, míg az WM_CHAR üzenet UTF-16-ot használ.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnUnInitMenuPopup

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha egy legördülő menü vagy almenü megsemmisült.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Paraméterek

pMenu
[in] Mutasson a CMenu menüt vagy almenüt jelképező objektumra.

nFlags
[in] A menü, ami elpusztult. Jelenleg csak az ablak menüje lehet. MF_SYSMENU

Megjegyzések

Ez a metódus megkapja a WM_UNINITMENUPOPUP Windows SDK-ban leírt értesítést.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnUpdateUIState

A megadott ablak és az összes gyermekablak felhasználói felületi (UI) állapotának módosítására van meghívva.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Paraméterek

nAction
Megadja a végrehajtandó műveletet. Az alábbi értékek egyike lehet:

  • UIS_CLEAR A felhasználói felület állapotelemének (a megadott nUIElement) rejtettnek kell lennie.

  • UIS_INITIALIZE A felhasználói felület állapotelemét (a megadott nUIElement) az utolsó bemeneti esemény alapján kell módosítani. További információkért lásd a Megjegyzések szakaszt WM_UPDATEISTATE.

  • UIS_SET A felhasználói felület állapotelemének (a megadott nUIElement) láthatónak kell lennie.

nUIElement
Meghatározza, hogy mely felhasználói felületi állapotelemekre vagy a vezérlőelem stílusára van hatással. Az alábbi értékek egyike lehet:

  • UISF_HIDEACCEL Billentyűzetgyorsítók.

  • UISF_HIDEFOCUS Fókuszjelzők.

  • UISF_ACTIVE Windows XP: Az aktív vezérlőkhöz használt stílusban kell vezérlőelemet rajzolni.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az WM_UPDATEUISTATE üzenet funkcióit.

CWnd::OnUserChanged

A keretrendszer meghívja ezt a tagot az összes ablakhoz, miután a felhasználó bejelentkezett vagy ki lett kapcsolva.

afx_msg void OnUserChanged();

Megjegyzések

Ez a metódus megkapja a WM_USERCHANGED Windows SDK-ban leírt értesítési üzenetet. Amikor a felhasználó bejelentkezik vagy ki van kapcsolva, az operációs rendszer frissíti a felhasználóspecifikus beállításokat. A rendszer a beállítások frissítése után azonnal elküldi ezt az üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnVKeyToItem

Ha az CWnd objektum rendelkezik egy stílussal rendelkező listamezővelLBS_WANTKEYBOARDINPUT, a listamező egy üzenetre válaszul WM_KEYDOWN küldi el az WM_VKEYTOITEM üzenetet.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Paraméterek

nKey
A felhasználó által lenyomott kulcs virtuális kulcskódját adja meg. A szabványos virtuális kulcskódok listáját lásd: Winuser.h

pListBox
A listamezőre mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

nIndex
Az aktuális gondozási pozíciót adja meg.

Visszaadott érték

Az alkalmazás által az üzenetre adott válaszként végrehajtott műveletet adja meg. A -2 visszatérési értéke azt jelzi, hogy az alkalmazás kezelte az elem kiválasztásának minden aspektusát, és nem igényel további műveletet a listamezőben. A -1 visszatérési értéke azt jelzi, hogy a listamezőnek az alapértelmezett műveletet kell végrehajtania a billentyűleütésre válaszul. A 0 vagy annál nagyobb visszatérési érték a listamező egyik elemének nullaalapú indexét adja meg, és azt jelzi, hogy a listamezőnek végre kell hajtania az adott elem billentyűleütésének alapértelmezett műveletét.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer csak a stílussal rendelkező LBS_HASSTRINGS listamezőkhöz hívja meg.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnVScroll

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó az ablak függőleges görgetősávjára kattint.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Paraméterek

nSBCode
Egy görgetősáv-kódot ad meg, amely a felhasználó görgetési kérését jelzi. Ez a paraméter a következők egyike lehet:

  • SB_BOTTOM Görgessen lefelé.

  • SB_ENDSCROLL Görgetés vége.

  • SB_LINEDOWN Görgessen le egy sort.

  • SB_LINEUP Görgetés egy sorban felfelé.

  • SB_PAGEDOWN Görgessen le egy oldalt lefelé.

  • SB_PAGEUP Görgetés egy oldallal feljebb.

  • SB_THUMBPOSITION Görgessen az abszolút pozícióhoz. Az aktuális pozíció a következőben nPosvan megadva: .

  • SB_THUMBTRACK Húzza a görgetődobozt a megadott helyre. Az aktuális pozíció a következőben nPosvan megadva: .

  • SB_TOP Görgessen felfelé.

nPos
Az aktuális görgetődoboz-pozíciót tartalmazza, ha a görgetősáv kódja vagy SB_THUMBPOSITIONSB_THUMBTRACKmás módon nem használható. A kezdeti görgetési tartománytól függően negatív lehet, nPos és szükség esetén át kell helyezni.int

pScrollBar
Ha a görgetőüzenet egy görgetősáv-vezérlőből származik, a vezérlőre mutató mutatót tartalmaz. Ha a felhasználó egy ablak görgetősávjára kattintott, ez a paraméter.NULL Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

OnVScroll Általában olyan alkalmazások használják, amelyek visszajelzést adnak a görgetőpanel húzása közben.

Ha OnVScroll görgeti az CWnd objektum tartalmát, a görgetőmező helyét is alaphelyzetbe kell állítania a SetScrollPos tagfüggvénnyel.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnVScrollClipboard

A vágólap tulajdonosának tagfüggvényét OnVScrollClipboard a vágólap megtekintője hívja meg, ha a vágólap adatainak CF_OWNERDISPLAY formátuma van, és a vágólap-megjelenítő függőleges görgetősávján esemény van.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Paraméterek

pClipAppWnd
Egy vágólapmegjelenítő ablakra mutató mutatót ad meg. Előfordulhat, hogy a mutató ideiglenes, és nem szabad későbbi használatra tárolni.

nSBCode
A következő görgetősáv-értékek egyikét adja meg:

  • SB_BOTTOM Görgessen lefelé.

  • SB_ENDSCROLL Görgetés vége.

  • SB_LINEDOWN Görgessen le egy sort.

  • SB_LINEUP Görgetés egy sorban felfelé.

  • SB_PAGEDOWN Görgessen le egy oldalt lefelé.

  • SB_PAGEUP Görgetés egy oldallal feljebb.

  • SB_THUMBPOSITION Görgessen az abszolút pozícióhoz. Az aktuális pozíció a következőben nPosvan megadva: .

  • SB_TOP Görgessen felfelé.

nPos
A görgetődoboz pozícióját tartalmazza, ha a görgetősáv kódja ; SB_THUMBPOSITIONellenkező esetben nPos nincs használatban.

Megjegyzések

A tulajdonosnak görgetnie kell a vágólap képét, érvénytelenítenie kell a megfelelő szakaszt, és frissítenie kell a görgetősáv értékeit.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnWindowMaximizedChanged

A keretrendszer akkor hívja meg ezt a tagot, ha az aktuális ablak teljes méretű, és az ablakot a Desktop Window Manager (DWM) állítja össze.

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Paraméterek

bIsMaximized
[in] TRUE ha az aktuális ablak teljes méretű, és FALSE ha nem.

Megjegyzések

Ez a metódus megkapja a WM_DWMWINDOWMAXIMIZEDCHANGE Windows SDK-ban leírt értesítési üzenetet.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnWindowPosChanged

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a méret, a pozíció vagy a Z-sorrend megváltozott a SetWindowPos tagfüggvény vagy egy másik ablakkezelő függvény hívása miatt.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Paraméterek

lpwndpos
Egy olyan adatstruktúrára WINDOWPOS mutat, amely az ablak új méretével és helyzetével kapcsolatos információkat tartalmaz.

Megjegyzések

Az alapértelmezett implementáció elküldi az és az WM_SIZEWM_MOVE üzeneteket az ablakba. Ezek az üzenetek nem lesznek elküldve, ha egy alkalmazás az alaposztály meghívása nélkül kezeli a OnWindowPosChanged hívást. Az alaposztály meghívása nélkül hatékonyabban hajthat végre bármilyen áthelyezési vagy méretmódosítási feldolgozást a hívás OnWindowPosChanged során.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnWindowPosChanging

A keretrendszer akkor hívja meg ezt a tagfüggvényt, ha a méret, a pozíció vagy a Z-sorrend a tagfüggvény vagy egy másik ablakkezelő függvény hívása SetWindowPos következtében módosulni készül.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Paraméterek

lpwndpos
Egy olyan adatstruktúrára WINDOWPOS mutat, amely az ablak új méretével és helyzetével kapcsolatos információkat tartalmaz.

Megjegyzések

Az alkalmazások a megfelelő bitek beállításával vagy törlésével megakadályozhatják az ablak módosítását a flagsWINDOWPOS struktúra tagjában.

A stílussal vagy WS_THICKFRAME stílussal WS_OVERLAPPED rendelkező ablakok esetében az alapértelmezett implementáció üzenetet WM_GETMINMAXINFO küld az ablaknak. Ez az ablak új méretének és pozíciójának ellenőrzéséhez, valamint az ügyfélstílusok és CS_BYTEALIGN az CS_BYTEALIGNCLIENT ügyfélstílusok érvényesítéséhez szükséges. Az alkalmazások felülbírálhatják ezt a funkciót úgy, hogy nem hívják meg az alaposztályt.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnWinIniChange

A keretrendszer meghívja ezt a tagfüggvényt a Windows inicializálási fájljának módosítása után. WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Paraméterek

lpszSection
Egy sztringre mutat, amely megadja a módosított szakasz nevét. (A sztring nem tartalmazza a szakasz nevét tartalmazó szögletes zárójeleket.)

Megjegyzések

A SystemParametersInfo Windows függvény azután hív meg OnWinIniChange , hogy egy alkalmazás a függvény használatával módosít egy beállítást a WIN.INI fájlban.

Ha az üzenetet az WM_WININICHANGE összes felső szintű ablakba szeretné elküldeni, az alkalmazás használhatja a Windows függvényt a SendMessage paraméter beállításával hwndHWND_BROADCAST.

Ha egy alkalmazás egyszerre több szakaszt WIN.INI is módosít, az alkalmazásnak egy WM_WININICHANGE üzenetet kell küldenie a beállítással lpszSectionNULL. Ellenkező esetben az alkalmazásnak minden alkalommal el kell küldenieWM_WININICHANGE, amikor módosítást végez.WIN.INI

Ha egy alkalmazás olyan hívást kap OnWinIniChange , amelynek lpszSectionNULLa beállítása be van állítva, az alkalmazásnak ellenőriznie kell a WIN összes szakaszát. Az alkalmazást érintő INI.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnWndMsg

Ezt a tagfüggvényt az üzenetvisszaverés során WindowProchívjuk meg, vagy hívjuk meg.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paraméterek

message
Megadja az elküldendő üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

pResult
A függvény visszatérési WindowProcértéke. Az üzenettől függ; NULLlehet .

Visszaadott érték

IGAZ, ha az üzenetet kezelték; egyéb esetben HAMIS.

Megjegyzések

OnWndMsg meghatározza az üzenet típusát, és vagy meghívja a megfelelő keretrendszerfüggvényt (például OnCommand ), WM_COMMANDvagy megkeresi a megfelelő üzenetet az üzenettérképen.

Az üzenetvisszaverésről további információt a Tükrözött üzenetek kezelése című témakörben talál.

CWnd::OnXButtonDblClk

A keretrendszer meghívja ezt a tagfüggvényt XBUTTON1 , amikor a felhasználó duplán kattint, vagy XBUTTON2 amikor a kurzor egy ablak ügyfélterületén van.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paraméterek

nFlags
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van.

nButton
[in] Annak az értéke XBUTTON1 , ha az első Microsoft Intellimouse X gombra duplán kattint, vagy XBUTTON2, ha a második X gombra duplán kattint.

point
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_XBUTTONDBLCLK Windows SDK-ban leírt értesítést. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret.

A nFlags paraméter az alábbi táblázatban felsorolt módosító kulcsok kombinációja lehet. További információ: Az egér bemenete.

Módosító kulcs Description
MK_CONTROL A CTRL billentyű lenyomva van.
MK_LBUTTON A bal egérgomb lenyomva van.
MK_MBUTTON A középső egérgomb lenyomva van.
MK_RBUTTON A jobb egérgomb lenyomva van.
MK_SHIFT A SHIFT billentyű lenyomva van.
MK_XBUTTON1 A XBUTTON1 Microsoft IntelliMouse egérgombja le van nyomva.
MK_XBUTTON2 A XBUTTON2 Microsoft IntelliMouse egérgombja le van nyomva.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnXButtonDown

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó megnyomja XBUTTON1 , vagy XBUTTON2 amikor a kurzor egy ablak ügyfélterületén van.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paraméterek

nFlags
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van.

nButton
[in] Annak az értéke XBUTTON1 , hogy az első Microsoft Intellimouse X gombra kattintott-e, vagy XBUTTON2 a második X gombra kattintott.

point
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_XBUTTONDOWN Windows SDK-ban leírt értesítést. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret.

A nFlags paraméter az alábbi táblázatban felsorolt módosító kulcsok kombinációja lehet. További információ: Az egér bemenete.

Módosító kulcs Description
MK_CONTROL A CTRL billentyű lenyomva van.
MK_LBUTTON A bal egérgomb lenyomva van.
MK_MBUTTON A középső egérgomb lenyomva van.
MK_RBUTTON A jobb egérgomb lenyomva van.
MK_SHIFT A SHIFT billentyű lenyomva van.
MK_XBUTTON1 A XBUTTON1 Microsoft IntelliMouse egérgombja le van nyomva.
MK_XBUTTON2 A XBUTTON2 Microsoft IntelliMouse egérgombja le van nyomva.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OnXButtonUp

A keretrendszer meghívja ezt a tagfüggvényt XBUTTON1 , amikor a felhasználó megjelent, vagy XBUTTON2 amikor a kurzor az ablak ügyfélterületén van.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paraméterek

nFlags
[in] A jelölők bitenkénti kombinációja (OR), amely jelzi, hogy mely módosító kulcsok vannak lenyomva. A jelölő például azt jelzi, MK_CONTROL hogy a CTRL billentyű lenyomva van.

nButton
[in] Annak az értéke XBUTTON1 , hogy az első Microsoft Intellimouse X gombra duplán kattintott-e, vagy XBUTTON2 ha a második X gombra duplán kattintott.

point
[in] Az CPoint ügyfélterület bal felső sarkához viszonyított kurzort és y koordinátákat meghatározó x objektum.

Megjegyzések

Ez a metódus megkapja a WM_XBUTTONUP Windows SDK-ban leírt értesítést. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret.

A nFlags paraméter az alábbi táblázatban felsorolt módosító kulcsok kombinációja lehet. További információ: Az egér bemenete.

Módosító kulcs Description
MK_CONTROL A CTRL billentyű lenyomva van.
MK_LBUTTON A bal egérgomb lenyomva van.
MK_MBUTTON A középső egérgomb lenyomva van.
MK_RBUTTON A jobb egérgomb lenyomva van.
MK_SHIFT A SHIFT billentyű lenyomva van.
MK_XBUTTON1 A XBUTTON1 Microsoft IntelliMouse egérgombja le van nyomva.
MK_XBUTTON2 A XBUTTON2 Microsoft IntelliMouse egérgombja le van nyomva.

Megjegyzés:

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy az alkalmazás kezelni tudja a Windows-üzeneteket. A függvénynek átadott paraméterek a keretrendszer által az üzenet fogadásakor kapott paramétereket tükrözik. Ha ennek a függvénynek az alaposztályú implementációját hívja meg, az implementáció az üzenetben eredetileg átadott paramétereket fogja használni, nem pedig a függvénynek megadott paramétereket.

CWnd::OpenClipboard

Megnyitja a vágólapot.

BOOL OpenClipboard();

Visszaadott érték

Nonzero, ha a vágólap a következőn keresztül CWndvan megnyitva, vagy 0, ha egy másik alkalmazás vagy ablak megnyitotta a vágólapot.

Megjegyzések

Más alkalmazások csak a Windows-függvény meghívása után módosíthatják a CloseClipboard vágólapot.

Az aktuális CWnd objektum nem lesz a vágólap tulajdonosa, amíg meg nem hívja a EmptyClipboard Windows függvényt.

Example

//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

Ezzel az operátorral lekérheti a fogópontot az CWnd objektumhoz.

operator HWND() const;

CWnd::operator !=

Összehasonlít két CWnd objektumot annak megállapításához, hogy nincsenek-e azonosak m_hWnd.

BOOL operator!=(const CWnd& wnd) const;

Paraméterek

wnd
Hivatkozás egy CWnd objektumra.

Visszaadott érték

Nonzero, ha egyenlő; egyéb esetben 0.

CWnd::operator ==

Összehasonlít két CWnd objektumot annak megállapításához, hogy azonosak-e m_hWnd.

BOOL operator==(const CWnd& wnd) const;

Paraméterek

wnd
Hivatkozás egy CWnd objektumra.

Visszaadott érték

Nonzero, ha egyenlő; egyéb esetben 0.

CWnd::PaintWindowlessControls

Ablak nélküli vezérlőket rajzol a vezérlőtárolóra.

BOOL PaintWindowlessControls(CDC* pDC);

Paraméterek

pDC
Az eszközkörnyezet, amelyre az ablak nélküli vezérlőket meg kell rajzolni.

Visszaadott érték

Akkor ad TRUE vissza értéket, ha van vezérlőtároló, és az ablak nélküli vezérlők sikeresen meg vannak rajzolva, ellenkező esetben FALSE.

CWnd::PostMessage

Elhelyez egy üzenetet az ablak üzenetsorában, majd anélkül tér vissza, hogy megvárja a megfelelő ablakot az üzenet feldolgozásához.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paraméterek

message
Megadja a közzéteendő üzenetet.

wParam
További üzenetinformációkat ad meg. A paraméter tartalma a közzétett üzenettől függ.

lParam
További üzenetinformációkat ad meg. A paraméter tartalma a közzétett üzenettől függ.

Visszaadott érték

Nonzero, ha az üzenet közzé van adva; egyéb esetben 0.

Megjegyzések

Az üzenetsorban lévő üzeneteket a rendszer a windowsos vagy PeekMessage a GetMessage windowsos függvény hívásával kéri le.

A Windows PostMessage függvény egy másik alkalmazás eléréséhez használható.

Example

Lásd a példát a AfxGetMainWnd.

CWnd::PostNcDestroy

Az alapértelmezett OnNcDestroy tagfüggvény hívja meg az ablak megsemmisülése után.

virtual void PostNcDestroy();

Megjegyzések

A származtatott osztályok ezt a függvényt használhatják egyéni törléshez, például a mutató törléséhez this .

CWnd::PreCreateWindow

A keretrendszer meghívta az objektumhoz CWnd csatolt Windows-ablak létrehozása előtt.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Paraméterek

cs
Egy CREATESTRUCT struktúra.

Visszaadott érték

Nonzero, ha az ablak létrehozásának folytatódnia kell; 0 a létrehozási hiba jelzéséhez.

Megjegyzések

Figyelmeztetés

CWnd::PreCreateWindow Most hozzárendeli a hMenu tagot cs az this egérmutatóhoz, ha a menü és NULL a stílus tartalmazza WS_CHILD. A megfelelő működés érdekében győződjön meg arról, hogy a párbeszédpanel-vezérlő nem NULLmegfelelő azonosítóval rendelkezik.

Ez a módosítás kijavít egy összeomlást a felügyelt/natív interop-forgatókönyvekben. Egy TRACE utasítás figyelmezteti CWnd::Create a fejlesztőt a problémára.

Soha ne hívja meg közvetlenül ezt a függvényt.

A függvény alapértelmezett implementációja ellenőrzi az NULL ablakosztály nevét, és lecseréli a megfelelő alapértelmezett értéket. A tagfüggvény felülbírálása a CREATESTRUCT struktúra módosításához az ablak létrehozása előtt.

Minden osztály saját CWnd funkciókat ad hozzá a felülbírálásához PreCreateWindow. Ezek a származtatások PreCreateWindow tervezés szerint nincsenek dokumentálva. Az egyes osztályoknak megfelelő stílusok és a stílusok közötti kölcsönhatások meghatározásához megvizsgálhatja az alkalmazás alaposztályának MFC-forráskódját. Ha felülbírálást PreCreateWindow, választ, meghatározhatja, hogy az alkalmazás alaposztályában használt stílusok biztosítják-e a szükséges funkciókat az MFC-forráskódból összegyűjtött információk használatával.

Az ablakstílusok módosításáról további információt az MFC által létrehozott ablak stílusainak módosítása című témakörben talál.

Example

// 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

Ezt a tagfüggvényt a keretrendszer meghívja, hogy az ablak alosztályozása előtt más szükséges alosztályozás történjen.

virtual void PreSubclassWindow();

Megjegyzések

A tagfüggvény felülírása lehetővé teszi a vezérlők dinamikus alosztályozását. Ez egy speciális felülírható.

CWnd::PreTranslateMessage

Az osztály CWinApp az ablaküzenetek fordítására szolgál, mielőtt elküldené őket a TranslateMessage és DispatchMessage Windows-függvényekbe.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paraméterek

pMsg
MSG A feldolgozandó üzenetet tartalmazó struktúrára mutat.

Visszaadott érték

Nonzero, ha az üzenetet lefordították, és nem szabad elküldeni; 0, ha az üzenet nem lett lefordítva, és el kell küldeni.

CWnd::Print

Ennek a tagfüggvénynek a meghívásával rajzolja meg az aktuális ablakot a megadott eszközkörnyezetben, amely leggyakrabban nyomtatóeszköz-környezetben található.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Paraméterek

pDC
Egy eszközkörnyezetre mutató mutató.

dwFlags
Megadja a rajzbeállításokat. Ez a paraméter a következő jelzők közül egy vagy több lehet:

  • PRF_CHECKVISIBLE Csak akkor rajzolja meg az ablakot, ha látható.

  • PRF_CHILDREN Rajzolja meg az összes látható gyermekablakot.

  • PRF_CLIENT Rajzolja meg az ablak ügyfélterületét.

  • PRF_ERASEBKGND Az ablak rajzolása előtt törölje a hátteret.

  • PRF_NONCLIENT Rajzolja meg az ablak nem megfelelő területét.

  • PRF_OWNED Rajzolja meg az összes saját ablakot.

Megjegyzések

CWnd::DefWindowProc függvény a következő rajzbeállítás alapján dolgozza fel ezt az üzenetet:

  • Ha PRF_CHECKVISIBLE meg van adva, és az ablak nem látható, ne tegyen semmit.

  • Ha PRF_NONCLIENT meg van adva, rajzolja meg a nem megfelelő területet az adott eszközkörnyezetben.

  • Ha PRF_ERASEBKGND meg van adva, küldjön egy üzenetet az ablaknak WM_ERASEBKGND .

  • Ha PRF_CLIENT meg van adva, küldjön egy üzenetet az ablaknak WM_PRINTCLIENT .

  • Ha PRF_CHILDREN be van állítva, küldjön üzenetet minden látható gyermekablaknak WM_PRINT .

  • Ha PRF_OWNED be van állítva, küldjön egy üzenetet minden WM_PRINT látható saját ablaknak.

CWnd::PrintClient

Hívja meg ezt a tagfüggvényt, hogy rajzoljon egy ablakot a megadott eszközkörnyezetben (általában nyomtatóeszköz-környezetben).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Paraméterek

pDC
Egy eszközkörnyezetre mutató mutató.

dwFlags
Megadja a rajzbeállításokat. Ez a paraméter a következő jelzők közül egy vagy több lehet:

  • PRF_CHECKVISIBLE Csak akkor rajzolja meg az ablakot, ha látható.

  • PRF_CHILDREN Rajzolja meg az összes látható gyermekablakot.

  • PRF_CLIENT Rajzolja meg az ablak ügyfélterületét.

  • PRF_ERASEBKGND Az ablak rajzolása előtt törölje a hátteret.

  • PRF_NONCLIENT Rajzolja meg az ablak nem megfelelő területét.

  • PRF_OWNED Rajzolja meg az összes saját ablakot.

CWnd::PrintWindow

Vizualizációs ablakot másol a megadott eszközkörnyezetbe, általában egy nyomtató tartományvezérlőbe.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Paraméterek

pDC
Mutató arra az eszközkörnyezetre, amelybe nyomtatni kell.

nFlags
Megadja a rajzbeállításokat. A lehetséges értékek listáját lásd: PrintWindow.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény PrintWindowfunkcióit.

CWnd::RedrawWindow

Frissíti a megadott téglalapot vagy régiót az adott ablak ügyfélterületén.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Paraméterek

lpRectUpdate
RECT A frissítési téglalap koordinátáit tartalmazó struktúrára mutat. Ezt a paramétert a rendszer figyelmen kívül hagyja, ha prgnUpdate érvényes régióleírót tartalmaz.

prgnUpdate
Azonosítja a frissítési régiót. Ha mindkettőprgnUpdate, NULLakkor lpRectUpdate a rendszer a teljes ügyfélterületet hozzáadja a frissítési régióhoz.

flags
Az ablak érvénytelenítéséhez a következő jelzők használhatók:

  • RDW_ERASE Ez azt eredményezi, hogy az ablak újrafestésekor üzenet érkezik WM_ERASEBKGND . A RDW_INVALIDATE jelölőt is meg kell adni, ellenkező esetben RDW_ERASE nincs hatása.

  • RDW_FRAME Az ablak nemclient területének bármely olyan részét okozza, amely a frissítési régiót metszi, és üzenetet WM_NCPAINT kap. A RDW_INVALIDATE jelölőt is meg kell adni, ellenkező esetben RDW_FRAME nincs hatása.

  • RDW_INTERNALPAINT WM_PAINT Az üzenet az ablakba kerül, függetlenül attól, hogy az ablak érvénytelen régiót tartalmaz-e.

  • RDW_INVALIDATE Érvénytelenítés lpRectUpdate vagy prgnUpdate (lehet, hogy csak egy nem NULL). Ha mindkettő, NULLa teljes ablak érvénytelen.

Az ablak ellenőrzéséhez a következő jelzők használhatók:

  • RDW_NOERASE Letiltja a függőben lévő WM_ERASEBKGND üzeneteket.

  • RDW_NOFRAME Letiltja a függőben lévő WM_NCPAINT üzeneteket. Ezt a jelölőt a következővel RDW_VALIDATE kell használni, és általában a következővel RDW_NOCHILDRENkell használni: . Ezt a lehetőséget körültekintően kell használni, mivel megakadályozhatja, hogy egy ablak részei megfelelően festeni tudjanak.

  • RDW_NOINTERNALPAINT Letiltja a függőben lévő belső WM_PAINT üzeneteket. Ez a jelző nem befolyásolja az WM_PAINT érvénytelen területekből eredő üzeneteket.

  • RDW_VALIDATE Érvényesíti lpRectUpdate vagy prgnUpdate (lehet, hogy csak egy nem NULL). Ha mindkettő, NULLa teljes ablak érvényesítve van. Ez a jelző nem befolyásolja a belső WM_PAINT üzeneteket.

Az újrafestéskor az alábbi jelzők vezérlik a jelölőket. A festést csak akkor hajtja végre a RedrawWindow függvény, ha az egyik bit meg van adva.

  • RDW_ERASENOWAz érintett ablakok (az és a RDW_ALLCHILDREN jelzők által megadottak szerint) fogadását WM_NCPAINT és RDW_NOCHILDRENWM_ERASEBKGND az üzeneteket, ha szükséges, a függvény visszatérése előtt. WM_PAINT halasztott üzeneteket.

  • RDW_UPDATENOWA függvény visszatérése előtt az érintett ablakok (az és a RDW_ALLCHILDREN jelzők által megadottak szerint) fogadásátWM_NCPAINT, WM_ERASEBKGNDés WM_PAINT szükség esetén az üzenetek fogadását RDW_NOCHILDREN okozza.

Alapértelmezés szerint a függvény által RedrawWindow érintett ablakok attól függenek, hogy a megadott ablak stílussal WS_CLIPCHILDREN rendelkezik-e. Az ablakok gyermekablakait WS_CLIPCHILDREN nem érinti. Azok az ablakok azonban, amelyek nem WS_CLIPCHILDREN ablakok, rekurzívan érvényesítve vagy érvénytelenítve lesznek, amíg egy WS_CLIPCHILDREN ablak nem ütközik. Az alábbi jelzők szabályozzák, hogy a függvény mely ablakokat érinti RedrawWindow :

  • RDW_ALLCHILDREN Az újrafestési művelet gyermekablakait is tartalmazza, ha vannak ilyenek.

  • RDW_NOCHILDREN Kizárja a gyermekablakokat (ha vannak ilyenek) az újrafestési műveletből.

Visszaadott érték

Nonzero, ha az ablakot sikeresen újrarajzoltuk; egyéb esetben 0.

Megjegyzések

Ha a RedrawWindow tagfüggvény az asztali ablak egy részének érvénytelenítésére szolgál, az ablak nem kap WM_PAINT üzenetet. Az asztal újrafestéséhez az alkalmazásnak a következőt kell használnia CWnd::ValidateRgn: , CWnd::InvalidateRgn, CWnd::UpdateWindowvagy RedrawWindow

CWnd::ReflectChildNotify

Ezt az üzenetfüggvényt a keretrendszer hívja meg a következőből OnChildNotify: .

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paraméterek

message
Megadja a tükrözni kívánt üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

pResult
A szülőablak által visszaadandó gyermekablak által generált eredmény. Lehet NULL.

Visszaadott érték

TRUE ha az üzenet tükröződött; egyéb esetben FALSE.

Megjegyzések

Ez egy segédfüggvény, amely tükrözi a message forrását.

A tükrözött üzeneteket közvetlenül a rendszer küldi el vagy CWnd::OnWndMsgCCmdTarget::OnCmdMsg.

Az üzenetvisszaverésről további információt a Tükrözött üzenetek kezelése című témakörben talál.

CWnd::ReflectLastMsg

Ezt a tagfüggvényt a keretrendszer hívja meg, hogy tükrözze a gyermekablak utolsó üzenetét.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Paraméterek

hWndChild
Egy gyermekablak fogópontja.

pResult
A szülőablak által visszaadandó gyermekablak által generált eredmény. Lehet NULL.

Visszaadott érték

Nemzero, ha az üzenetet kezelték; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény meghívja SendChildNotifyLastMsg , ha az általuk hWndChild azonosított ablak egy OLE-vezérlő vagy egy ablak az állandó térképen.

Az üzenetvisszaverésről további információt a Tükrözött üzenetek kezelése című témakörben talál.

CWnd::ReleaseDC

Felszabadít egy eszközkörnyezetet, és felszabadítja azt más alkalmazások számára.

int ReleaseDC(CDC* pDC);

Paraméterek

pDC
Azonosítja a kiadandó eszközkörnyezetet.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A tagfüggvény hatása ReleaseDC az eszközkörnyezet típusától függ.

Az alkalmazásnak meghívnia kell a ReleaseDC tagfüggvényt a GetWindowDC tagfüggvény minden hívásához és a GetDC tagfüggvény minden hívásához.

CWnd::RepositionBars

Az ablak ügyfélterületén lévő vezérlősávok áthelyezésére és átméretezésére van meghívva.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Paraméterek

nIDFirst
Az áthelyezni és átméretezni kívánt vezérlősávok közül az első azonosítója.

nIDLast
Az utoljára áthelyezni és átméretezni kívánt vezérlősáv-tartomány azonosítója.

nIDLeftOver
Az ügyfélterület többi részét kitöltő panel azonosítóját adja meg.

nFlag
Az alábbi értékek egyikével rendelkezhet:

  • CWnd::reposDefault Elvégzi a vezérlősávok elrendezését. lpRectParam nincs használatban, és lehet NULL.

  • CWnd::reposQuery A vezérlősávok elrendezése nem történik meg; ehelyett lpRectParam az ügyfélterület méretével inicializálódik, mintha az elrendezés ténylegesen elkészült volna.

  • CWnd::reposExtra Hozzáadja az elrendezés ügyfélterületének lpRectParamnIDLast értékeit, és elvégzi az elrendezést is.

lpRectParam
Egy struktúráraRECT mutat, amelynek használata a függvény értékétől nFlagfügg.

lpRectClient
Az elérhető ügyfélterületet tartalmazó struktúráraRECT mutat. Ha NULLaz ablak ügyfélterülete lesz használva.

bStretch
Azt jelzi, hogy a sávot a keret méretéhez kell-e nyúlni.

Megjegyzések

A nIDFirst paraméterek az nIDLast ügyfélterületen áthelyezendő vezérlősáv-azonosítók tartományát határozzák meg. A nIDLeftOver paraméter megadja annak a gyermekablaknak (általában a nézetnek) az azonosítóját, amely áthelyezve és átméretezve van, hogy kitöltse a vezérlősávokkal nem kitöltött ügyfélterület többi részét.

CWnd::RunModalLoop

Hívja meg ezt a tagfüggvényt az üzenetek lekéréséhez, lefordításához vagy elküldéséhez, amíg vissza nem ContinueModal tér FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Paraméterek

dwFlags
Megadja az elküldendő Windows-üzenetet. Az alábbi értékek egyike lehet:

  • MLF_NOIDLEMSG Ne küldjön WM_ENTERIDLE üzeneteket a szülőnek.

  • MLF_NOKICKIDLE Ne küldjön WM_KICKIDLE üzeneteket az ablakba.

  • MLF_SHOWONIDLE Az ablak megjelenítése, amikor az üzenetsor tétlen állapotba kerül.

Visszaadott érték

Megadja a tagfüggvénynek EndModalLoop átadott paraméter értékétnResult, amelyet a rendszer a modális ciklus befejezéséhez használ.

Megjegyzések

Alapértelmezés szerint a ContinueModal rendszer a meghívás után EndModalLoop adja vissza a függvénytFALSE. A megadott nResultEndModalLoopértéket adja vissza.

CWnd::ScreenToClient

Egy adott pont vagy téglalap képernyőkoordinátáit ügyfélkoordinátává alakítja.

void ScreenToClient(LPPOINT lpPoint) const;
void ScreenToClient(LPRECT lpRect) const;

Paraméterek

lpPoint
CPoint Az átalakítandó képernyőkoordinátákat tartalmazó objektumra vagy POINT struktúrára mutat.

lpRect
CRect Az átalakítandó képernyőkoordinátákat tartalmazó objektumra vagy RECT struktúrára mutat.

Megjegyzések

A ScreenToClient tagfüggvény az ügyfélkoordinátákban lpPointlpRect megadott képernyőkoordinátákat váltja fel. Az új koordináták az ügyfélterület bal felső sarkához viszonyítva jelennek meg CWnd .

Example

Lásd a példát a CListCtrl::GetItemRect.

CWnd::ScrollWindow

Görgeti az aktuális CWnd objektum ügyfélterületének tartalmát.

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Paraméterek

xAmount
Meghatározza a vízszintes görgetés mennyiségét az eszközegységekben. Ennek a paraméternek negatív értéknek kell lennie a bal oldali görgetéshez.

yAmount
Meghatározza a függőleges görgetés eszközegységekben megadott mennyiségét. Ennek a paraméternek negatív értéknek kell lennie a felfelé görgetéshez.

lpRect
Olyan objektumra CRect vagy RECT struktúrára mutat, amely meghatározza a görgetendő ügyfélterület egy részét. Ha lpRect igen NULL, a teljes ügyfélterület görgetve lesz. A simító akkor lesz áthelyezve, ha a kurzor téglalapja metszi a görgető téglalapot.

lpClipRect
Egy olyan objektumra CRect vagy RECT struktúrára mutat, amely meghatározza a görgetni kívánt kivágási téglalapot. Csak a téglalapon belüli bitek görgethetők. A téglalapon kívüli biteket akkor sem érinti a rendszer, ha a lpRect téglalapban vannak. Ha lpClipRect igen NULL, a görgető téglalapon nem történik kivágás.

Megjegyzések

Ha a simító a görgetés alatt van CWnd , ScrollWindow automatikusan elrejti a gondnokot, hogy megakadályozza a törlést, majd visszaállítja a gondnokot a görgetés befejezése után. A gondozási pozíció ennek megfelelően van beállítva.

A tagfüggvény által ScrollWindow feltárt terület nem lesz újrafestve, hanem az aktuális CWnd objektum frissítési régiójába van kombinálva. Az alkalmazás végül kap egy WM_PAINT üzenetet, amely értesíti arról, hogy a régiót újra kell festeni. Ha a görgetéssel egyidejűleg újra szeretné festeni a fedetlen területet, a hívás ScrollWindowután azonnal hívja meg a UpdateWindow tagfüggvényt.

Ha lpRect igenNULL, az ablakban lévő gyermekablakok pozícióit eltolásként az és yAmount, és az xAmount érvénytelen (nem használt) területek is eltolásnak CWnd számítják. ScrollWindow gyorsabb, ha lpRect van NULL.

Ha lpRect nem NULL, akkor a gyermekablakok pozíciói nem változnak, és az érvénytelen területek CWnd nincsenek eltolva. Ha meg szeretné akadályozni a problémák frissítését, ha lpRect nemNULL, hívja meg a UpdateWindow tagfüggvényt, hogy a hívás ScrollWindowelőtt újrafestse a függvénytCWnd.

CWnd::ScrollWindowEx

Görgeti az ablak ügyfélterületének tartalmát.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Paraméterek

dx
Meghatározza a vízszintes görgetés mennyiségét az eszközegységekben. Ennek a paraméternek negatív értékkel kell rendelkeznie a bal oldali görgetéshez.

dy
Meghatározza a függőleges görgetés eszközegységekben megadott mennyiségét. Ennek a paraméternek negatív értékkel kell rendelkeznie a felfelé görgetéshez.

lpRectScroll
Egy olyan struktúráraRECT mutat, amely meghatározza a görgetendő ügyfélterület egy részét. Ha ez a paraméter, NULLa teljes ügyfélterület görgetve lesz.

lpRectClip
Egy olyan struktúrára RECT mutat, amely meghatározza a görgetni kívánt kivágási téglalapot. Ez a struktúra elsőbbséget élvez a kijelölt lpRectScrolltéglalaptal szemben. Csak a téglalapon belüli bitek görgethetők. A téglalapon kívüli biteket akkor sem érinti a rendszer, ha a lpRectScroll téglalapban vannak. Ha ez a paraméter, NULLa görgető téglalapon nem történik kivágás.

prgnUpdate
Azonosítja azt a régiót, amely úgy van módosítva, hogy a régiót görgetéssel érvénytelenítse. Ez a paraméter lehet NULL.

lpRectUpdate
Egy olyan struktúrára RECT mutat, amely görgetéssel érvényteleníti a téglalap határait. Ez a paraméter lehet NULL.

flags
Az alábbi értékek egyikével rendelkezhet:

  • SW_ERASE Ha meg van SW_INVALIDATEadva, törli az újonnan érvénytelenített régiót az WM_ERASEBKGND ablakba küldött üzenettel.

  • SW_INVALIDATE Érvényteleníti a görgetés után azonosított prgnUpdate régiót.

  • SW_SCROLLCHILDRENGörgeti az összes gyermekablakot, amely a megadott képpontok dxdyszáma alapján lpRectScroll metszi a téglalapot. A Windows üzenetet WM_MOVE küld az összes metsző lpRectScrollgyermekablaknak, még akkor is, ha nem mozognak. A gyermekablak görgetésekor a gondviselőt áthelyezi, a kurzor téglalapja pedig metszi a görgető téglalapot.

Visszaadott érték

A visszatérési érték SIMPLEREGION (téglalap alakú érvénytelenített régió), COMPLEXREGION (nem egymást átfedő érvénytelenített régió; átfedésben lévő téglalapok) vagy NULLREGION (érvénytelenített régió nélkül), ha a függvény sikeres, ellenkező esetben a visszatérési érték ERROR.

Megjegyzések

Ez a függvény hasonló a ScrollWindow függvényhez, néhány további funkcióval.

Ha SW_INVALIDATE nincs SW_ERASE megadva, a ScrollWindowEx tagfüggvény nem érvényteleníti a görgetett területet. Ha valamelyik jelző be van állítva, ScrollWindowEx érvényteleníti ezt a területet. A terület addig nem frissül, amíg az alkalmazás nem hívja meg a UpdateWindow tagfüggvényt, meghívja a RedrawWindow tagfüggvényt (megadja RDW_UPDATENOW vagy RDW_ERASENOW), vagy le nem kéri az üzenetet az WM_PAINT alkalmazássorból.

Ha az ablak stílussal WS_CLIPCHILDREN rendelkezik, a megadott visszaadott területek lpRectUpdateprgnUpdate a frissítendő görgetett ablak teljes területét jelölik, beleértve a gyermekablakok frissítésre szoruló területeit is.

Ha a SW_SCROLLCHILDREN jelző meg van adva, a Windows nem frissíti megfelelően a képernyőt, ha egy gyermekablak egy része görgetve van. A görgetett gyermekablaknak a forrás téglalapon kívül eső része nem törlődik, és nem lesz megfelelően újrarajzolt az új célhelyen. A Windows függvénnyel áthelyezheti azokat a DeferWindowPos gyermekablakokat, amelyek nem teljes mértékben a lpRectScroll téglalapon belül találhatók. A kurzor akkor lesz áthelyezve, ha a SW_SCROLLCHILDREN jelölő be van állítva, és a simított téglalap metszi a görgető téglalapot.

Az összes bemeneti és kimeneti koordinátát (például lpRectScroll, lpRectClip, lpRectUpdateés prgnUpdate) az ügyfélkoordinátákban kell megadni, függetlenül attól, hogy az CS_OWNDC ablak stílusa vagy CS_CLASSDC osztálystílusa van-e. A windowsos és DPtoLP a LPtoDP windowsos függvényekkel szükség esetén logikai koordinátákká alakíthatja át azokat.

CWnd::SendChildNotifyLastMsg

Ezt a tagfüggvényt a keretrendszer meghívja, hogy egy értesítési üzenetet adjon meg egy gyermekablaknak a szülőablakból, hogy a gyermekablak kezelni tudja a feladatokat.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Paraméterek

pResult
A szülőablak által visszaadandó gyermekablak által generált eredmény.

Visszaadott érték

Nonzero, ha a gyermekablak kezelte a szülőjének küldött üzenetet; egyéb esetben 0.

Megjegyzések

SendChildNotifyLastMsg küldje el az aktuális üzenetet a forrásnak, ha az egy tükröződő üzenet.

Az üzenetvisszaverésről további információt a Tükrözött üzenetek kezelése című témakörben talál.

CWnd::SendDlgItemMessage

Üzenetet küld egy vezérlőnek.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paraméterek

nID
Megadja az üzenetet fogadó párbeszédpanel-vezérlő azonosítóját.

message
Megadja az elküldendő üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

Visszaadott érték

Megadja a vezérlő ablakművelete által visszaadott értéket, vagy 0 értéket, ha a vezérlő nem található.

Megjegyzések

A SendDlgItemMessage tagfüggvény csak akkor tér vissza, ha az üzenet feldolgozása befejeződött.

A használat SendDlgItemMessage megegyezik az adott vezérlőelem *-jának lekérésével CWndés a tagfüggvény meghívásával SendMessage .

Example

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

A megadott üzenetet küldi erre az ablakra.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paraméterek

message
Megadja az elküldendő üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

Visszaadott érték

Az üzenetfeldolgozás eredménye; értéke az elküldött üzenettől függ.

Megjegyzések

A SendMessage tagfüggvény közvetlenül meghívja az ablakeljárást, és addig nem tér vissza, amíg az adott ablakeljárás fel nem dolgozza az üzenetet. Ez ellentétben áll a PostMessage tagfüggvénnyel, amely az üzenetet az ablak üzenetsorába helyezi, és azonnal visszatér.

Example

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

Hívja meg ezt a tagfüggvényt, hogy küldje el a megadott Windows-üzenetet az összes leszármazott ablaknak.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Paraméterek

message
Megadja az elküldendő üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

bDeep
Azt a szintet adja meg, amelyre keresni szeretne. Ha TRUE, rekurzív keresés az összes gyermekben; ha FALSE, akkor csak az azonnali gyermekekre keres.

bOnlyPerm
Megadja, hogy az üzenetet ideiglenes ablakok fogadják-e. Ha TRUEaz ideiglenes ablakok megkapják az üzenetet, ha FALSE, akkor csak az állandó ablakok kapják meg az üzenetet. Az ideiglenes ablakokkal kapcsolatos további információkért lásd a Technical Note 3-at.

Megjegyzések

Ha bDeep igen FALSE, az üzenet csak az ablak közvetlen gyermekeinek lesz elküldve, ellenkező esetben az üzenet az összes leszármazott ablakba lesz elküldve.

Ha bDeep van, TRUEbOnlyPerm a keresés az ideiglenes ablakok alatt folytatódik. Ebben az esetben csak a keresés során észlelt állandó ablakok kapják meg az üzenetet. Ha bDeep igen FALSE, az üzenet csak az ablak közvetlen gyermekeinek lesz elküldve.

Example

// 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

Elküldi a megadott üzenetet az ablaknak.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

message
Megadja az elküldendő üzenetet.

wParam
További üzenetfüggő információkat ad meg.

lParam
További üzenetfüggő információkat ad meg.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ha az ablakot a hívószál hozta létre, hívja meg az ablak ablakának eljárását, SendNotifyMessage és csak akkor tér vissza, ha az ablak eljárása feldolgozta az üzenetet. Ha az ablakot egy másik szál hozta létre, átadja az üzenetet az ablak eljárásának, SendNotifyMessage és azonnal visszatér; nem várja meg, amíg az ablakművelet befejezi az üzenet feldolgozását.

CWnd::SetActiveWindow

Az aktív ablak létrehozása CWnd .

CWnd* SetActiveWindow();

Visszaadott érték

A korábban aktív ablak.

Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

A SetActiveWindow tagfüggvényt körültekintően kell használni, mivel lehetővé teszi, hogy az alkalmazás önkényesen átvegye az aktív ablakot és a bemeneti fókuszt. Általában a Windows gondoskodik az összes aktiválásról.

CWnd::SetCapture

Az egér minden további bemenetét az aktuális CWnd objektumba küldi a kurzor helyzetétől függetlenül.

CWnd* SetCapture();

Visszaadott érték

Mutató az ablakobjektumra, amely korábban az összes egérbemenetet megkapta. Ez akkor van NULL , ha nincs ilyen ablak. Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ha CWnd már nincs szükség az összes egérbemenetre, az alkalmazásnak meghívnia kell a ReleaseCapture függvényt, hogy más ablakok is fogadhassák az egérbemenetet.

Amíg az egér bemenete rögzítve van, a rendszer nem WM_NCHITTEST vagy WM_SETCURSOR üzeneteket küld az aktív ablakba.

CWnd::SetCaretPos

Beállítja a gondozó pozícióját.

static void PASCAL SetCaretPos(POINT point);

Paraméterek

point
Megadja a gondviselet új x és y koordinátáit (ügyfélkoordinátáiban).

Megjegyzések

A SetCaretPos tagfüggvény csak akkor helyezi át a gondozottat, ha az az aktuális tevékenység egyik ablaka tulajdonában van. SetCaretPos mozgatja a gondviseletet, függetlenül attól, hogy a gondozó rejtett-e.

A gondviselet egy megosztott erőforrás. Az ablaknak nem szabad áthelyeznie a gondviseletet, ha nem a gondviselet tulajdonosa.

Example

// 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

Hozzáadja ezt az ablakot azoknak az ablakoknak a láncához, amelyek (az WM_DRAWCLIPBOARD üzenet útján) értesítést kapnak a vágólap tartalmának módosításakor.

HWND SetClipboardViewer();

Visszaadott érték

Ha sikeres, a vágólapmegjelenítő lánc következő ablakának fogópontja. Az alkalmazásoknak menteniük kell ezt a leírót (tagváltozóként tárolható), és használniuk kell a vágólapmegjelenítő láncüzenetekre való válaszadáskor.

Megjegyzések

A vágólapmegjelenítő lánc részét képező ablaknak válaszolnia WM_DRAWCLIPBOARDkell a , WM_CHANGECBCHAINés WM_DESTROY az üzenetekre, és át kell adnia az üzenetet a lánc következő ablakának.

Ez a tagfüggvény üzenetet WM_DRAWCLIPBOARD küld az ablaknak. Mivel a vágólapmegjelenítő lánc következő ablakának leírója még nem lett visszaadva, az alkalmazásnak nem szabad átadnia a WM_DRAWCLIPBOARD hívás SetClipboardViewersorán kapott üzenetet.

Ha el szeretné távolítani magát a vágólapmegjelenítő láncból, az alkalmazásnak meg kell hívnia a tagfüggvényt ChangeClipboardChain .

CWnd::SetDlgCtrlID

Új értékre állítja az ablak ablakazonosítóját vagy vezérlőazonosítóját.

int SetDlgCtrlID(int nID);

Paraméterek

nID
A vezérlő azonosítójának új értéke.

Visszaadott érték

Az ablak előző azonosítója, ha sikeres; egyéb esetben 0.

Megjegyzések

Az ablak bármilyen gyermekablak lehet, nem csak egy párbeszédpanel vezérlőeleme. Az ablak nem lehet felső szintű ablak.

CWnd::SetDlgItemInt

Egy adott vezérlőelem szövegét egy párbeszédpanelen egy megadott egész szám értékének sztring-ábrázolására állítja be.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Paraméterek

nID
A módosítani kívánt vezérlőelem egész számazonosítóját adja meg.

nValue
Az elem szövegének létrehozásához használt egész számértéket adja meg.

bSigned
Azt határozza meg, hogy az egész szám értéke alá van-e írva, vagy nincs-e aláírva. Ha ez a paraméter van TRUEaláírva nValue . Ha ez a TRUEnValue paraméter 0-nál kisebb, mínuszjel kerül a sztring első számjegye elé. Ha ez a paraméter, FALSEnValue akkor nincs aláírva.

Megjegyzések

SetDlgItemInt WM_SETTEXT üzenetet küld az adott vezérlőnek.

Example

Lásd a példát a CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Egy ablak vagy párbeszédpanel által birtokolt vezérlőelem feliratát vagy szövegét állítja be.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Paraméterek

nID
Azonosítja azt a vezérlőt, amelynek a szövegét be kell állítani.

lpszString
A vezérlőelembe CString másolandó szöveget tartalmazó objektumra vagy null értékű sztringre mutat.

Megjegyzések

SetDlgItemText WM_SETTEXT üzenetet küld az adott vezérlőnek.

Example

// 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

Az ablakot létrehozó szálat az előtérbe helyezi, és aktiválja az ablakot.

BOOL SetForegroundWindow();

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

A billentyűzet bemenete az ablakba kerül, és a felhasználó különböző vizuális jeleket módosít. Az előtérablak az az ablak, amelyen a felhasználó jelenleg dolgozik. Az előtérablak csak a legfelső szintű ablakokra (keretablakokra vagy párbeszédpanelekre) vonatkozik.

Example

Lásd a példát a CWnd::FindWindow.

CWnd::SetFocus

A bemeneti fókusz jogcíme.

CWnd* SetFocus();

Visszaadott érték

A korábban a bemeneti fókuszt tartalmazó ablakobjektumra mutató mutató. Ez akkor van NULL , ha nincs ilyen ablak. Előfordulhat, hogy a visszaadott mutató ideiglenes, ezért nem szabad tárolni.

Megjegyzések

A bemeneti fókusz az összes további billentyűzetbemenetet ebbe az ablakba irányítja. A korábban a bemeneti fókuszt tartalmazó összes ablak elveszíti azt.

A SetFocus tagfüggvény üzenetet WM_KILLFOCUS küld az ablaknak, amely elveszíti a bemeneti fókuszt, és egy WM_SETFOCUS üzenetet a bemeneti fókuszt fogadó ablaknak. Emellett aktiválja az ablakot vagy annak szülőjét is.

Ha az aktuális ablak aktív, de nincs fókusza (vagyis egyetlen ablak sincs fókuszban), a lenyomott billentyűk az üzeneteketWM_SYSCHARWM_SYSKEYDOWN, vagy WM_SYSKEYUP.

CWnd::SetFont

A megadott betűtípus használatához elküldi az WM_SETFONT üzenetet az ablaknak.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Paraméterek

pFont
Mutató egy CFont objektumra.

bRedraw
TRUE hogy az ablak közvetlenül az üzenet feldolgozása WM_SETFONT után újrarajzolva legyen; ellenkező esetben FALSE.

Megjegyzések

Ez a módszer csak akkor lép érvénybe, ha az ablak feldolgozza az WM_SETFONT üzenetet. Számos MFC-osztály, amely az üzenet feldolgozásából CWnd származik, mert egy előre definiált ablakosztályhoz vannak csatolva, amely tartalmazza az üzenet üzenetkezelőt WM_SETFONT . A metódus használatához azokból az osztályokból, amelyekből CWnd származik, meg kell határoznia egy metóduskezelőt az WM_SETFONT üzenethez.

CWnd::SetIcon

Hívja meg ezt a tagfüggvényt, hogy a fogópontot egy adott ikonra állítsa, az általuk hIconazonosított módon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Paraméterek

hIcon
Egy előző ikon fogópontja.

bBigIcon
32 képpontos és 32 képpontos ikont ad meg, ha ; 16 képpont és 16 képpont ikont ad meg, haTRUEFALSE.

Visszaadott érték

Egy ikon fogópontja.

Megjegyzések

Amikor az ablakosztály regisztrálva van, kiválaszt egy ikont.

Example

Lásd a példát a CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Egy rétegzett ablak átlátszósági és áttetszőségi színkulcsának beállítása.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Paraméterek

crKey
Mutasson egy COLORREF értékre, amely megadja a rétegzett ablak írásakor használni kívánt áttetszőségi színkulcsot. Az ablak által ebben a színben festett összes képpont átlátszó lesz. A makró létrehozásához COLORREFhasználja a makrót RGB .

bAlpha
A rétegzett ablak átlátszatlanságát leíró alfa érték. További információkért lásd a SourceConstantAlpha struktúra tagját BLENDFUNCTION . Ha bAlpha 0, az ablak teljesen átlátszó. 255 évesen bAlpha az ablak átlátszatlan.

dwFlags
Megadja a végrehajtandó műveletet. Ez a paraméter az alábbi értékek közül egy vagy több lehet. A lehetséges értékek listáját lásd: SetLayeredWindowAttributes.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény SetLayeredWindowAttributesfunkcióit.

CWnd::SetMenu

Az aktuális menü beállítása a megadott menüre.

BOOL SetMenu(CMenu* pMenu);

Paraméterek

pMenu
Azonosítja az új menüt. Ha ez a paraméter, NULLaz aktuális menü el lesz távolítva.

Visszaadott érték

Nemzero, ha a menü módosult; egyéb esetben 0.

Megjegyzések

Az ablak újrarajzolt állapotba kerül, hogy tükrözze a menü változásait.

SetMenu nem fogja megsemmisíteni az előző menüt. Egy alkalmazásnak meg kell hívnia a CMenu::DestroyMenu tagfüggvényt a feladat elvégzéséhez.

Example

Lásd a példát a CMenu::LoadMenu.

CWnd::SetOwner

Beállítja az aktuális ablak tulajdonosát a megadott ablakobjektumra.

void SetOwner(CWnd* pOwnerWnd);

Paraméterek

pOwnerWnd
Azonosítja az ablakobjektum új tulajdonosát. Ha ez a paraméter, NULLaz ablakobjektumnak nincs tulajdonosa.

Megjegyzések

Ez a tulajdonos ezután parancsüzeneteket fogadhat az aktuális ablakobjektumból. Alapértelmezés szerint az aktuális ablak szülője a tulajdonosa.

Gyakran hasznos az ablakhierarchiához nem kapcsolódó ablakobjektumok közötti kapcsolatok létrehozása. Például CToolBar a szülő helyett értesítéseket küld a tulajdonosának. Ez lehetővé teszi, hogy az eszköztár egy ablak (például egy OLE tárolóalkalmazás ablaka) gyermekévé váljon, miközben értesítéseket küld egy másik ablakba (például a helyszíni keretablakba). Továbbá, ha egy kiszolgálóablak inaktiválva vagy aktiválva van a helyszíni szerkesztés során, a keretablak tulajdonában lévő összes ablak rejtett vagy látható lesz. Ez a tulajdonjog kifejezetten a következő hívással SetOwnervan beállítva: .

Ennek a függvénynek a tulajdonjogi fogalma eltér a GetWindow.

CWnd::SetParent

Módosítja a gyermekablak szülőablakát.

CWnd* SetParent(CWnd* pWndNewParent);

Paraméterek

pWndNewParent
Azonosítja az új szülőablakot.

Visszaadott érték

Ha sikeres, mutató az előző szülőablak-objektumra. Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

Ha a gyermekablak látható, a Windows végrehajtja a megfelelő újrarajzolást és újrafestést.

CWnd::SetProperty

Hívja meg ezt a tagfüggvényt a megadott OLE vezérlőtulajdonság dwDispIDbeállításához.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Paraméterek

dwDispID
Azonosítja a beállítani kívánt tulajdonságot.

vtProp
Megadja a beállítani kívánt tulajdonság típusát. A lehetséges értékekért tekintse meg a Megjegyzések szakaszt a következőhöz COleDispatchDriver::InvokeHelper: .

...
A megadott vtProptípus egyetlen paramétere.

Megjegyzések

Megjegyzés:

Ezt a függvényt csak olyan CWnd objektumon kell meghívni, amely egy OLE-vezérlőt jelöl.

A tagfüggvény OLE-vezérlőtárolókkal való használatáról további információt az ActiveX-vezérlőtárolók: ActiveX-vezérlők programozása ActiveX-vezérlőkben című cikkben talál.

CWnd::SetRedraw

Egy alkalmazás meghívja SetRedraw , hogy engedélyezze a módosítások újrahívását, vagy megakadályozza a módosítások újrahívását.

void SetRedraw(BOOL bRedraw = TRUE);

Paraméterek

bRedraw
Az újraírási jelző állapotát adja meg. Ha ez a paraméter, TRUEakkor az újraírási jelző be van állítva; ha FALSE, akkor a jelölő törlődik.

Megjegyzések

Ez a tagfüggvény beállítja vagy törli az újraírási jelzőt. Bár az újrarajzolt jelző törlődik, a tartalom nem frissül az egyes módosítások után, és nem lesz újrafestve, amíg be nem állítja az újrafelfedésjelzőt. Ha például egy alkalmazásnak több elemet kell hozzáadnia egy listamezőhöz, törölheti az újrarajzoló jelzőt, hozzáadhatja az elemeket, majd beállíthatja az újraírási jelzőt. Végül az alkalmazás meghívhatja a vagy InvalidateRect tag Invalidate függvényt a listamező újrafestéséhez.

Example

// 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

Ennek a tagfüggvénynek a meghívásával beállíthatja a struktúra által a görgetősávra vonatkozó információkat SCROLLINFO .

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Paraméterek

nBar
Megadja, hogy a görgetősáv egy vezérlőelem vagy egy ablak nem megfelelő területének része-e. Ha a nemclient terület része, az nBar azt is jelzi, hogy a görgetősáv vízszintesen, függőlegesen vagy mindkettőben van-e elhelyezve. Az alábbiak egyikének kell lennie:

  • SB_CTL A görgetősáv-vezérlő paramétereit tartalmazza. Az m_hWnd adatelemnek a görgetősáv vezérlőjének kell lennie.

  • SB_HORZ Azt adja meg, hogy az ablak vízszintes görgetősáv.

  • SB_VERT Megadja, hogy az ablak egy függőleges görgetősáv.

lpScrollInfo
Egy struktúra mutatója SCROLLINFO . Erről a struktúráról további információt a Windows SDK-ben talál.

bRedraw
Megadja, hogy a görgetősávot újra kell-e helyezni az új pozíciónak megfelelően. Ha bRedraw igen TRUE, a görgetősáv újrarajzolt. Ha igen FALSE, akkor nem lesz újrarajzolt. A görgetősáv alapértelmezés szerint újrarajzolt.

Visszaadott érték

Ha sikeres, a visszatérés a következő TRUE: . Ellenkező esetben az .FALSE

Megjegyzések

A SCROLLINFO szerkezet információkat tartalmaz a görgetősávról, beleértve a minimális és maximális görgetési pozíciót, az oldalméretet és a görgetődoboz pozícióját (a hüvelykujjat). SCROLLINFO A struktúra alapértelmezett értékének módosításáról a Windows SDK struktúrával kapcsolatos témakörében olvashat bővebben.

A görgetősáv pozícióját CWnd::OnHScrollCWnd::OnVScrolljelző MFC Windows üzenetkezelők csak 16 bites pozícióadatokat biztosítanak. GetScrollInfo és SetScrollInfo adjon meg 32 bites görgetősáv-pozícióadatokat. Így egy alkalmazás hívásokat GetScrollInfo kezdeményezhet a feldolgozás során, CWnd::OnHScroll vagy CWnd::OnVScroll lekérte a 32 bites görgetősáv pozícióadatait.

Megjegyzés:

CWnd::GetScrollInfo lehetővé teszi, hogy az alkalmazások 32 bites görgetősáv-pozíciót használjanak.

CWnd::SetScrollPos

Beállítja a görgetődoboz aktuális pozícióját, és szükség esetén újrarajzozza a görgetősávot, hogy tükrözze a görgetődoboz új pozícióját.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Paraméterek

nBar
Megadja a beállítani kívánt görgetősávot. Ez a paraméter a következők egyike lehet:

  • SB_HORZ Beállítja a görgetődoboz pozícióját az ablak vízszintes görgetősávjában.

  • SB_VERT Beállítja a görgetődoboz pozícióját az ablak függőleges görgetősávjában.

nPos
A görgetőmező új pozícióját adja meg. A görgetési tartományon belül kell lennie.

bRedraw
Megadja, hogy a görgetősávot újra kell-e festeni az új görgetődoboz pozíciójának megfelelően. Ha ez a paraméter, TRUEa görgetősáv újra van festve, ha FALSEa görgetősáv nem lesz újrafestve.

Visszaadott érték

A görgetőmező előző pozíciója.

Megjegyzések

FALSE A beállítás bRedraw akkor hasznos, ha a görgetősávot egy másik függvény későbbi hívása újrarajzozza.

CWnd::SetScrollRange

Beállítja az adott görgetősáv minimális és maximális pozícióértékét.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Paraméterek

nBar
Megadja a beállítani kívánt görgetősávot. Ez a paraméter a következő értékek egyike lehet:

  • SB_HORZ Az ablak vízszintes görgetősávjának tartományát állítja be.

  • SB_VERT Az ablak függőleges görgetősávjának tartományát állítja be.

nMinPos
Meghatározza a minimális görgetési pozíciót.

nMaxPos
A maximális görgetési pozíciót adja meg.

bRedraw
Megadja, hogy a görgetősávot újra kell-e helyezni a módosításnak megfelelően. Ha bRedraw igen TRUE, a görgetősáv újrarajzolt; ha FALSEa görgetősáv nem lesz újrarajzolt.

Megjegyzések

A szabványos görgetősávok elrejtésére vagy megjelenítésére is használható.

Egy alkalmazás nem hívhatja meg ezt a függvényt, hogy elrejtse a görgetősávot a görgetősáv értesítési üzenetének feldolgozása közben.

Ha a hívás SetScrollRange azonnal követi a SetScrollPos tagfüggvény hívását, a bRedraw tagfüggvény paraméterének SetScrollPos 0-nak kell lennie, hogy megakadályozza a görgetősáv kétszeri rajzolását.

A normál görgetősáv alapértelmezett tartománya 0 és 100 között van. A görgetősáv vezérlőelem alapértelmezett tartománya üres (az értékek és nMaxPos az nMinPos értékek is 0). A megadott nMinPosnMaxPos értékek közötti különbség nem lehet nagyobb, mint INT_MAX.

CWnd::SetTimer

Rendszeridőzítő telepítése.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Paraméterek

nIDEvent
Nem időzítő időzítőazonosítót ad meg. Ha az időzítő azonosítója egyedi, ezt az értéket adja vissza a SetTimerfüggvény. Ellenkező esetben egy új egyedi értéket határoz meg, SetTimer és azt adja vissza. Egy (visszahívási függvénysel rendelkező NULL ) ablak időzítő esetében az értéknek csak az aktuális ablakhoz társított többi ablak időzítője esetében kell egyedinek lennie. Visszahívási időzítő esetén az értéknek egyedinek kell lennie az összes folyamat összes időzítője számára. Ezért visszahívási időzítő létrehozásakor valószínűbb, hogy a visszaadott érték eltérhet a megadott értéktől.

nElapse
Ezredmásodpercben adja meg az időtúllépési értéket vagy intervallumot.

lpfnTimer
Megadja az üzeneteket feldolgozó WM_TIMER alkalmazás által biztosított TimerProc visszahívási függvény címét. Ha ez a paraméter, NULLaz WM_TIMER üzenetek az alkalmazás üzenetsorába kerülnek, és az CWnd objektum kezeli.

Visszaadott érték

Az új időzítő időzítőazonosítója, ha a függvény sikeres. Ez az érték lehet vagy nem egyenlő a paraméteren keresztül nIDEvent átadott értékkel. Az alkalmazásnak mindig át kell adnia a visszatérési értéket a KillTimer tagfüggvénynek, hogy megölje az időzítőt. Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Meg van adva egy intervallumérték, és minden alkalommal, amikor az intervallum eltelik, a rendszer üzenetet küld WM_TIMER a telepítő alkalmazás telepítési üzenetsorába, vagy átadja az üzenetet egy alkalmazás által definiált TimerProc visszahívási függvénynek.

A lpfnTimer visszahívási függvényt nem kell megnevezni TimerProc, de statikusként kell deklarálni, és az alábbiak szerint kell definiálni.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Example

Ez a példa az CWnd::OnTimerüzeneteket használja CWnd::SetTimerés CWnd::KillTimer kezeliWM_TIMER. Az első időzítő úgy van beállítva, hogy 2 másodpercenként küldjön WM_TIMER üzenetet a fő keretablakba OnStartTimer. Az OnTimer eseménykezelő kezeli a fő keretablak üzeneteit WM_TIMER . Ez a módszer 2 másodpercenként hangjelzést ad a PC-hangszórónak. A második időzítő 3,75 másodpercenként küld üzenetet a visszahívási függvénynek. OnStopTimer mindkét időzítőt leállíthatja az egyes időzítőazonosítók meghívásával CWnd::KillTimer .

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

Hívja meg ezt a tagfüggvényt, hogy társítson egy súgókörnyezet-azonosítót a megadott ablakhoz.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Paraméterek

dwContextHelpId
A súgókörnyezet azonosítója.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ha egy gyermekablak nem rendelkezik súgókörnyezet-azonosítóval, örökli a szülőablak azonosítóját. Hasonlóképpen, ha egy saját ablak nem rendelkezik súgókörnyezet-azonosítóval, örökli a tulajdonosi ablak azonosítóját. A súgókörnyezet-azonosítók öröklése lehetővé teszi, hogy az alkalmazás csak egy azonosítót állítson be egy párbeszédpanelhez és annak összes vezérlőjét.

Example

// 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

Beállítja a megjelenítési állapotot és a normál (visszaállított), a minimalizált és a teljes pozíciót egy ablakban.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Paraméterek

lpwndpl
Az új megjelenítési állapotot és pozíciókat meghatározó struktúrára WINDOWPLACEMENT mutat.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

CWnd::SetWindowPos

Módosítja a gyermek-, előugró- és felső szintű ablakok méretét, pozícióját és Z-sorrendjét.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Paraméterek

pWndInsertAfter
Azonosítja azt az CWnd objektumot, amely ezt az objektumot megelőzi (magasabb, mint) CWnd a Z-sorrendben. Ez a paraméter a következő értékek egyikére CWnd mutató vagy mutató lehet:

  • wndBottom Az ablakot a Z-rendelés alján helyezi el. Ha ez CWnd a legfelső ablak, az ablak elveszíti a legfelső állapotát; a rendszer az ablakot az összes többi ablak alján helyezi el.

  • wndTop Az ablakot a Z-rendelés tetején helyezi el.

  • wndTopMost Az ablakot az összes nem legfelső szintű ablak fölé helyezi. Az ablak akkor is megtartja a legfelső pozícióját, ha inaktiválja.

  • wndNoTopMost Áthelyezi az ablakot az összes nem legfelső szintű ablak tetejére (vagyis az összes legfelső ablak mögé). Ennek a jelzőnek nincs hatása, ha az ablak már nem a legfelső szintű ablak.

A paraméter használatára vonatkozó szabályokért tekintse meg a témakör "Megjegyzések" szakaszát.

x
Az ablak bal oldalának új pozícióját adja meg.

y
Az ablak tetejének új pozícióját adja meg.

cx
Az ablak új szélességét adja meg.

cy
Az ablak új magasságát adja meg.

nFlags
A méretezési és elhelyezési beállításokat adja meg. Ez a paraméter a következő jelölők kombinációja lehet:

  • SWP_DRAWFRAME Keret rajzolása (az ablak létrehozásakor definiálva) az ablak körül.

  • SWP_FRAMECHANGED WM_NCCALCSIZE Üzenetet küld az ablaknak, még akkor is, ha az ablak mérete nem változik. Ha ez a jelző nincs megadva, WM_NCCALCSIZE a rendszer csak az ablak méretének módosításakor küldi el.

  • SWP_HIDEWINDOW Elrejti az ablakot.

  • SWP_NOACTIVATE Nem aktiválja az ablakot. Ha ez a jelző nincs beállítva, a rendszer aktiválja az ablakot, és a legfelső vagy a nem legfelső csoport tetejére helyezi át (a pWndInsertAfter paraméter beállításától függően).

  • SWP_NOCOPYBITS Elveti az ügyfélterület teljes tartalmát. Ha nincs megadva ez a jelző, a rendszer az ablakméret vagy az áthelyezés után menti az ügyfélterület érvényes tartalmát, és visszamásolja az ügyfélterületre.

  • SWP_NOMOVEMegtartja az aktuális pozíciót (figyelmen kívül hagyja a paramétereket és y a x paramétereket).

  • SWP_NOOWNERZORDER Nem módosítja a tulajdonosi ablak pozícióját a Z-sorrendben.

  • SWP_NOREDRAW Nem módosítja újra a módosításokat. Ha ez a jelző be van állítva, semmilyen újrafestés nem történik. Ez vonatkozik az ügyfélterületre, a nemclient területre (beleértve a címet és a görgetősávokat), valamint a szülőablaknak az áthelyezett ablak eredményeként feltárt bármely részére. Ha ez a jelző be van állítva, az alkalmazásnak explicit módon érvénytelenítenie vagy újra kell állítania az ablak és a szülőablak azon részeit, amelyeket újra kell állítani.

  • SWP_NOREPOSITION ugyanaz, mint SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Megakadályozza, hogy az ablak megkapja az WM_WINDOWPOSCHANGING üzenetet.

  • SWP_NOSIZEMegtartja az aktuális méretet (figyelmen kívül hagyja a paramétereket és cy a cx paramétereket).

  • SWP_NOZORDER Megtartja az aktuális rendezést (figyelmen kívül hagyja pWndInsertAfter).

  • SWP_SHOWWINDOW Megjeleníti az ablakot.

Visszaadott érték

Nonzero, ha a függvény sikeres; ellenkező esetben 0.

Megjegyzések

A Windows a Z-sorrendnek megfelelően van rendelve a képernyőn; A Z-rendelés tetején lévő ablak a sorrendben lévő összes többi ablak tetején jelenik meg.

A gyermekablakok összes koordinátája ügyfélkoordináta (a szülőablak ügyfélterületének bal felső sarkához viszonyítva).

Egy ablak áthelyezhető a Z-rendelés elejére a paraméter &wndTopMost beállításával pWndInsertAfter és annak biztosításával, hogy SWP_NOZORDER a jelölő nincs beállítva, vagy egy ablak Z-sorrendjének beállításával úgy, hogy az a meglévő legfelső ablakok fölé legyen helyezve. Ha egy nem legfelső szintű ablak a legfelső, akkor a saját ablakai is a legfelül vannak készítve. Tulajdonosai nem változnak.

A legfelső ablak már nem a legtetejes, ha a Z-rendelés aljára (&wndBottom) van áthelyezve, vagy bármely nem legfelső ablak után. Ha a legfelső ablak nem a legfelső, akkor az összes tulajdonosa és a tulajdonában lévő ablakok is nem a legfelső szintű ablakok lesznek.

Ha egyik SWP_NOACTIVATE sem SWP_NOZORDER van megadva (vagyis amikor az alkalmazás egy ablak egyidejű aktiválását és a megadott Z-sorrendbe helyezését kéri), a megadott pWndInsertAfter érték csak a következő körülmények között lesz felhasználva:

  • Sem a paraméterben, sem &wndNoTopMost a pWndInsertAfter paraméterben nincs &wndTopMost megadva.

  • Ez az ablak nem az aktív ablak.

Az alkalmazás nem aktiválhat inaktív ablakot anélkül, hogy a Z-rendelés elejére hozad. Az alkalmazások korlátozás nélkül módosíthatják az aktivált ablak Z-sorrendjét.

A nem a legfelső ablak lehet a legtetejes ablak, de nem fordítva. A legfelső ablak tulajdonában lévő összes ablak (például párbeszédpanel) a legfelső ablakból áll, így biztosítva, hogy minden tulajdonban lévő ablak a tulajdonos felett maradjon.

A Windows 3.1 és újabb verzióival a windowsok a Z-rendelés elejére helyezhetők át, és a stílusuk WS_EX_TOPMOST beállításával zárolhatók. Az ilyen legfelső ablak akkor is megtartja a legfelső pozícióját, ha inaktiválja. Ha például a WinHelp Always On Top parancsot választja, akkor a súgóablak lesz a legfelül, és akkor is látható marad, amikor visszatér az alkalmazáshoz.

A legfelső ablak létrehozásához hívja meg SetWindowPos az pWndInsertAfter egyenlő &wndTopMostparamétert, vagy állítsa be a WS_EX_TOPMOST stílust az ablak létrehozásakor.

Ha a Z-rendelés tartalmaz bármilyen, a WS_EX_TOPMOST stílussal rendelkező ablakot, akkor az &wndTopMost értékével áthelyezett ablak az összes nem legfelső ablak tetejére kerül, de a legfelső ablakok alá. Ha egy alkalmazás bit nélkül WS_EX_TOPMOST aktivál egy inaktív ablakot, az ablak az összes nem legfelső ablak fölé, de a legfelső ablakok alá kerül.

Ha SetWindowPos a paraméter akkor van meghívva, amikor a pWndInsertAfter paraméter &wndBottomCWnd a legfelső ablak, az ablak elveszíti a legfelső állapotát (WS_EX_TOPMOST törlődik), és a rendszer a Z-rendelés alján helyezi el az ablakot.

Example

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

Hívja meg ezt a tagfüggvényt egy ablak régiójának beállításához.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Paraméterek

hRgn
Egy régió fogópontja.

bRedraw
Ha TRUEaz operációs rendszer újrarajzozza az ablakot a régió beállítása után, ellenkező esetben nem. Általában állítsa be bRedraw , hogy TRUE az ablak látható-e. Ha be van TRUEállítva, a rendszer elküldi az WM_WINDOWPOSCHANGEDWM_WINDOWPOSCHANGING üzeneteket az ablaknak.

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték nem lesz nulla. Ha a függvény sikertelen, a visszatérési érték nulla.

Megjegyzések

Az ablak ablakterületének koordinátái az ablak bal felső sarkához viszonyítva vannak, nem pedig az ablak ügyfélterületéhez.

Sikeres hívás SetWindowRgnután az operációs rendszeré a régiókezelő hRgnáltal megadott régió. Az operációs rendszer nem készít másolatot a régióról, ezért ne kezdeményezz további függvényhívásokat ezzel a régióleíróval, és ne zárja be ezt a régióleírót.

CWnd::SetWindowText

Az ablak címét a megadott szövegre állítja.

void SetWindowText(LPCTSTR lpszString);

Paraméterek

lpszString
CString Az új címként vagy vezérlőszövegként használandó objektumra vagy null értékű sztringre mutat.

Megjegyzések

Ha az ablak vezérlőelem, a vezérlőelemen belüli szöveg be van állítva.

Ez a függvény WM_SETTEXT egy üzenetet küld ebbe az ablakba.

Example

// 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

A simító aktuális pozíciójában jeleníti meg a képernyőn látható simítót.

void ShowCaret();

Megjegyzések

Amint megjelenik, a gondviselő automatikusan villogni kezd.

A ShowCaret tagfüggvény csak akkor jeleníti meg a simítót, ha aktuális alakzata van, és egymást követő két vagy több alkalommal nem rejtette el. Ha a gondviselet nem az ablak tulajdonában van, a gondviselet nem jelenik meg.

A gondviselő elrejtése kumulatív. Ha a HideCaret tagfüggvényt egymást követő öt alkalommal hívták meg, ShowCaret a gondviselet megjelenítéséhez ötször kell meghívni.

A gondviselet egy megosztott erőforrás. Az ablak csak akkor jelenítse meg a gondviseletet, ha a fókusz a bemeneti fókuszban van, vagy aktív.

Example

Lásd a példát a CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Megjeleníti vagy elrejti az ablak tulajdonában lévő összes előugró ablakot.

void ShowOwnedPopups(BOOL bShow = TRUE);

Paraméterek

bShow
Megadja, hogy az előugró ablakok megjelenjenek vagy rejtettek legyenek-e. Ha ez a paraméter, TRUEaz összes rejtett előugró ablak megjelenik. Ha ez a paraméter, minden FALSElátható előugró ablak rejtett.

Example

Lásd a példát a CWnd::SetWindowPos.

CWnd::ShowScrollBar

Görgetősáv megjelenítése vagy elrejtése.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Paraméterek

nBar
Megadja, hogy a görgetősáv egy vezérlőelem vagy egy ablak nem megfelelő területének része-e. Ha a nemclient terület része, azt is jelzi, nBar hogy a görgetősáv vízszintesen, függőlegesen vagy mindkettőben van-e elhelyezve. Az alábbiak egyikének kell lennie:

  • SB_BOTH Az ablak vízszintes és függőleges görgetősávjait adja meg.

  • SB_HORZ Azt adja meg, hogy az ablak vízszintes görgetősáv.

  • SB_VERT Megadja, hogy az ablak egy függőleges görgetősáv.

bShow
Megadja, hogy a Windows megjeleníti-e vagy elrejti-e a görgetősávot. Ha ez a paraméter, TRUEmegjelenik a görgetősáv, ellenkező esetben a görgetősáv rejtett.

Megjegyzések

Egy alkalmazásnak nem kell meghívnia ShowScrollBar , hogy elrejtse a görgetősávot a görgetősáv értesítési üzenetének feldolgozása közben.

CWnd::ShowWindow

Beállítja az ablak láthatósági állapotát.

BOOL ShowWindow(int nCmdShow);

Paraméterek

nCmdShow
Megadja, CWnd hogyan jelenjen meg a megjelenítendő érték. Az alábbi értékek egyikének kell lennie:

  • SW_HIDE Elrejti ezt az ablakot, és átadja az aktiválást egy másik ablaknak.

  • SW_MINIMIZE Kis méretűre csökkenti az ablakot, és aktiválja a legfelső szintű ablakot a rendszer listájában.

  • SW_RESTORE Aktiválja és megjeleníti az ablakot. Ha az ablak kis méretű vagy teljes méretű, a Windows visszaállítja az eredeti méretére és pozíciójára.

  • SW_SHOW Aktiválja az ablakot, és megjeleníti az aktuális méretében és pozíciójában.

  • SW_SHOWMAXIMIZED Aktiválja az ablakot, és teljes méretű ablakként jeleníti meg.

  • SW_SHOWMINIMIZED Aktiválja az ablakot, és ikonként jeleníti meg.

  • SW_SHOWMINNOACTIVE Ikonként jeleníti meg az ablakot. A jelenleg aktív ablak aktív marad.

  • SW_SHOWNA Megjeleníti az ablakot az aktuális állapotában. A jelenleg aktív ablak aktív marad.

  • SW_SHOWNOACTIVATE Megjeleníti az ablakot a legújabb méretében és pozíciójában. A jelenleg aktív ablak aktív marad.

  • SW_SHOWNORMAL Aktiválja és megjeleníti az ablakot. Ha az ablak kis méretű vagy teljes méretű, a Windows visszaállítja az eredeti méretére és pozíciójára.

Visszaadott érték

Nonzero, ha az ablak korábban látható volt; 0, ha a CWnd korábban rejtett.

Megjegyzések

ShowWindow alkalmazásonként csak egyszer kell meghívni a főablakban a következővel CWinApp::m_nCmdShow: . A későbbi hívásoknak ShowWindow a fent felsorolt értékek egyikét kell használniuk a megadott CWinApp::m_nCmdShowérték helyett.

Example

Lásd a példát a CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Hívja meg ezt a tagfüggvényt egy párbeszédpanelsablonból létrehozott vezérlő "dinamikus alosztályának", és csatolja az CWnd objektumhoz.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Paraméterek

nID
A vezérlő azonosítója.

pParent
A vezérlő szülője (általában párbeszédpanel).

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ha egy vezérlő dinamikusan alosztályozódik, a Windows-üzenetek az CWnd"üzenettérképen" haladnak végig, és először az CWndosztály üzenetkezelőinek hívására kerülnek. Az alaposztálynak átadott üzenetek a vezérlő alapértelmezett üzenetkezelőjének lesznek átadva.

Ez a tagfüggvény csatolja a Windows-vezérlőt egy CWnd objektumhoz, és lecseréli a vezérlőt WndProc és AfxWndProc a függvényeket. A függvény a régit WndProc a tagfüggvény által visszaadott GetSuperWndProcAddr helyen tárolja.

Example

// 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

Hívja meg ezt a tagfüggvényt egy ablak "dinamikus alosztályának" meghívásához, és csatolja ehhez az CWnd objektumhoz.

BOOL SubclassWindow(HWND hWnd);

Paraméterek

hWnd
Egy fogópont az ablakhoz.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ha egy ablak dinamikusan alosztályozódik, a windowsos üzenetek az CWnd"üzenettérképen" haladnak végig, és először az CWndosztály üzenetkezelőinek hívását fogják hívni. Az alaposztálynak átadott üzenetek az ablak alapértelmezett üzenetkezelőjének lesznek átadva.

Ez a tagfüggvény csatolja a Windows-vezérlőt egy CWnd objektumhoz, és lecseréli WndProc az ablak és AfxWndProc a függvényeket. A függvény a régire WndProc mutató mutatót tárol az CWnd objektumban.

Megjegyzés:

A függvény meghívásakor az ablak nem csatolható MFC-objektumhoz.

Example

// 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

Hívja meg ezt a tagfüggvényt a zárolt ablak zárolásának feloldásához CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Megjegyzések

Egyszerre csak egy ablak zárolható LockWindowUpdate. Az ablakok zárolásával kapcsolatos további információkért tekintse meg vagy tekintse meg CWnd::LockWindowUpdate a Win32 függvényt LockWindowUpdate .

CWnd::UnsubclassWindow

Hívja meg ezt a tagfüggvényt, hogy állítsa WndProc vissza az eredeti értékét, és válassza le a HWND által azonosított ablakot az CWnd objektumról.

HWND UnsubclassWindow();

Visszaadott érték

A nem besorolt ablak fogópontja.

Example

Lásd a példát a CWnd::SubclassWindow.

CWnd::UpdateData

Hívja meg ezt a tagfüggvényt, hogy inicializálja az adatokat egy párbeszédpanelen, vagy kérje le és ellenőrizze a párbeszédpanel adatait.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Paraméterek

bSaveAndValidate
A párbeszédpanel inicializálását () vagy az adatok lekérését (FALSETRUE) jelző.

Visszaadott érték

Nonzero, ha a művelet sikeres; egyéb esetben 0. Ha bSaveAndValidate igen TRUE, akkor a nonzero visszatérési értéke azt jelenti, hogy az adatok ellenőrzése sikeresen megtörtént.

Megjegyzések

A keretrendszer automatikusan meghívja UpdateDatabSaveAndValidate a FALSE modális párbeszédpanelek alapértelmezett implementációjában CDialog::OnInitDialogvaló létrehozásakor beállított értéket. A hívás a párbeszédpanel megjelenítése előtt történik. A tagfüggvény alapértelmezett megvalósítása CDialog::OnOK az adatok lekérésére TRUE beállított beállítássalbSaveAndValidate, és ha sikeres, bezárja a párbeszédpanelt. (Ha a Mégse gombra kattint a párbeszédpanelen, a párbeszédpanel az adatok lekérése nélkül bezárul.)

CWnd::UpdateDialogControls

Hívja meg ezt a tagfüggvényt, hogy frissítse a visszahívási mechanizmust használó ON_UPDATE_COMMAND_UI párbeszédpanelen vagy ablakban lévő párbeszédpanelek és egyéb vezérlők állapotát.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Paraméterek

pTarget
Az alkalmazás fő keretablakára mutat, és a frissítési üzenetek útválasztására szolgál.

bDisableIfNoHndler
Jelző, amely jelzi, hogy a frissítéskezelővel nem rendelkező vezérlők automatikusan letiltottként jelenjenek-e meg.

Megjegyzések

Ha egy gyermekvezérlő nem rendelkezik kezelővel, és bDisableIfNoHndler van TRUE, akkor a gyermekvezérlő le lesz tiltva.

A keretrendszer meghívja ezt a tagfüggvényt a párbeszédpanelek vagy eszköztárak vezérlőihez az alkalmazás tétlen feldolgozásának részeként.

CWnd::UpdateLayeredWindow

Frissíti a rétegzett ablak pozícióját, méretét, alakját, tartalmát és áttetszőségét.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Paraméterek

pDCDst
Mutató a képernyő eszközkörnyezetére. A paletta színegyeztetésére szolgál az ablak tartalmának frissítésekor. Ha pDCDst igen NULL, akkor a rendszer az alapértelmezett palettát használja.

Ha pDCSrc igen NULL, pDCDst akkor az kell legyen NULL.

pptDst
A rétegzett ablak új képernyőpozícióját meghatározó struktúra mutatója POINT . Ha az aktuális pozíció nem változik, pptDst lehet NULL.

psize
Mutató a SIZE rétegzett ablak új méretét meghatározó struktúrára. Ha az ablak mérete nem változik, lehetNULL. psize

Ha pDCSrc igen NULL, psize akkor az kell legyen NULL.

pDCSrc
Egy tartományvezérlőre mutató mutató a rétegzett ablakot meghatározó felülethez. Ha az ablak alakzata és vizuális környezete nem változik, lehetNULL. pDCSrc

pptSrc
Mutasson egy POINT szerkezetre, amely meghatározza a réteg helyét az eszközkörnyezetben.

Ha pDCSrc igen NULL, pptSrc akkor az kell legyen NULL.

crKey
Mutasson egy COLORREF értékre, amely megadja a rétegzett ablak írásakor használni kívánt áttetszőségi színkulcsot. Az ablak által ebben a színben festett összes képpont átlátszó lesz. A létrehozáshoz COLORREFhasználja az RGB-makrót.

pblend
Mutasson egy BLENDFUNCTION struktúrára, amely meghatározza a rétegzett ablak írásakor használandó áttetszőségi értéket.

dwFlags
Megadja a végrehajtandó műveletet. Ez a paraméter az alábbi értékek közül egy vagy több lehet. A lehetséges értékek listáját lásd: UpdateLayeredWindow.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja a függvény UpdateLayeredWindowfunkcióit.

CWnd::UpdateWindow

Frissíti az ügyfélterületet egy WM_PAINT üzenet küldésével, ha a frissítési régió nem üres.

void UpdateWindow();

Megjegyzések

A UpdateWindow tagfüggvény közvetlenül üzenetet küld WM_PAINT az alkalmazássor megkerülésével. Ha a frissítési régió üres, WM_PAINT a rendszer nem küldi el.

Example

// 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

Ellenőrzi az ügyfélterületet az adott téglalapon belül úgy, hogy eltávolítja a téglalapot az ablak frissítési régiójából.

void ValidateRect(LPCRECT lpRect);

Paraméterek

lpRect
Olyan objektumra vagy RECT struktúráraCRect mutat, amely a frissítési régióból eltávolítandó téglalap ügyfélkoordinátáit tartalmazza. Ha lpRect igen NULL, a rendszer ellenőrzi a teljes ablakot.

Megjegyzések

A BeginPaint tagfüggvény automatikusan ellenőrzi a teljes ügyfélterületet. Sem a ValidateRectValidateRgn tagfüggvényt nem lehet meghívni, ha a frissítési régió egy részét ellenőrizni kell a következő létrehozás előtt WM_PAINT .

A Windows továbbra is üzeneteket hoz létre WM_PAINT az aktuális frissítési régió érvényesítéséig.

CWnd::ValidateRgn

Ellenőrzi az ügyfélterületet az adott régión belül úgy, hogy eltávolítja a régiót az ablak aktuális frissítési régiójából.

void ValidateRgn(CRgn* pRgn);

Paraméterek

pRgn
Egy olyan objektumra mutató CRgn mutató, amely azonosít egy régiót, amely meghatározza a frissítési régióból eltávolítandó területet. Ha ez a paraméter, NULLa teljes ügyfélterület el lesz távolítva.

Megjegyzések

Az adott régiót korábban egy régiófüggvénynek kellett létrehoznia. A régió koordinátáit a rendszer ügyfélkoordinátának tekinti.

A BeginPaint tagfüggvény automatikusan ellenőrzi a teljes ügyfélterületet. Sem a ValidateRectValidateRgn tagfüggvény nem hívható meg, ha a frissítési régió egy részét ellenőrizni kell a következő WM_PAINT üzenet létrehozása előtt.

CWnd::WindowFromPoint

Lekéri a megadott pontot tartalmazó ablakot; point meg kell adnia a képernyő egy pontjának képernyőkoordinátáit.

static CWnd* PASCAL WindowFromPoint(POINT point);

Paraméterek

point
Olyan objektumot CPoint vagy POINT adatstruktúrát határoz meg, amely meghatározza az ellenőrizendő pontot.

Visszaadott érték

Mutató arra az ablakobjektumra, amelyben a pont található. NULL Ha nincs ablak az adott ponton. Előfordulhat, hogy a visszaadott mutató ideiglenes, és nem szabad későbbi használatra tárolni.

Megjegyzések

WindowFromPoint nem kér le rejtett vagy letiltott ablakot, még akkor sem, ha a pont az ablakban van. Az alkalmazásoknak a ChildWindowFromPoint tagfüggvényt kell használniuk a nem megfelelő kereséshez.

CWnd::WindowProc

Windows-eljárást (WindowProc) biztosít egy CWnd objektumhoz.

virtual LRESULT WindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

message
Megadja a feldolgozandó Windows-üzenetet.

wParam
További információt nyújt az üzenet feldolgozásához. A paraméter értéke az üzenettől függ.

lParam
További információt nyújt az üzenet feldolgozásához. A paraméter értéke az üzenettől függ.

Visszaadott érték

A visszatérési érték az üzenettől függ.

Megjegyzések

Üzeneteket küld az ablak üzenettérképén keresztül.

CWnd::WinHelp

Meghívva a WinHelp-alkalmazás elindításához.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Paraméterek

dwData
További adatokat ad meg. A használt érték a paraméter értékétől nCmd függ.

nCmd
Megadja a kért súgó típusát. A lehetséges értékek listáját és a dwData paraméterre gyakorolt hatásuk módját a WinHelp Windows SDK Windows függvényében találja.

Megjegyzések

További információért lásd a CWinApp::WinHelp jelű részt.

CWnd::RegisterTouchWindow

Regisztrálja vagy megszünteti a Windows érintéses támogatását.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Paraméterek

bRegister
TRUE a Windows érintéses támogatás regisztrálását jelzi; FALSE Egyébként.

ulFlags
Bitjelölők készlete, amelyek opcionális módosításokat határoznak meg. Ez a mező 0 értéket vagy a következő értékek egyikét tartalmazhatja: TWF_FINETOUCH, TWF_WANTPALM.

Visszaadott érték

sikeres TRUE; egyéb esetben FALSE.

Megjegyzések

CWnd::ResizeDynamicLayout

A keretrendszer meghívja, amikor az ablak mérete megváltozik a gyermekablakok elrendezésének módosításához, ha a dinamikus elrendezés engedélyezve van az ablakban.

virtual void ResizeDynamicLayout();

Megjegyzések

Lásd még

CCmdTarget osztály
hierarchiadiagram
CFrameWnd osztály
CView osztály