Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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_VISIBLEElő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_DISABLEDLé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_BORDERVékonyvonalas szegélyű ablakot hoz létre. Beállítható, ha a vezérlőelem rendelkezik tulajdonság használatávalBorderStyle.WS_GROUPEgy 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ílussalWS_GROUPdefiniált összes vezérlő ugyanahhoz a csoporthoz tartozik. A következő vezérlőelem aWS_GROUPstílussal véget vet a csoportnak, és elindítja a következő csoportot.WS_TABSTOPOlyan 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őjeWS_TABSTOPlesz.
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_READWRITEOlvasási-írási adatfájlok további attribútumok nélkül.DDL_READONLYÍrásvédett fájlok.DDL_HIDDENRejtett fájlok.DDL_SYSTEMRendszerfájlok.DDL_DIRECTORYKönyvtárak.DDL_ARCHIVEArchívum.DDL_POSTMSGSLB_DIRZászló. Ha aLB_DIRjelző be van állítva, a Windows az alkalmazás üzenetsorába helyezi a létrehozottDlgDirListüzeneteket, ellenkező esetben a rendszer közvetlenül a párbeszédpanel-eljárásba küldi őket.DDL_DRIVESMeghajtók. Ha aDDL_DRIVESjelölő be van állítva, aDDL_EXCLUSIVEjelö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ívniaDlgDirList: egyszer aDDL_DRIVESjelölőkészlettel, egyszer pedig a lista többi részének jelzőivel.DDL_EXCLUSIVEExkluzí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_READWRITEOlvasási-írási adatfájlok további attribútumok nélkül.DDL_READONLYÍrásvédett fájlok.DDL_HIDDENRejtett fájlok.DDL_SYSTEMRendszerfájlok.DDL_DIRECTORYKönyvtárak.DDL_ARCHIVEArchívum.DDL_POSTMSGSCB_DIRZászló. Ha aCB_DIRjelző be van állítva, a Windows az alkalmazás üzenetsorába helyezi a létrehozottDlgDirListComboBoxüzeneteket, ellenkező esetben a rendszer közvetlenül a párbeszédpanel-eljárásba küldi őket.DDL_DRIVESMeghajtók. Ha aDDL_DRIVESjelölő be van állítva, aDDL_EXCLUSIVEjelö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ívniaDlgDirListComboBox: egyszer aDDL_DRIVESjelölőkészlettel, egyszer pedig a lista többi részének jelzőivel.DDL_EXCLUSIVEExkluzí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_BOTHEngedélyezi vagy letiltja az ablakhoz társított vízszintes és függőleges görgetősávok nyílait.SB_HORZEngedélyezi vagy letiltja az ablakhoz társított vízszintes görgetősáv nyilait.SB_VERTEngedé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_BOTHEngedélyezi a görgetősáv mindkét nyílát (alapértelmezett).ESB_DISABLE_LTUPLetiltja 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_RTDNLetiltja a vízszintes görgetősáv vagy a függőleges görgetősáv lefelé mutató nyílát.ESB_DISABLE_BOTHLetiltja 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_CACHEEgy eszközkörnyezetet ad vissza a gyorsítótárból, nem pedig azOWNDCCLASSDCablakot. FelülírjaCS_OWNDCésCS_CLASSDC.DCX_CLIPCHILDRENKizárja az ablak alatti összes gyermekablak látható területeitCWnd.DCX_CLIPSIBLINGSKizárja az ablak feletti összes testvérablak látható területeitCWnd.DCX_EXCLUDERGNKizárja a visszaadott eszközkörnyezet látható régiójából azonosítottprgnClipkivágási régiót.DCX_INTERSECTRGNMetszi a visszaadott eszközkörnyezet látható régiójában azonosítottprgnClipkivágási régiót.DCX_LOCKWINDOWUPDATEEngedélyezi a rajzot akkor is, ha olyanLockWindowUpdatehí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_PARENTCLIPA szülőablak látható régióját használja, és figyelmen kívül hagyja a szülőablakWS_CLIPCHILDRENésWS_PARENTDCa stílus bitjét. Ez az érték az eszközkörnyezet forrását az ablak bal felső sarkára állítjaCWnd.DCX_WINDOWAz ü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_HORZLekéri a vízszintes görgetősáv pozícióját.SB_VERTLeké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_CTLLekéri a görgetősáv-vezérlő paramétereit. Azm_hWndadatelemnek a görgetősáv vezérlőjének kell lennie.SB_HORZLekéri az ablak normál vízszintes görgetősávjának paramétereit.SB_VERTLeké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_HORZLekéri a vízszintes görgetősáv görgetési korlátját.SB_VERTLeké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_HORZLekéri a vízszintes görgetősáv pozícióját.SB_VERTLeké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_HORZLekéri a vízszintes görgetősáv pozícióját.SB_VERTLeké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:
SIMPLEREGIONA régiónak nincsenek átfedésben lévő szegélyek.COMPLEXREGIONA régió szegélye átfedésben van.NULLREGIONA régió üres.ERRORNem 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_CHILDAzonosítja azCWndelső gyermekablakot.GW_HWNDFIRSTHaCWndgyermekablak, akkor az első testvérablakot adja vissza. Ellenkező esetben a lista első legfelső szintű ablakát adja vissza.GW_HWNDLASTHaCWndgyermekablak, akkor az utolsó testvérablakot adja vissza. Ellenkező esetben a lista utolsó legfelső szintű ablakát adja vissza.GW_HWNDNEXTA következő ablakot adja vissza az ablakkezelő listájában.GW_HWNDPREVAz előző ablakot adja vissza az ablakkezelő listájában.GW_OWNERAzonosítja a tulajdonostCWnd.
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:
NULLREGIONA régió üres.SIMPLEREGIONA régió egyetlen téglalap.COMPLEXREGIONA régió több téglalapból áll.ERRORHiba 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_BYCOMMANDnIDHiliteItemA menüelem azonosítójaként értelmezi (az alapértelmezett értelmezés).MF_BYPOSITIONnIDHiliteItemA menüelem nullaalapú eltolásaként értelmezi.MF_HILITEKiemeli az elemet. Ha ez az érték nincs megadva, a rendszer eltávolítja a kiemelést az elemből.MF_UNHILITEEltá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 |
|---|---|
|
MB_ICONHAND, MB_ICONSTOPés MB_ICONERROR |
|
MB_ICONQUESTION |
|
MB_ICONEXCLAMATION és MB_ICONWARNING |
|
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_NOSIZEMegtartja az aktuális méretet.SWP_NOMOVEMegtartja az aktuális pozíciót.SWP_NOZORDERMegtartja az aktuális Z sorrendet.SWP_NOACTIVATENem 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_NOSIZEMegtartja az aktuális méretet.SWP_NOMOVEMegtartja az aktuális pozíciót.SWP_NOZORDERMegtartja az aktuális Z sorrendet.SWP_NOACTIVATENem 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_INACTIVEAz ablak inaktiválva van.WA_ACTIVEAz 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_CLICKACTIVEAz 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_CLEARA felhasználói felület állapotelemének (a megadottnUIElement) rejtettnek kell lennie.UIS_INITIALIZEA felhasználói felület állapotelemét (a megadottnUIElement) az utolsó bemeneti esemény alapján kell módosítani. További információkért lásd a Megjegyzések szakasztWM_CHANGEUISTATE.UIS_SETA felhasználói felület állapotelemének (a megadottnUIElement) 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_HIDEACCELBillentyűzetgyorsítók.UISF_HIDEFOCUSFókuszjelzők.UISF_ACTIVEWindows 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_BTNGombvezérlőCTLCOLOR_DLGPárbeszédpanelCTLCOLOR_EDITVezérlő szerkesztéseCTLCOLOR_LISTBOXListamező vezérlőelemCTLCOLOR_MSGBOXÜzenetmezőCTLCOLOR_SCROLLBARGörgetősáv vezérlőelemCTLCOLOR_STATICStatikus 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:
DBT_DEVICEARRIVALAz eszköz be lett szúrva, és már elérhető.DBT_DEVICEQUERYREMOVEEngedélyt kér az eszköz eltávolítására. Bármely alkalmazás megtagadhatja ezt a kérést, és megszakíthatja az eltávolítást.DBT_DEVICEQUERYREMOVEFAILEDAz eszköz eltávolítására vonatkozó kérés megszakadt.DBT_DEVICEREMOVEPENDINGAz eszköz hamarosan el lesz távolítva. Nem tagadható meg.DBT_DEVICEREMOVECOMPLETEAz eszköz el lett távolítva.DBT_DEVICETYPESPECIFICEszközspecifikus esemény.DBT_CONFIGCHANGEDAz aktuális konfiguráció megváltozott.DBT_DEVNODES_CHANGEDAz eszközcsomópont 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::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_DIALOGBOXA rendszer tétlen, mert egy párbeszédpanel jelenik meg.MSGF_MENUA 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_BUTTONGomb (általános).DLGC_DEFPUSHBUTTONAlapértelmezett leküldéses gomb.DLGC_HASSETSELEM_SETSELÜzenetek.DLGC_UNDEFPUSHBUTTONNincs alapértelmezett leküldéses feldolgozás. (Egy alkalmazás ezzel a jelzővelDLGC_BUTTONjelezheti, hogy feldolgozza a gombbemenetet, de a rendszerre támaszkodik az alapértelmezett leküldéses feldolgozáshoz.)DLGC_RADIOBUTTONVálasztógomb.DLGC_STATICStatikus vezérlő.DLGC_WANTALLKEYSMinden billentyűzetbemenet.DLGC_WANTARROWSNyilakkal.DLGC_WANTCHARSWM_CHARÜzenetek.DLGC_WANTMESSAGEMinden billentyűzetbemenet. Az alkalmazás átadja ezt az üzenetet a vezérlőnek.DLGC_WANTTABTAB 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_LEFTGörgessen balra.SB_ENDSCROLLGörgetés vége.SB_LINELEFTGörgessen balra.SB_LINERIGHTGörgessen jobbra.SB_PAGELEFTGörgetés egy oldallal balra.SB_PAGERIGHTGörgessen jobbra egy oldalt.SB_RIGHTGörgessen jobbra.SB_THUMBPOSITIONGörgessen abszolút pozícióba. Az aktuális pozíciót anPosparaméter határozza meg.SB_THUMBTRACKHúzza a görgetődobozt a megadott helyre. Az aktuális pozíciót anPosparamé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_BOTTOMGörgessen jobbra lefelé.SB_ENDSCROLLGörgetés vége.SB_LINEDOWNGörgessen le egy sort.SB_LINEUPGörgetés egy sorban felfelé.SB_PAGEDOWNGörgessen le egy oldalt lefelé.SB_PAGEUPGörgetés egy oldallal feljebb.SB_THUMBPOSITIONGörgessen az abszolút pozícióhoz. Az aktuális pozíció a következőbennPosvan megadva: .SB_TOPGö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_BITMAPAz elem egy bitkép.MF_CHECKEDAz elem be van jelölve.MF_DISABLEDAz elem le van tiltva.MF_GRAYEDAz elem halvány.MF_MOUSESELECTAz elem egérrel lett kijelölve.MF_OWNERDRAWAz elem egy tulajdonosi rajzelem.MF_POPUPAz elem egy előugró menüt tartalmaz.MF_SEPARATORAz elem egy menüelem-elválasztó.MF_SYSMENUAz 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_ACTIVATEObjektum aktiválásaCWnd.MA_NOACTIVATENe aktiválja azCWndobjektumot.MA_ACTIVATEANDEATObjektum aktiválásaCWndés az egéresemény elvetése.MA_NOACTIVATEANDEATNe aktiváljaCWndaz 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 üzenetekbenWM_NOTIFY. Ez az üzenet egy vezérlőből a szülőablakba kerül egy vezérlő létrehozásakor, és azNF_REQUERYüzenet formájára válaszul. -
NF_REQUERY– Az üzenet egy vezérlő kérése,NF_QUERYamely 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 üzenetekbenWM_NOTIFYhasználandó struktúra típusáról. Ha anCommandparaméter azNF_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_CREATEA gyermekablak létrehozása folyamatban van.WM_DESTROYA gyermekablak elpusztul.WM_LBUTTONDOWNA felhasználó az egérmutatót a gyermekablak fölé helyezte, és a bal egérgombra kattintott.WM_MBUTTONDOWNA felhasználó az egérmutatót a gyermekablak fölé helyezte, és a középső egérgombra kattintott.WM_RBUTTONDOWNA 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_HIDEFOCUSA fókuszjelzők rejtettek.UISF_HIDEACCELA billentyűzetgyorsítók rejtettek.UISF_ACTIVEWindows 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_SETTINGCHANGENT 4.0 vagy újabb, vagy Windows 95/98 rendszerben használható.Windows
ON_WININICHANGENT 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_PARENTCLOSINGA szülőablak bezárul (ikonikussá vált), vagy egy előugró ablak el van rejtve.SW_PARENTOPENINGA 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_MAXIMIZEDAz ablak teljes méretű.SIZE_MINIMIZEDAz ablak kis méretűre van állítva.SIZE_RESTOREDAz ablak átméretezve lett, de egyik semSIZE_MINIMIZEDSIZE_MAXIMIZEDérvényes.SIZE_MAXHIDEA rendszer az összes előugró ablaknak üzenetet küld, ha egy másik ablak teljes méretű.SIZE_MAXSHOWA 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_EXSTYLEAz ablak bővített stílusai megváltoztak.GWL_STYLEAz 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_EXSTYLEAz ablak bővített stílusai megváltoztak.GWL_STYLEAz 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_CLOSEZárja be azCWndobjektumot.SC_HOTKEYAktiválja azCWndalkalmazás által megadott gyorsbillentyűhöz társított objektumot. Az alacsonyrendű szólParamazonosítja azHWNDaktiválni kívánt ablakot.SC_HSCROLLGörgetés vízszintesen.SC_KEYMENUMenü lekérése billentyűleütéssel.SC_MAXIMIZE(vagySC_ZOOM) Az objektum teljes méreténekCWndmaximalizálása.SC_MINIMIZE(vagySC_ICON)CWndAz objektum kis méretűre állítása.SC_MOUSEMENUMenü lekérése egérkattintáson keresztül.SC_MOVEHelyezze át azCWndobjektumot.SC_NEXTWINDOWUgrás a következő ablakra.SC_PREVWINDOWUgrás az előző ablakra.SC_RESTOREAz ablak visszaállítása normál helyre és méretre.SC_SCREENSAVEVégrehajtja a fájl [boot] szakaszábanSYSTEM.INImegadott képernyőkímélő alkalmazást.SC_SIZEMéretezd azCWndobjektumot.SC_TASKLISTHajtsa végre vagy aktiválja a Windows Task Manager alkalmazást.SC_VSCROLLGö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_HOTKEYAktiválja az alkalmazás által megadott gyorsbillentyűhöz társított ablakot. Az alacsonyrendű szólParamazonosítja az aktiválni kívánt ablakot.SC_SCREENSAVEHajtsa 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:
IDABORTA felhasználó egy szerkeszthető megszakítás gombra kattintott.IDCANCELA felhasználó egy szerkeszthető Mégse gombra kattintott.IDCLOSEA felhasználó bezárta a betanítási kártyát.IDHELPA felhasználó egy szerkeszthető Windows súgó gombra kattintott.IDIGNOREA felhasználó egy szerkeszthető Mellőzés gombra kattintott.IDOKA felhasználó egy szerkeszthető OK gombra kattintott.IDNOA felhasználó egy szerkeszthető Nem gombra kattintott.IDRETRYA felhasználó egy szerkeszthető Újrapróbálkozás gombra kattintott.HELP_TCARD_DATAA felhasználó egy szerkeszthető gombra kattintott. AdwActionDataparaméter egy hosszú egész számot tartalmaz, amelyet a súgó szerzője adott meg.HELP_TCARD_NEXTA felhasználó egy szerkeszthető Tovább gombra kattintott.HELP_TCARD_OTHER_CALLEREgy másik alkalmazás képzési kártyákat kért.IDYESA 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_hWndFogópont egy ablakhozuId=(UINT)hWndChildFogópont gyermekablakhozuFlags|=TTF_IDISHWNDAz eszköz fogópontjalpszText=LPSTR_TEXTCALLBACKMutató 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_CLEARA felhasználói felület állapotelemének (a megadottnUIElement) rejtettnek kell lennie.UIS_INITIALIZEA felhasználói felület állapotelemét (a megadottnUIElement) az utolsó bemeneti esemény alapján kell módosítani. További információkért lásd a Megjegyzések szakasztWM_UPDATEISTATE.UIS_SETA felhasználói felület állapotelemének (a megadottnUIElement) 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_HIDEACCELBillentyűzetgyorsítók.UISF_HIDEFOCUSFókuszjelzők.UISF_ACTIVEWindows 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_BOTTOMGörgessen lefelé.SB_ENDSCROLLGörgetés vége.SB_LINEDOWNGörgessen le egy sort.SB_LINEUPGörgetés egy sorban felfelé.SB_PAGEDOWNGörgessen le egy oldalt lefelé.SB_PAGEUPGörgetés egy oldallal feljebb.SB_THUMBPOSITIONGörgessen az abszolút pozícióhoz. Az aktuális pozíció a következőbennPosvan megadva: .SB_THUMBTRACKHúzza a görgetődobozt a megadott helyre. Az aktuális pozíció a következőbennPosvan megadva: .SB_TOPGö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_BOTTOMGörgessen lefelé.SB_ENDSCROLLGörgetés vége.SB_LINEDOWNGörgessen le egy sort.SB_LINEUPGörgetés egy sorban felfelé.SB_PAGEDOWNGörgessen le egy oldalt lefelé.SB_PAGEUPGörgetés egy oldallal feljebb.SB_THUMBPOSITIONGörgessen az abszolút pozícióhoz. Az aktuális pozíció a következőbennPosvan megadva: .SB_TOPGö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_CHECKVISIBLECsak akkor rajzolja meg az ablakot, ha látható.PRF_CHILDRENRajzolja meg az összes látható gyermekablakot.PRF_CLIENTRajzolja meg az ablak ügyfélterületét.PRF_ERASEBKGNDAz ablak rajzolása előtt törölje a hátteret.PRF_NONCLIENTRajzolja meg az ablak nem megfelelő területét.PRF_OWNEDRajzolja 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_CHECKVISIBLEmeg van adva, és az ablak nem látható, ne tegyen semmit.Ha
PRF_NONCLIENTmeg van adva, rajzolja meg a nem megfelelő területet az adott eszközkörnyezetben.Ha
PRF_ERASEBKGNDmeg van adva, küldjön egy üzenetet az ablaknakWM_ERASEBKGND.Ha
PRF_CLIENTmeg van adva, küldjön egy üzenetet az ablaknakWM_PRINTCLIENT.Ha
PRF_CHILDRENbe van állítva, küldjön üzenetet minden látható gyermekablaknakWM_PRINT.Ha
PRF_OWNEDbe van állítva, küldjön egy üzenetet mindenWM_PRINTlá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_CHECKVISIBLECsak akkor rajzolja meg az ablakot, ha látható.PRF_CHILDRENRajzolja meg az összes látható gyermekablakot.PRF_CLIENTRajzolja meg az ablak ügyfélterületét.PRF_ERASEBKGNDAz ablak rajzolása előtt törölje a hátteret.PRF_NONCLIENTRajzolja meg az ablak nem megfelelő területét.PRF_OWNEDRajzolja 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_ERASEEz azt eredményezi, hogy az ablak újrafestésekor üzenet érkezikWM_ERASEBKGND. ARDW_INVALIDATEjelölőt is meg kell adni, ellenkező esetben RDW_ERASE nincs hatása.RDW_FRAMEAz ablak nemclient területének bármely olyan részét okozza, amely a frissítési régiót metszi, és üzenetetWM_NCPAINTkap. ARDW_INVALIDATEjelölőt is meg kell adni, ellenkező esetbenRDW_FRAMEnincs hatása.RDW_INTERNALPAINTWM_PAINTAz ü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éslpRectUpdatevagyprgnUpdate(lehet, hogy csak egy nemNULL). Ha mindkettő,NULLa teljes ablak érvénytelen.
Az ablak ellenőrzéséhez a következő jelzők használhatók:
RDW_NOERASELetiltja a függőben lévőWM_ERASEBKGNDüzeneteket.RDW_NOFRAMELetiltja a függőben lévőWM_NCPAINTüzeneteket. Ezt a jelölőt a következővelRDW_VALIDATEkell használni, és általában a következővelRDW_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_NOINTERNALPAINTLetiltja a függőben lévő belsőWM_PAINTüzeneteket. Ez a jelző nem befolyásolja azWM_PAINTérvénytelen területekből eredő üzeneteket.RDW_VALIDATEÉrvényesítilpRectUpdatevagyprgnUpdate(lehet, hogy csak egy nemNULL). 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 aRDW_ALLCHILDRENjelzők által megadottak szerint) fogadásátWM_NCPAINTésRDW_NOCHILDRENWM_ERASEBKGNDaz üzeneteket, ha szükséges, a függvény visszatérése előtt.WM_PAINThalasztott üzeneteket.RDW_UPDATENOWA függvény visszatérése előtt az érintett ablakok (az és aRDW_ALLCHILDRENjelzők által megadottak szerint) fogadásátWM_NCPAINT,WM_ERASEBKGNDésWM_PAINTszükség esetén az üzenetek fogadásátRDW_NOCHILDRENokozza.
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_ALLCHILDRENAz újrafestési művelet gyermekablakait is tartalmazza, ha vannak ilyenek.RDW_NOCHILDRENKizá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::reposDefaultElvégzi a vezérlősávok elrendezését.lpRectParamnincs használatban, és lehetNULL.CWnd::reposQueryA vezérlősávok elrendezése nem történik meg; ehelyettlpRectParamaz ügyfélterület méretével inicializálódik, mintha az elrendezés ténylegesen elkészült volna.CWnd::reposExtraHozzáadja az elrendezés ügyfélterületéneklpRectParamnIDLasté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_NOIDLEMSGNe küldjönWM_ENTERIDLEüzeneteket a szülőnek.MLF_NOKICKIDLENe küldjönWM_KICKIDLEüzeneteket az ablakba.MLF_SHOWONIDLEAz 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_ERASEHa meg vanSW_INVALIDATEadva, törli az újonnan érvénytelenített régiót azWM_ERASEBKGNDablakba küldött üzenettel.SW_INVALIDATEÉrvényteleníti a görgetés után azonosítottprgnUpdaterégiót.SW_SCROLLCHILDRENGörgeti az összes gyermekablakot, amely a megadott képpontokdxdyszáma alapjánlpRectScrollmetszi a téglalapot. A Windows üzenetetWM_MOVEkü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_CTLA görgetősáv-vezérlő paramétereit tartalmazza. Azm_hWndadatelemnek a görgetősáv vezérlőjének kell lennie.SB_HORZAzt adja meg, hogy az ablak vízszintes görgetősáv.SB_VERTMegadja, 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_HORZBeállítja a görgetődoboz pozícióját az ablak vízszintes görgetősávjában.SB_VERTBeá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_HORZAz ablak vízszintes görgetősávjának tartományát állítja be.SB_VERTAz 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:
wndBottomAz ablakot a Z-rendelés alján helyezi el. Ha ezCWnda legfelső ablak, az ablak elveszíti a legfelső állapotát; a rendszer az ablakot az összes többi ablak alján helyezi el.wndTopAz ablakot a Z-rendelés tetején helyezi el.wndTopMostAz 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_DRAWFRAMEKeret rajzolása (az ablak létrehozásakor definiálva) az ablak körül.SWP_FRAMECHANGEDWM_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_NCCALCSIZEa rendszer csak az ablak méretének módosításakor küldi el.SWP_HIDEWINDOWElrejti az ablakot.SWP_NOACTIVATENem 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 (apWndInsertAfterparaméter beállításától függően).SWP_NOCOPYBITSElveti 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 ésyaxparamétereket).SWP_NOOWNERZORDERNem módosítja a tulajdonosi ablak pozícióját a Z-sorrendben.SWP_NOREDRAWNem 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_NOREPOSITIONugyanaz, mintSWP_NOOWNERZORDER.SWP_NOSENDCHANGINGMegakadályozza, hogy az ablak megkapja azWM_WINDOWPOSCHANGINGüzenetet.SWP_NOSIZEMegtartja az aktuális méretet (figyelmen kívül hagyja a paramétereket éscyacxparamétereket).SWP_NOZORDERMegtartja az aktuális rendezést (figyelmen kívül hagyjapWndInsertAfter).SWP_SHOWWINDOWMegjelení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
&wndNoTopMostapWndInsertAfterparaméterben nincs&wndTopMostmegadva.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_BOTHAz ablak vízszintes és függőleges görgetősávjait adja meg.SB_HORZAzt adja meg, hogy az ablak vízszintes görgetősáv.SB_VERTMegadja, 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_HIDEElrejti ezt az ablakot, és átadja az aktiválást egy másik ablaknak.SW_MINIMIZEKis méretűre csökkenti az ablakot, és aktiválja a legfelső szintű ablakot a rendszer listájában.SW_RESTOREAktivá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_SHOWAktiválja az ablakot, és megjeleníti az aktuális méretében és pozíciójában.SW_SHOWMAXIMIZEDAktiválja az ablakot, és teljes méretű ablakként jeleníti meg.SW_SHOWMINIMIZEDAktiválja az ablakot, és ikonként jeleníti meg.SW_SHOWMINNOACTIVEIkonként jeleníti meg az ablakot. A jelenleg aktív ablak aktív marad.SW_SHOWNAMegjeleníti az ablakot az aktuális állapotában. A jelenleg aktív ablak aktív marad.SW_SHOWNOACTIVATEMegjeleníti az ablakot a legújabb méretében és pozíciójában. A jelenleg aktív ablak aktív marad.SW_SHOWNORMALAktivá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