CWnd Třída

Poskytuje základní funkce všech tříd oken v knihovně tříd Microsoft Foundation.

Syntaxe

class CWnd : public CCmdTarget

Členové

Veřejné konstruktory

Jméno popis
CWnd::CWnd CWnd Vytvoří objekt.

Veřejné metody

Jméno popis
CWnd::accDoDefaultAction Volá se rozhraním k provedení výchozí akce objektu.
CWnd::accHitTest Volá se rozhraním pro načtení podřízeného elementu nebo podřízeného objektu v daném bodě na obrazovce.
CWnd::accLocation Volá se rozhraním pro načtení aktuálního umístění obrazovky zadaného objektu.
CWnd::accNavigate Volal rozhraní pro přechod k jinému prvku uživatelského rozhraní v kontejneru a pokud je to možné, načtěte objekt.
CWnd::accSelect Volá se rozhraním pro úpravu výběru nebo přesunutí fokusu klávesnice zadaného objektu.
CWnd::AnimateWindow Animuje přidružený objekt okna.
CWnd::ArrangeIconicWindows Uspořádá všechna minimalizovaná (ikonická) podřízená okna.
CWnd::Attach Připojí úchyt systému Windows k objektu CWnd .
CWnd::BeginModalState Voláním této členské funkce nastavíte modální okno rámce.
CWnd::BeginPaint CWnd Připravuje se na malování.
CWnd::BindDefaultProperty Vytvoří vazbu výchozí jednoduché vázané vlastnosti volajícího objektu označeného v knihovně typů k kurzoru přidruženému k ovládacímu prvku zdroje dat.
CWnd::BindProperty Vytvoří vazbu vlastnosti vázané na kurzor u ovládacího prvku vázaného na data na ovládací prvek zdroje dat a zaregistruje tuto relaci se správcem vazeb MFC.
CWnd::BringWindowToTop Přenese CWnd do horní části zásobníku překrývajících se oken.
CWnd::CalcWindowRect Volá se k výpočtu obdélníku okna z obdélníku klienta.
CWnd::CancelToolTips Zakáže ovládací prvek popisku.
CWnd::CenterWindow Zacentruje okno vzhledem k nadřazené sadě.
CWnd::ChangeClipboardChain Odebere CWnd se z řetězu prohlížečů schránky.
CWnd::CheckDlgButton Umístí značku zaškrtnutí vedle ovládacího prvku tlačítka nebo ji odebere.
CWnd::CheckRadioButton Zkontroluje zadaný přepínač a odebere značku zaškrtnutí ze všech ostatních přepínačů v zadané skupině tlačítek.
CWnd::ChildWindowFromPoint Určuje, která podřízená okna ( pokud existuje) obsahuje zadaný bod.
CWnd::ClientToScreen Převede souřadnice klienta daného bodu nebo obdélníku na displeji na souřadnice obrazovky.
CWnd::CloseWindow Minimalizuje okno.
CWnd::ContinueModal Pokračuje v modálním stavu okna.
CWnd::Create Vytvoří a inicializuje podřízené okno přidružené k objektu CWnd .
CWnd::CreateAccessibleProxy Vytvoří proxy server aktivní přístupnosti pro zadaný objekt.
CWnd::CreateCaret Vytvoří nový obrazec pro stříšku systému a získá vlastnictví stříšky.
CWnd::CreateControl Vytvořte ovládací prvek technologie ActiveX, který bude reprezentován v programu MFC objektemCWnd.
CWnd::CreateEx Vytvoří překrývající se, automaticky otevírané okno nebo podřízené okno Windows a připojí ho k objektu CWnd .
CWnd::CreateGrayCaret Vytvoří šedý blok pro stříšku systému a získá vlastnictví stříšky.
CWnd::CreateSolidCaret Vytvoří pevný blok pro stříšku systému a získá vlastnictví stříšky.
CWnd::DeleteTempMap Volá se automaticky obslužnou rutinou CWinApp nečinnosti a odstraní všechny dočasné CWnd objekty vytvořené FromHandle.
CWnd::DestroyWindow Zničí připojené okno Windows.
CWnd::Detach Odpojte úchyt systému Windows od objektu CWnd a vrátí popisovač.
CWnd::DlgDirList Vyplní seznamem se seznamem souborů nebo adresářů.
CWnd::DlgDirListComboBox Vyplní seznam pole se seznamem souborem nebo seznamem adresářů.
CWnd::DlgDirSelect Načte aktuální výběr ze seznamu.
CWnd::DlgDirSelectComboBox Načte aktuální výběr ze seznamu pole se seznamem.
CWnd::DragAcceptFiles Označuje, že okno bude přijímat přetažené soubory.
CWnd::DragDetect Zachytí myš a sleduje jeho pohyb, dokud uživatel nespustí levé tlačítko, stiskne klávesu ESC nebo přesune myš mimo obdélník přetažení kolem zadaného bodu.
CWnd::DrawAnimatedRects Nakreslí obdélník drátěného rámečku a animuje ho, aby označí otevření ikony nebo minimalizaci nebo maximalizaci okna.
CWnd::DrawCaption Nakreslí popis.
CWnd::DrawMenuBar Překreslí řádek nabídek.
CWnd::EnableActiveAccessibility Povolí uživatelem definované Active Accessibility funkce.
CWnd::EnableDynamicLayout Umožňuje dynamicky upravit umístění a velikost podřízených oken, když uživatel změní velikost okna.
CWnd::EnableD2DSupport Povolí nebo zakáže podporu oken D2D . Tuto metodu zavolejte před inicializaci hlavního okna.
CWnd::EnableScrollBar Povolí nebo zakáže jednu nebo obě šipky posuvníku.
CWnd::EnableScrollBarCtrl Povolí nebo zakáže ovládací prvek posuvníku na stejné platformě.
CWnd::EnableToolTips Povolí ovládací prvek popisku.
CWnd::EnableTrackingToolTips Povolí ovládací prvek popisku v režimu sledování.
CWnd::EnableWindow Povolí nebo zakáže vstup myši a klávesnice.
CWnd::EndModalLoop Ukončí modální stav okna.
CWnd::EndModalState Voláním této členské funkce změníte okno rámce z modální na bezmodální.
CWnd::EndPaint Označí konec malování.
CWnd::ExecuteDlgInit Inicializuje prostředek dialogového okna.
CWnd::FilterToolTipMessage Načte název nebo text přidružený k ovládacímu prvku v dialogovém okně.
CWnd::FindWindow Vrátí popisovač okna, který je identifikován názvem okna a třídou okna.
CWnd::FindWindowEx Vrátí popisovač okna, který je identifikován názvem okna a třídou okna.
CWnd::FlashWindow Jednou problikne okno.
CWnd::FlashWindowEx Bliká okno s dalšími funkcemi.
CWnd::FromHandle Vrátí ukazatel na CWnd objekt při zadání úchytu do okna. CWnd Pokud objekt není připojený k popisovači, vytvoří se dočasný CWnd objekt a připojí se.
CWnd::FromHandlePermanent Vrátí ukazatel na CWnd objekt při zadání úchytu do okna.
CWnd::get_accChild Volal rozhraní pro načtení adresy IDispatch rozhraní pro zadané podřízené.
CWnd::get_accChildCount Volá se rozhraním k načtení počtu podřízených objektů patřících tomuto objektu.
CWnd::get_accDefaultAction Volá se rozhraním pro načtení řetězce, který popisuje výchozí akci objektu.
CWnd::get_accDescription Volá se podle architektury k načtení řetězce, který popisuje vizuální vzhled zadaného objektu.
CWnd::get_accFocus Volá se rozhraním pro načtení objektu, který má fokus klávesnice.
CWnd::get_accHelp Volá se rozhraním pro načtení řetězce vlastnosti nápovědy objektu.
CWnd::get_accHelpTopic Volá se rozhraním pro načtení úplné cesty WinHelp k souboru přidruženému k zadanému objektu a identifikátoru příslušného tématu v daném souboru.
CWnd::get_accKeyboardShortcut Volá se rozhraním pro načtení klávesové zkratky nebo přístupové klávesy zadaného objektu.
CWnd::get_accName Volá se rozhraním pro načtení názvu zadaného objektu.
CWnd::get_accParent Volá se rozhraní IDispatch nadřazeného objektu.
CWnd::get_accRole Volá se rozhraním pro načtení informací, které popisují roli zadaného objektu.
CWnd::get_accSelection Volá se rozhraním pro načtení vybraných podřízených objektů tohoto objektu.
CWnd::get_accState Volá se rozhraním pro načtení aktuálního stavu zadaného objektu.
CWnd::get_accValue Volá se rozhraním pro načtení hodnoty zadaného objektu.
CWnd::GetActiveWindow Načte aktivní okno.
CWnd::GetAncestor Načte objekt nadřazeného okna zadaného okna.
CWnd::GetCapture Načte záznam CWnd myši.
CWnd::GetCaretPos Načte souřadnice klienta aktuální pozice kurzoru.
CWnd::GetCheckedRadioButton Vrátí ID aktuálně kontrolovaného přepínače ve skupině tlačítek.
CWnd::GetClientRect Získá rozměry CWnd klientské oblasti.
CWnd::GetClipboardOwner Načte ukazatel na aktuálního vlastníka schránky.
CWnd::GetClipboardViewer Načte ukazatel na první okno v řetězu prohlížečů schránky.
CWnd::GetControlUnknown Načte ukazatel na neznámý ovládací prvek technologie ActiveX.
CWnd::GetDC Načte kontext zobrazení pro klientskou oblast.
CWnd::GetDCEx Načte kontext zobrazení pro oblast klienta a povolí výřez při kreslení.
CWnd::GetDCRenderTarget Načte cíl vykreslení kontextu zařízení (DC) pro CWnd okno.
CWnd::GetDescendantWindow Vyhledá všechna okna potomků a vrátí okno se zadaným ID.
CWnd::GetDesktopWindow Načte okno plochy systému Windows.
CWnd::GetDlgCtrlID CWnd Pokud je podřízené okno, vrátí volání této funkce hodnotu ID.
CWnd::GetDlgItem Načte ovládací prvek se zadaným ID ze zadaného dialogového okna.
CWnd::GetDlgItemInt Přeloží text ovládacího prvku v daném dialogovém okně na celočíselnou hodnotu.
CWnd::GetDlgItemText Načte popis nebo text přidružený k ovládacímu prvku.
CWnd::GetDSCCursor Načte ukazatel na podkladový kurzor, který je definován vlastnostmi DataSource, UserName, Password a SQL ovládacího prvku zdroje dat.
CWnd::GetDynamicLayout Načte ukazatel na objekt správce dynamického rozložení.
CWnd::GetExStyle Vrátí rozšířený styl okna.
CWnd::GetFocus Načte aktuálně zadaný fokus CWnd .
CWnd::GetFont Načte aktuální písmo.
CWnd::GetForegroundWindow Vrátí ukazatel na okno popředí (okno nejvyšší úrovně, se kterým právě pracuje uživatel).
CWnd::GetIcon Načte úchyt na ikonu.
CWnd::GetLastActivePopup Určuje, které automaticky otevírané okno vlastněné CWnd naposledy aktivní.
CWnd::GetLayeredWindowAttributes Načte barevný klíč neprůhlednosti a průhlednosti vrstveného okna.
CWnd::GetMenu Načte ukazatel na zadanou nabídku.
CWnd::GetNextDlgGroupItem Vyhledá další (nebo předchozí) ovládací prvek ve skupině ovládacích prvků.
CWnd::GetNextDlgTabItem Načte první ovládací prvek se stylem WS_TABSTOP , který následuje (nebo předchází) zadanému ovládacímu prvku.
CWnd::GetNextWindow Vrátí další (nebo předchozí) okno v seznamu správce oken.
CWnd::GetOleControlSite Načte vlastní web pro zadaný ovládací prvek technologie ActiveX.
CWnd::GetOpenClipboardWindow Načte ukazatel na okno, které má aktuálně otevřenou schránku.
CWnd::GetOwner Načte ukazatel na vlastníka .CWnd
CWnd::GetParent Načte nadřazené okno CWnd (pokud existuje).
CWnd::GetParentFrame CWnd Načte nadřazené okno rámce objektu.
CWnd::GetParentOwner Vrátí ukazatel na nadřazené okno podřízeného okna.
CWnd::GetProperty Načte vlastnost ovládacího prvku technologie ActiveX.
CWnd::GetRenderTarget Získá cíl vykreslení, který je přidružen k tomuto okně.
CWnd::GetSafeHwnd Vrátí m_hWndhodnotu NULL nebo NULL, pokud this je ukazatel NULL.
CWnd::GetSafeOwner Načte bezpečného vlastníka daného okna.
CWnd::GetScrollBarCtrl Vrátí ovládací prvek posuvníku na stejné stejné sadě.
CWnd::GetScrollBarInfo Načte informace o zadaném posuvníku.
CWnd::GetScrollInfo Načte informace, které SCROLLINFO struktura udržuje o posuvníku.
CWnd::GetScrollLimit Načte limit posuvníku.
CWnd::GetScrollPos Načte aktuální pozici posuvníku.
CWnd::GetScrollRange Zkopíruje aktuální minimální a maximální umístění posuvníku pro daný posuvník.
CWnd::GetStyle Vrátí aktuální styl okna.
CWnd::GetSystemMenu Umožňuje aplikaci přístup k nabídce Řízení pro kopírování a úpravy.
CWnd::GetTitleBarInfo Načte informace o zadaném záhlaví.
CWnd::GetTopLevelFrame Načte okno rámce nejvyšší úrovně okna.
CWnd::GetTopLevelOwner Načte okno nejvyšší úrovně.
CWnd::GetTopLevelParent Načte nadřazený objekt nejvyšší úrovně okna.
CWnd::GetTopWindow Vrátí první podřízené okno, které patří do objektu CWnd.
CWnd::GetUpdateRect Načte souřadnice nejmenšího obdélníku, který zcela uzavře CWnd oblast aktualizace.
CWnd::GetUpdateRgn CWnd Načte oblast aktualizace.
CWnd::GetWindow Vrátí okno se zadanou relací k tomuto okně.
CWnd::GetWindowContextHelpId Načte identifikátor kontextu nápovědy.
CWnd::GetWindowDC Načte kontext zobrazení pro celé okno, včetně panelu popis, nabídek a posuvníků.
CWnd::GetWindowedChildCount Vrátí počet přidružených podřízených oken.
CWnd::GetWindowInfo Vrátí informace o okně.
CWnd::GetWindowlessChildCount Vrátí počet přidružených podřízených oken bez oken bez oken.
CWnd::GetWindowPlacement Načte stav zobrazení a normální (obnovené), minimalizované a maximalizované pozice okna.
CWnd::GetWindowRect Získá souřadnice CWndobrazovky .
CWnd::GetWindowRgn Načte kopii oblasti okna.
CWnd::GetWindowText Vrátí text okna nebo popis název (pokud ho obsahuje).
CWnd::GetWindowTextLength Vrátí délku textu okna nebo popis názvu.
CWnd::HideCaret Skryje stříšku odebráním z obrazovky zobrazení.
CWnd::HiliteMenuItem Zvýrazní nebo odebere zvýraznění z položky nabídky nejvyšší úrovně (řádek nabídek).
CWnd::HtmlHelp Volá se k inicializaci aplikace HTMLHelp.
CWnd::Invalidate Zneplatní celou oblast klienta.
CWnd::InvalidateRect Zruší platnost oblasti klienta v daném obdélníku přidáním tohoto obdélníku do aktuální oblasti aktualizace.
CWnd::InvalidateRgn Zruší platnost oblasti klienta v dané oblasti přidáním této oblasti do aktuální oblasti aktualizace.
CWnd::InvokeHelper Vyvolá metodu nebo vlastnost ovládacího prvku technologie ActiveX.
CWnd::IsChild Určuje, zda CWnd je podřízené okno nebo jiný přímý potomek zadaného okna.
CWnd::IsD2DSupportEnabled Určuje, zda je povolena podpora D2D.
CWnd::IsDialogMessage Určuje, zda je daná zpráva určena pro bezmodální dialogové okno, a pokud ano, zpracuje ji.
CWnd::IsDlgButtonChecked Určuje, zda je ovládací prvek tlačítka zaškrtnut.
CWnd::IsDynamicLayoutEnabled Určuje, zda je v tomto okně povolené dynamické rozložení. Pokud je povolené dynamické rozložení, může se umístění a velikost podřízených oken změnit, když uživatel změní velikost nadřazeného okna.
CWnd::IsIconic Určuje, zda CWnd je minimalizovaný (ikonický).
CWnd::IsTouchWindow Určuje, jestli CWnd má podporu dotykového ovládání.
CWnd::IsWindowEnabled Určuje, zda je okno povolené pro vstup myši a klávesnice.
CWnd::IsWindowVisible Určuje, zda je okno viditelné.
CWnd::IsZoomed Určuje, zda CWnd je maximalizován.
CWnd::KillTimer Zabije systémový časovač.
CWnd::LockWindowUpdate Zakáže nebo znovu povolí kreslení v daném okně.
CWnd::MapWindowPoints Převede (mapy) sadu bodů ze souřadnicového prostoru CWnd souřadnice na souřadnicový prostor jiného okna.
CWnd::MessageBox Vytvoří a zobrazí okno, které obsahuje zprávu zadanou aplikací a popis.
CWnd::ModifyStyle Upraví aktuální styl okna.
CWnd::ModifyStyleEx Upraví rozšířený styl okna.
CWnd::MoveWindow Změní pozici a rozměry CWnd.
CWnd::NotifyWinEvent Signalizuje systém, že došlo k předdefinované události.
CWnd::OnAmbientProperty Implementujte hodnoty okolních vlastností.
CWnd::OnDrawIconicThumbnailOrLivePreview Volané architekturou, když potřebuje získat rastr, který se má zobrazit na kartě Windows 7 miniatury, nebo v klientovi pro náhled aplikace.
CWnd::OnHelp Zpracovává nápovědu F1 v aplikaci (pomocí aktuálního kontextu).
CWnd::OnHelpFinder Zpracovává příkazy ID_HELP_FINDER a ID_DEFAULT_HELP příkazy.
CWnd::OnHelpIndex Zpracovává příkaz a poskytuje výchozí téma nápovědy ID_HELP_INDEX .
CWnd::OnHelpUsing ID_HELP_USING Zpracuje příkaz.
CWnd::OnToolHitTest Určuje, zda je bod v ohraničující obdélník zadaného nástroje a načte informace o nástroji.
CWnd::OpenClipboard Otevře schránku. Jiné aplikace nebudou moci upravovat schránku, dokud nebude volána funkce Systému Windows CloseClipboard .
CWnd::PaintWindowlessControls Nakreslí ovládací prvky bez oken v kontejneru ovládacího prvku.
CWnd::PostMessage Umístí zprávu do fronty aplikace a pak se vrátí bez čekání na zpracování zprávy v okně.
CWnd::PreCreateWindow Volá se před vytvořením okna Windows připojeného k tomuto CWnd objektu.
CWnd::PreSubclassWindow Umožňuje, aby před zavoláním došlo k SubclassWindow dalším nezbytným podtřídám.
CWnd::PreTranslateMessage CWinApp Slouží k filtrování zpráv oken před jejich odesláním TranslateMessage do funkcí systému Windows a DispatchMessage Windows.
CWnd::Print Nakreslí aktuální okno v zadaném kontextu zařízení.
CWnd::PrintClient Nakreslí libovolné okno v zadaném kontextu zařízení (obvykle kontext zařízení tiskárny).
CWnd::PrintWindow Zkopíruje okno vizuálu do zadaného kontextu zařízení, obvykle řadiče domény tiskárny.
CWnd::RedrawWindow Aktualizace zadaný obdélník nebo oblast v klientské oblasti.
CWnd::RegisterTouchWindow Podpora dotykového ovládání v okně Registrace nebo zrušení registrace systému Windows
CWnd::ReleaseDC Uvolní kontexty zařízení klienta a okna a uvolní je pro použití jinými aplikacemi.
CWnd::RepositionBars Přemísťuje řídicí panely v klientské oblasti.
CWnd::RunModalLoop Načte, překládá nebo odesílá zprávy pro okno, které je v modálním stavu.
CWnd::ScreenToClient Převede souřadnice obrazovky daného bodu nebo obdélníku na displeji na souřadnice klienta.
CWnd::ScrollWindow Posune obsah klientské oblasti.
CWnd::ScrollWindowEx Posune obsah klientské oblasti. ScrollWindowPodobně jako v případě , s dalšími funkcemi.
CWnd::SendChildNotifyLastMsg Poskytuje zprávu s oznámením podřízeného okna z nadřazeného okna, aby podřízené okno zvládlo úlohu.
CWnd::SendDlgItemMessage Odešle zprávu zadanému ovládacímu prvku.
CWnd::SendMessage Odešle zprávu do objektu CWnd a nevrátí se, dokud zprávu nezpracuje.
CWnd::SendMessageToDescendants Odešle zprávu do všech následnických oken okna.
CWnd::SendNotifyMessage Odešle zadanou zprávu do okna a vrátí co nejdříve v závislosti na tom, jestli volající vlákno vytvořilo okno.
CWnd::SetActiveWindow Aktivuje okno.
CWnd::SetCapture Způsobí, že všechny následné vstupy myši budou odeslány CWnddo .
CWnd::SetCaretPos Přesune kurzor na zadanou pozici.
CWnd::SetClipboardViewer Přidá CWnd do řetězu oken, která jsou upozorněna při každé změně obsahu schránky.
CWnd::SetDlgCtrlID Nastaví id okna nebo ovládacího prvku pro okno (může to být jakékoli podřízené okno, nejen ovládací prvek v dialogovém okně).
CWnd::SetDlgItemInt Nastaví text ovládacího prvku na řetězec, který představuje celočíselnou hodnotu.
CWnd::SetDlgItemText Nastaví popis nebo text ovládacího prvku v zadaném dialogovém okně.
CWnd::SetFocus Deklaruje vstupní fokus.
CWnd::SetFont Nastaví aktuální písmo.
CWnd::SetForegroundWindow Vloží vlákno, které vytvořilo okno do popředí a aktivuje okno.
CWnd::SetIcon Nastaví úchyt na konkrétní ikonu.
CWnd::SetLayeredWindowAttributes Nastaví barevný klíč neprůhlednosti a průhlednosti vrstveného okna.
CWnd::SetMenu Nastaví nabídku na zadanou nabídku.
CWnd::SetOwner Změní vlastníka souboru CWnd.
CWnd::SetParent Změní nadřazené okno.
CWnd::SetProperty Nastaví vlastnost ovládacího prvku technologie ActiveX.
CWnd::SetRedraw Umožňuje překreslit změny CWnd nebo zabránit překreslení změn.
CWnd::SetScrollInfo Nastaví informace o posuvníku.
CWnd::SetScrollPos Nastaví aktuální pozici posuvníku a v případě zadání překreslí posuvník tak, aby odrážel novou pozici.
CWnd::SetScrollRange Nastaví minimální a maximální hodnoty pozice pro daný posuvník.
CWnd::SetTimer Nainstaluje systémový časovač, který odešle WM_TIMER zprávu při aktivaci.
CWnd::SetWindowContextHelpId Nastaví identifikátor kontextu nápovědy.
CWnd::SetWindowPlacement Nastaví stav zobrazení a normální (obnovené), minimalizované a maximalizované pozice pro okno.
CWnd::SetWindowPos Změní velikost, umístění a řazení podřízených oken, automaticky otevíraných oken a oken nejvyšší úrovně.
CWnd::SetWindowRgn Nastaví oblast okna.
CWnd::SetWindowText Nastaví text okna nebo popis název (pokud ho obsahuje) na zadaný text.
CWnd::ShowCaret Zobrazuje kurzor na displeji v aktuální pozici kurzoru. Po zobrazení začne stříška blikat automaticky.
CWnd::ShowOwnedPopups Zobrazí nebo skryje všechna automaticky otevíraná okna vlastněná oknem.
CWnd::ShowScrollBar Zobrazí nebo skryje posuvník.
CWnd::ShowWindow Zobrazí nebo skryje okno.
CWnd::SubclassDlgItem Připojí ovládací prvek Windows k objektu CWnd a směruje zprávy přes CWndmapu zpráv.
CWnd::SubclassWindow Připojí okno k objektu CWnd a směruje zprávy přes CWndmapu zpráv.
CWnd::UnlockWindowUpdate Odemkne okno, které bylo uzamčeno CWnd::LockWindowUpdate.
CWnd::UnsubclassWindow Odpojení okna od objektu CWnd
CWnd::UpdateData Inicializuje nebo načte data z dialogového okna.
CWnd::UpdateDialogControls Volání pro aktualizaci stavu tlačítek dialogového okna a dalších ovládacích prvků
CWnd::UpdateLayeredWindow Aktualizace umístění, velikosti, tvaru, obsahu a průsvitnosti vrstveného okna.
CWnd::UpdateWindow Aktualizace klientské oblasti.
CWnd::ValidateRect Ověří klientskou oblast v daném obdélníku odebráním obdélníku z aktuální oblasti aktualizace.
CWnd::ValidateRgn Ověří oblast klienta v dané oblasti odebráním oblasti z aktuální oblasti aktualizace.
CWnd::WindowFromPoint Identifikuje okno, které obsahuje daný bod.
CWnd::WinHelp Volá se k inicializaci aplikace WinHelp.

Chráněné metody

Jméno popis
CWnd::Default Volá výchozí proceduru okna, která poskytuje výchozí zpracování pro všechny zprávy okna, které aplikace nezpracová.
CWnd::DefWindowProc Volá výchozí proceduru okna, která poskytuje výchozí zpracování pro všechny zprávy okna, které aplikace nezpracová.
CWnd::DoDataExchange Pro výměnu a ověření dat dialogového okna. Volal .UpdateData
CWnd::GetCurrentMessage Vrátí ukazatel na zprávu, která právě zpracovává toto okno. Měla by být volána pouze v případě, OnMessage že je v členské funkci obslužné rutiny zprávy.
CWnd::InitDynamicLayout Volá se rozhraním pro inicializaci dynamického rozložení okna.
CWnd::LoadDynamicLayoutResource Načte informace o dynamickém rozložení ze souboru prostředků.
CWnd::OnActivate Volá se při CWnd aktivaci nebo deaktivaci.
CWnd::OnActivateApp Volá se, když se aplikace chystá aktivovat nebo deaktivovat.
CWnd::OnAppCommand Volá se, když uživatel vygeneruje událost příkazu aplikace.
CWnd::OnAskCbFormatName Volá aplikace prohlížeče schránky, když vlastník schránky zobrazí obsah schránky.
CWnd::OnCancelMode Volá se, aby bylo možné CWnd zrušit všechny interní režimy, jako je zachycení myši.
CWnd::OnCaptureChanged Odešle zprávu do okna, které ztrácí zachytávání myši.
CWnd::OnChangeCbChain Upozorní, že se zadané okno odebere z řetězu.
CWnd::OnChangeUIState Volá se při změně stavu uživatelského rozhraní (UI).
CWnd::OnChar Volá se, když se stisknutí klávesy přeloží na nesystémový znak.
CWnd::OnCharToItem Volal podřízený seznam se stylem LBS_WANTKEYBOARDINPUT v reakci na WM_CHAR zprávu.
CWnd::OnChildActivate Volá se pro více podřízených CWnd oken rozhraní dokumentů (MDI), kdykoli se změní velikost nebo umístění změn nebo CWnd je aktivováno.
CWnd::OnChildNotify Zavolá se nadřazeným oknem, aby ovládací prvek upozorňování mohl reagovat na oznámení o ovládacím prvku.
CWnd::OnClipboardUpdate Volá se při změně obsahu schránky.
CWnd::OnClose Volá se jako signál, který CWnd by měl být uzavřen.
CWnd::OnColorizationColorChanged Volá se, když se změnily zásady vykreslování pro oblast, která není klientem.
CWnd::OnCommand Volá se, když uživatel vybere příkaz.
CWnd::OnCompacting Volá se, když systém Windows zjistí, že systémová paměť je nízká.
CWnd::OnCompareItem Volána k určení relativní pozice nové položky v podřízené seřazené pole se seznamem vlastník-kreslení se seznamem nebo seznamem.
CWnd::OnCompositionChanged Volá se pro všechna okna nejvyšší úrovně, když je povolená nebo zakázaná skladba Desktop Window Manager (DWM).
CWnd::OnContextMenu Volá se, když uživatel klikne na pravé tlačítko myši v okně.
CWnd::OnCopyData Zkopíruje data z jedné aplikace do druhé.
CWnd::OnCreate Volá se jako součást vytváření okna.
CWnd::OnCtlColor Volá se, pokud CWnd je nadřazený ovládací prvek, když se má ovládací prvek vykreslit.
CWnd::OnDeadChar Volá se, když se stisknutí klávesy přeloží na nesystémový mrtvý znak (například zvýrazňující znaky).
CWnd::OnDeleteItem Volá se při zničení podřízeného seznamu nebo pole se seznamem vlastníka nebo při odebrání položek z ovládacího prvku.
CWnd::OnDestroy Volá se, když CWnd je zničen.
CWnd::OnDestroyClipboard Volá se, když je schránka vyprázdněna voláním funkce Windows EmptyClipboard .
CWnd::OnDeviceChange Upozorní aplikaci nebo ovladač zařízení na změnu konfigurace hardwaru zařízení nebo počítače.
CWnd::OnDevModeChange Volá se pro všechna okna nejvyšší úrovně, když uživatel změní nastavení režimu zařízení.
CWnd::OnDrawClipboard Volá se při změně obsahu schránky.
CWnd::OnDrawItem Volá se, když je potřeba nakreslit vizuální aspekt ovládacího prvku podřízeného tlačítka vlastníka, ovládací prvek se seznamem, ovládací prvek seznam nebo nabídku.
CWnd::OnDropFiles Volá se, když uživatel uvolní levé tlačítko myši přes okno, které se zaregistrovalo jako příjemce vynechaných souborů.
CWnd::OnEnable Volá se, když CWnd je povolená nebo zakázaná.
CWnd::OnEndSession Volá se při ukončení relace.
CWnd::OnEnterIdle Volá se k informování hlavního okna aplikace, že modální dialogové okno nebo nabídka zadává stav nečinnosti.
CWnd::OnEnterMenuLoop Volá se, když byla zadána modální smyčka nabídky.
CWnd::OnEnterSizeMove Volá se po ovlivněném okně přejde do modální smyčky pro přesunutí nebo změnu velikosti.
CWnd::OnEraseBkgnd Volá se, když pozadí okna potřebuje vymazat.
CWnd::OnExitMenuLoop Volá se při ukončení modální smyčky nabídky.
CWnd::OnExitSizeMove Volána po ovlivněném okně ukončí pohybovou nebo změnu velikosti modální smyčky.
CWnd::OnFontChange Volá se při změně fondu prostředků písem.
CWnd::OnGetDlgCode Volal se pro ovládací prvek, aby ovládací prvek mohl zpracovat samotný vstup se šipkami a klávesou TAB.
CWnd::OnGetMinMaxInfo Volá se vždy, když systém Windows potřebuje znát maximalizovanou pozici nebo rozměry nebo minimální nebo maximální velikost sledování.
CWnd::OnHelpInfo Volá se rozhraním, když uživatel stiskne klávesu F1.
CWnd::OnHotKey Volá se, když uživatel stiskne systémovou klávesu.
CWnd::OnHScroll Volá se, když uživatel klikne na vodorovný posuvník .CWnd
CWnd::OnHScrollClipboard Volá se, když by se měl vlastník schránky posunout obrázek schránky, zneplatnit příslušný oddíl a aktualizovat hodnoty posuvníku.
CWnd::OnIconEraseBkgnd Volá se, když CWnd je minimalizovaný (ikonický) a pozadí ikony musí být vyplněno před nakreslením ikony.
CWnd::OnInitMenu Volá se, když se nabídka stane aktivní.
CWnd::OnInitMenuPopup Volá se, když se chystáte aktivovat místní nabídku.
CWnd::OnInputDeviceChange Volá se při přidání nebo odebrání vstupně-výstupního zařízení ze systému.
CWnd::OnInputLangChange Volá se po změně jazyka zadávání aplikace.
CWnd::OnInputLangChangeRequest Volá se, když uživatel zvolí nový jazyk zadávání.
CWnd::OnKeyDown Volá se při stisknutí nesystémové klávesy.
CWnd::OnKeyUp Volá se při uvolnění nesystémového klíče.
CWnd::OnKillFocus Volá se bezprostředně před CWnd ztrátou vstupního fokusu.
CWnd::OnLButtonDblClk Volá se, když uživatel dvakrát klikne na levé tlačítko myši.
CWnd::OnLButtonDown Volá se, když uživatel stiskne levé tlačítko myši.
CWnd::OnLButtonUp Volá se, když uživatel uvolní levé tlačítko myši.
CWnd::OnMButtonDblClk Volá se, když uživatel dvakrát klikne na prostřední tlačítko myši.
CWnd::OnMButtonDown Volá se, když uživatel stiskne prostřední tlačítko myši.
CWnd::OnMButtonUp Volá se, když uživatel uvolní prostřední tlačítko myši.
CWnd::OnMDIActivate Volá se při aktivaci nebo deaktivaci podřízeného okna MDI.
CWnd::OnMeasureItem Při vytváření ovládacího prvku bylo volána podřízená pole se seznamem vlastníka, seznam nebo položka nabídky. CWnd informuje systém Windows o rozměrech ovládacího prvku.
CWnd::OnMenuChar Volá se, když uživatel stiskne znak nabídky, který neodpovídá žádné z předdefinovaných mnemonics v aktuální nabídce.
CWnd::OnMenuDrag Volá se, když uživatel začne přetahovat položku nabídky.
CWnd::OnMenuGetObject Volá se, když kurzor myši zadá položku nabídky nebo se přesune ze středu položky do horní nebo dolní části položky.
CWnd::OnMenuRButtonUp Volá se, když uživatel uvolní pravé tlačítko myši, zatímco kurzor je na položce nabídky.
CWnd::OnMenuSelect Volá se, když uživatel vybere položku nabídky.
CWnd::OnMouseActivate Volá se, když je kurzor v neaktivním okně a uživatel stiskne tlačítko myši.
CWnd::OnMouseHover Volá se, když kurzor najede na klientskou oblast okna po dobu uvedenou v předchozím volání TrackMouseEvent.
CWnd::OnMouseHWheel Volá se, když je vodorovné kolečko myši nakloněné nebo otočené.
CWnd::OnMouseLeave Volá se, když kurzor opustí klientskou oblast okna určenou před voláním TrackMouseEvent.
CWnd::OnMouseMove Volá se, když se kurzor myši přesune.
CWnd::OnMouseWheel Volá se, když uživatel otočí kolečko myši. Používá systém Windows NT zpracování zpráv 4.0.
CWnd::OnMove Volá se po změně pozice objektu CWnd .
CWnd::OnMoving Označuje, že uživatel přesouvá CWnd objekt.
CWnd::OnNcActivate Volá se, když je potřeba změnit oblast, která není klientem, aby označí aktivní nebo neaktivní stav.
CWnd::OnNcCalcSize Volá se, když je potřeba vypočítat velikost a umístění klientské oblasti.
CWnd::OnNcCreate Volá se před OnCreate vytvořením oblasti, která není klientem.
CWnd::OnNcDestroy Volá se při zničení oblasti, která není klientem.
CWnd::OnNcHitTest Volá se systémem Windows při každém přesunutí myši, pokud CWnd obsahuje kurzor nebo zachytil vstup myši s SetCapture.
CWnd::OnNcLButtonDblClk Volá se, když uživatel dvakrát klikne na levé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcLButtonDown Volá se, když uživatel stiskne levé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcLButtonUp Volá se, když uživatel uvolní levé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcMButtonDblClk Volá se, když uživatel dvakrát klikne na prostřední tlačítko myši, zatímco kurzor je v oblasti, která není klientem CWnd.
CWnd::OnNcMButtonDown Volá se, když uživatel stiskne prostřední tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcMButtonUp Volá se, když uživatel uvolní prostřední tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcMouseHover Volá se, když kurzor najede do jiné než klientské oblasti okna po dobu uvedenou v předchozím volání TrackMouseEvent.
CWnd::OnNcMouseLeave Architektura volá tuto členskou funkci, když kurzor opustí neklimovanou oblast okna určenou před voláním TrackMouseEvent.
CWnd::OnNcMouseMove Volá se při přesunutí kurzoru do jiné než klientské oblasti CWnd.
CWnd::OnNcPaint Volá se, když oblast, která není klientem, potřebuje malování.
CWnd::OnNcRButtonDblClk Volá se, když uživatel dvakrát klikne na pravé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcRButtonDown Volá se, když uživatel stiskne pravé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcRButtonUp Volá se, když uživatel uvolní pravé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.
CWnd::OnNcRenderingChanged Volá se, když se změnily zásady vykreslování pro oblast, která není klientem.
CWnd::OnNcXButtonDblClk Volá se, když uživatel poklikne XBUTTON1 nebo XBUTTON2 když je kurzor v jiné než klientské oblasti okna.
CWnd::OnNcXButtonDown Volá se, když uživatel stiskne XBUTTON1 nebo XBUTTON2 z myši, zatímco kurzor je v nekližní oblasti okna.
CWnd::OnNcXButtonUp Volá se, když uživatel uvolní XBUTTON1 nebo XBUTTON2 myš, zatímco kurzor je v nekližní oblasti okna.
CWnd::OnNextMenu Volá se, když se k přepínání mezi řádkem nabídek a systémovou nabídkou používá klávesa se šipkou doprava nebo doleva.
CWnd::OnNotify Volá se rozhraním, které informuje nadřazené okno, že došlo k události v některém z jeho ovládacích prvků nebo že ovládací prvek potřebuje informace.
CWnd::OnNotifyFormat Volá se k určení, zda aktuální okno přijímá struktury ANSI nebo Unicode v WM_NOTIFY oznamovací zprávě.
CWnd::OnPaint Volá se k překreslení části okna.
CWnd::OnPaintClipboard Volá se, když klientská oblast prohlížeče schránky potřebuje překreslit.
CWnd::OnPaletteChanged Volá se, aby okna, která používají barevnou paletu, zjistila logické palety a aktualizovala jejich klientské oblasti.
CWnd::OnPaletteIsChanging Informuje ostatní aplikace, když si aplikace uvědomí svou logickou paletu.
CWnd::OnParentNotify Volá se při vytvoření nebo zničení podřízeného okna nebo když uživatel klikne na tlačítko myši, zatímco kurzor je nad podřízeným oknem.
CWnd::OnPowerBroadcast Volá se, když dojde k události řízení spotřeby.
CWnd::OnQueryDragIcon Volá se, když uživatel přetáhne minimalizovaný (ikonický). CWnd
CWnd::OnQueryEndSession Volá se, když se uživatel rozhodne ukončit relaci Systému Windows.
CWnd::OnQueryNewPalette Informuje, že se chystá přijmout vstupní fokus CWnd .
CWnd::OnQueryOpen Volá se, když CWnd je ikona a uživatel požádá o otevření ikony.
CWnd::OnQueryUIState Volá se k načtení stavu uživatelského rozhraní (UI) pro okno.
CWnd::OnRawInput Volá se, když aktuální okno získá nezpracovaný vstup.
CWnd::OnRButtonDblClk Volá se, když uživatel dvakrát klikne na pravé tlačítko myši.
CWnd::OnRButtonDown Volá se, když uživatel stiskne pravé tlačítko myši.
CWnd::OnRButtonUp Volá se, když uživatel uvolní pravé tlačítko myši.
CWnd::OnRenderAllFormats Volá se, když je aplikace vlastníka zničena a potřebuje vykreslit všechny její formáty.
CWnd::OnRenderFormat Volá se pro vlastníka schránky, když je potřeba vykreslit konkrétní formát s zpožděným vykreslováním.
CWnd::OnSessionChange Volá se k upozorňovat aplikaci na změnu stavu relace.
CWnd::OnSetCursor Volá se, pokud se nezachytí vstup myši a myš způsobí pohyb kurzoru v okně.
CWnd::OnSetFocus Volá se po CWnd zvýšení vstupního fokusu.
CWnd::OnSettingChange Volá se, když funkce Win32 SystemParametersInfo změní systémové nastavení.
CWnd::OnShowWindow Volá se, kdy CWnd má být skrytý nebo zobrazený.
CWnd::OnSize Volá se po změně velikosti CWnd .
CWnd::OnSizeClipboard Volá se, když se změnila velikost klientské oblasti okna prohlížeče schránky.
CWnd::OnSizing Označuje, že uživatel přetěžuje obdélník.
CWnd::OnSpoolerStatus Volá se ze Správce tisku při každém přidání nebo odebrání úlohy z fronty Správce tisku.
CWnd::OnStyleChanged Označuje, že SetWindowLong funkce Windows změnila jeden nebo více stylů okna.
CWnd::OnStyleChanging Označuje, že SetWindowLong funkce Windows se chystá změnit jeden nebo více stylů okna.
CWnd::OnSysChar Volá se, když se stisknutí klávesy přeloží na systémový znak.
CWnd::OnSysColorChange Volá se pro všechna okna nejvyšší úrovně při změně v nastavení barvy systému.
CWnd::OnSysCommand Volá se, když uživatel vybere příkaz z nabídky Ovládací prvek nebo když uživatel vybere tlačítko Maximalizovat nebo Minimalizovat.
CWnd::OnSysDeadChar Volá se, když se stisknutí klávesy přeloží na systémový mrtvý znak (například znaky zvýraznění).
CWnd::OnSysKeyDown Volá se, když uživatel stiskne klávesu ALT a pak stiskne jinou klávesu.
CWnd::OnSysKeyUp Volá se, když uživatel uvolní stisknutou klávesu, když byla klávesa ALT přidržována.
CWnd::OnTCard Volá se, když uživatel klikne na tlačítko s možností vytváření.
CWnd::OnTimeChange Volala se pro všechna okna nejvyšší úrovně po změně systémového času.
CWnd::OnTimer Volá se po každém intervalu zadaném v SetTimer.
CWnd::OnTouchInput Zpracování jednoho vstupu z dotykového ovládání Windows
CWnd::OnTouchInputs Zpracování vstupů z dotykového ovládání Windows
CWnd::OnUniChar Volá se při stisknutí klávesy. To znamená, že aktuální okno má fokus klávesnice a WM_KEYDOWN funkce přeloží TranslateMessage zprávu.
CWnd::OnUnInitMenuPopup Volá se při zničení rozevírací nabídky nebo podnabídky.
CWnd::OnUpdateUIState Volá se ke změně stavu uživatelského rozhraní pro zadané okno a všechna jeho podřízená okna.
CWnd::OnUserChanged Volá se po přihlášení nebo vypnutí uživatele.
CWnd::OnVKeyToItem Volá se seznamem vlastněným CWnd v reakci na WM_KEYDOWN zprávu.
CWnd::OnVScroll Volá se, když uživatel klikne na svislý posuvník okna.
CWnd::OnVScrollClipboard Volá se, když by se měl vlastník posunout obrázek schránky, zneplatnit příslušný oddíl a aktualizovat hodnoty posuvníku.
CWnd::OnWindowPosChanged Volá se, když se velikost, pozice nebo pořadí Z změnila v důsledku volání SetWindowPos nebo jiné funkce správy oken.
CWnd::OnWindowPosChanging Volá se, když se velikost, pozice nebo pořadí Z změní v důsledku volání SetWindowPos nebo jiné funkce správy oken.
CWnd::OnWinIniChange Volá se pro všechna okna nejvyšší úrovně po inicializačním souboru Systému Windows, WIN.INIje změněna.
CWnd::OnWndMsg Označuje, jestli byla zpracována zpráva okna.
CWnd::OnXButtonDblClk Volá se, když uživatel poklikne XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.
CWnd::OnXButtonDown Volá se, když uživatel stiskne XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.
CWnd::OnXButtonUp Volá se, když uživatel uvolní XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.
CWnd::PostNcDestroy Tato virtuální funkce je volána výchozí funkcí OnNcDestroy po zničení okna.
CWnd::ReflectChildNotify Pomocná funkce, která odráží zprávu ke zdroji.
CWnd::ReflectLastMsg Reflexe poslední zprávu do podřízeného okna.
CWnd::ResizeDynamicLayout Volá se podle architektury, když se velikost okna změní tak, aby se upravilo rozložení podřízených oken, pokud je pro okno povolené dynamické rozložení.
CWnd::WindowProc Poskytuje proceduru okna pro .CWnd Výchozí odesílá zprávy prostřednictvím mapy zpráv.

Veřejné operátory

Jméno popis
CWnd::operator HWND Volání pro získání popisovače do okna
CWnd::operator != Určuje, zda okno není stejné jako okno, jehož popisovač je m_hWnd.
CWnd::operator == Určuje, zda je okno stejné jako okno, jehož úchyt je m_hWnd.

Veřejné datové členy

Jméno popis
CWnd::m_hWnd Označuje HWND připojený k tomuto CWnd.

Poznámky

Objekt CWnd se liší od okna Windows, ale oba objekty jsou úzce propojené. Objekt CWnd je vytvořen nebo zničen CWnd konstruktorem a destruktorem. Naproti tomu okno Windows je datová struktura interní pro Windows, která je vytvořená Create členovou funkcí a zničena CWnd virtuální destruktoru. Funkce DestroyWindow zničí okno Systému Windows bez zničení objektu.

Třída CWnd a mechanismus mapování zpráv funkci skryjí WndProc . Příchozí zprávy oznámení systému Windows se automaticky směrují přes mapu zpráv na správné členské funkce ZprávyCWnd. Přepíšete členskou funkci OnMessage , která bude zpracovávat konkrétní zprávu člena v odvozených třídách.

Třída CWnd také umožňuje vytvořit podřízené okno windows pro vaši aplikaci. Odvodit třídu z CWnda pak přidat členské proměnné do odvozené třídy pro ukládání dat specifických pro vaši aplikaci. Implementujte členské funkce obslužné rutiny zpráv a mapu zpráv v odvozené třídě a určete, co se stane, když jsou zprávy směrovány do okna.

Podřízené okno vytvoříte ve dvou krocích. Nejprve zavolejte konstruktor CWnd , který vytvoří CWnd objekt, a pak zavolá Create člen funkce pro vytvoření podřízeného okna a připojí ho k objektu CWnd .

Když uživatel ukončí vaše podřízené okno, zničí CWnd objekt nebo zavolá DestroyWindow členovou funkci, aby se okno odebralo a zničilo jeho datové struktury.

V rámci knihovny tříd Microsoft Foundation jsou další třídy odvozeny z CWnd poskytování konkrétních typů oken. Mnohé z těchto tříd, včetně CFrameWnd, , CMDIChildWndCMDIFrameWndCView, a CDialog, jsou určeny pro další odvození. Kontrolní třídy odvozené z CWnd, například CButton, lze použít přímo nebo lze použít pro další odvození tříd.

Další informace o použití CWnd, viz Frame Windows a window objekty.

Hierarchie dědičnosti

CObject

CCmdTarget

CWnd

Požadavky

Hlavička: afxwin.h

CWnd::accDoDefaultAction

Volá se rozhraním k provedení výchozí akce objektu.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parametry

varChild
Určuje, zda je výchozí akce, která má být vyvolána, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (k provedení výchozí akce objektu), nebo podřízeného ID (k provedení výchozí akce jednoho z podřízených prvků objektu).

Vrácená hodnota

Vrátí S_OK při úspěchu, kód chyby modelu COM při selhání. Viz Návratové hodnoty v IAccessible::accDoDefaultAction v sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci v CWndodvozené třídě přepište, aby se provedla výchozí akce objektu. Další informace naleznete v tématu IAccessible::accDoDefaultAction v sadě Windows SDK.

CWnd::accHitTest

Volá se rozhraním pro načtení podřízeného elementu nebo podřízeného objektu v daném bodě na obrazovce.

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

Parametry

xLeft
Souřadnice X bodu, který se má testovat (v jednotkách obrazovky).

yTop
Souřadnice Y bodu, který se má testovat (v jednotkách obrazovky).

pvarChild
Přijímá informace o identifikaci objektu v bodě určeném parametrem xLeft a yTop. Viz pvarID v IAccessible::accHitTest sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::accHitTest sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::accHitTest v sadě Windows SDK.

CWnd::accLocation

Volá se rozhraním pro načtení aktuálního umístění obrazovky zadaného objektu.

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

Parametry

pxLeft
Přijme souřadnici x levého horního rohu objektu (v jednotkách obrazovky).

pyTop
Přijme souřadnici y levého horního rohu objektu (v jednotkách obrazovky).

pcxWidth
Přijímá šířku objektu (v jednotkách obrazovky).

pcyHeight
Přijímá výšku objektu (v jednotkách obrazovky).

varChild
Určuje, zda umístění, které se má načíst, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

Vrácená hodnota

Vrátí S_OK při úspěchu, kód chyby modelu COM při selhání. Viz návratové hodnoty v IAccessible::accLocation sadě Windows SDK.

Poznámky

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::accLocation v sadě Windows SDK.

CWnd::accNavigate

Volal rozhraní pro přechod k jinému prvku uživatelského rozhraní v kontejneru a pokud je to možné, načtěte objekt.

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

Parametry

navDir
Určuje směr navigace. Viz navDir v IAccessible::accNavigate sadě Windows SDK.

varStart
Určuje počáteční objekt. Viz varStart v IAccessible::accNavigate sadě Windows SDK.

pvarEndUpAt
Přijímá informace o cílovém objektu uživatelského rozhraní. Viz pvarEnd v IAccessible::accNavigate sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::accNavigate sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::accNavigate v sadě Windows SDK.

CWnd::accSelect

Volá se rozhraním pro úpravu výběru nebo přesunutí fokusu klávesnice zadaného objektu.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Parametry

flagsSelect
Určuje, jak změnit aktuální výběr nebo fokus. Viz flagsSelect v IAccessible::accSelect sadě Windows SDK.

varChild
Určuje objekt, který se má vybrat. Tento parametr může být buď CHILDID_SELF (pro výběr samotného objektu), nebo podřízeného ID (pro výběr jedné z podřízených objektů).

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::accSelect sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::accSelect v sadě Windows SDK.

CWnd::AnimateWindow

Vytvoří zvláštní efekty při zobrazení nebo skrytí oken.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parametry

dwTime
Určuje, jak dlouho trvá přehrávání animace v milisekundách. Animace obvykle trvá přehrávání 200 milisekund.

dwFlags
Určuje typ animace. Úplný seznam možných hodnot najdete v tématu AnimateWindow.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce AnimateWindow, jak je popsáno v sadě Windows SDK.

CWnd::ArrangeIconicWindows

Uspořádá všechna minimalizovaná (ikonická) podřízená okna.

UINT ArrangeIconicWindows();

Vrácená hodnota

Výška jednoho řádku ikon, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce také uspořádá ikony v okně plochy, která pokrývá celou obrazovku. Členová GetDesktopWindow funkce načte ukazatel na objekt okna plochy.

Pokud chcete uspořádat ikonická podřízená okna MDI v okně klienta MDI, zavolejte CMDIFrameWnd::MDIIconArrange.

Příklad

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

Připojí okno Windows k objektu CWnd .

BOOL Attach(HWND hWndNew);

Parametry

hWndNew
Určuje popisovač okna Windows.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

Příklad

Tento příklad ukazuje, jak používat Attach a Detach mapovat do okna klienta MDI.

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

Voláním této členské funkce nastavíte modální okno rámce.

virtual void BeginModalState();

CWnd::BeginPaint

CWnd Připravuje se na malování a vyplní datovou PAINTSTRUCT strukturu informacemi o obrazu.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parametry

lpPaint
Odkazuje na PAINTSTRUCT strukturu, která má přijímat informace o obrazu.

Vrácená hodnota

Identifikuje kontext zařízení pro CWnd. Ukazatel může být dočasný a neměl by být uložen nad rámec rozsahu EndPaint.

Poznámky

Struktura malování obsahuje datovou RECT strukturu, která má nejmenší obdélník, který zcela uzavře oblast aktualizace, a příznak, který určuje, zda bylo pozadí vymazáno.

Oblast aktualizace je nastavena Invalidatefunkcemi , InvalidateRectnebo InvalidateRgn členy a systémem po jeho velikosti, přesunu, vytvoření, posouvání nebo provedení jakékoli jiné operace, která má vliv na klientskou oblast. Pokud je oblast aktualizace označená k vymazání, BeginPaint odešle WM_ONERASEBKGND zprávu.

Nevolejte členovou BeginPaint funkci s výjimkou odpovědi na WM_PAINT zprávu. Každé volání BeginPaint členské funkce musí mít odpovídající volání EndPaint členské funkce. Pokud je stříška v oblasti, kterou chcete malovat, BeginPaint členová funkce automaticky skryje stříšku, aby se zabránilo vymazání.

Příklad

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

Vytvoří vazbu výchozí jednoduché vázané vlastnosti volajícího objektu (například ovládací prvek pro úpravy), jak je označeno v knihovně typů, k podkladovému kurzoru, který je definován pomocí DataSource, UserNamePassworda SQL vlastnosti ovládacího prvku zdroje dat.

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

Parametry

dwDispID
Určuje DISPID vlastnost ovládacího prvku vázaného na data, který má být vázán na ovládací prvek zdroje dat.

vtProp
Určuje typ vlastnosti, která má být vázána. Například , VT_BSTRVT_VARIANTa tak dále.

szFieldName
Určuje název sloupce v kurzoru poskytnutém ovládacím prvek zdroje dat, ke kterému bude vlastnost vázána.

pDSCWnd
Odkazuje na okno, které je hostitelem ovládacího prvku zdroje dat, ke kterému bude vlastnost vázána. Voláním GetDlgItem s ID prostředku okna hostitele DCS načtěte tento ukazatel.

Poznámky

Objekt CWnd , na kterém tuto funkci voláte, musí být ovládací prvek vázaný na data.

Příklad

BindDefaultProperty lze použít v následujícím kontextu:

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

Vytvoří vazbu vlastnosti vázané na kurzor u ovládacího prvku vázaného na data (například ovládací prvek mřížky) na ovládací prvek zdroje dat a zaregistruje tuto relaci se správcem vazeb MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parametry

dwDispId
Určuje DISPID vlastnost ovládacího prvku vázaného na data, který má být vázán na ovládací prvek zdroje dat.

pWndDSC
Odkazuje na okno, které je hostitelem ovládacího prvku zdroje dat, ke kterému bude vlastnost vázána. Voláním GetDlgItem s ID prostředku okna hostitele DCS načtěte tento ukazatel.

Poznámky

Objekt CWnd , na kterém tuto funkci voláte, musí být ovládací prvek vázaný na data.

Příklad

BindProperty lze použít v následujícím kontextu:

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

CWnd::BringWindowToTop

Přenese CWnd do horní části zásobníku překrývajících se oken.

void BringWindowToTop();

Poznámky

Kromě toho BringWindowToTop aktivuje automaticky otevírané okno, nejvyšší úroveň a podřízená okna MDI. Členová BringWindowToTop funkce by měla být použita k odhalení libovolného okna, které je částečně nebo zcela zakryté všemi překrývajícími se okny.

Tato funkce pouze volá funkci Win32 BringWindowToTop . Voláním SetWindowPos funkce změníte pozici okna v pořadí Z. Funkce BringWindowToTop nezmění styl okna tak, aby byla okno nejvyšší úrovně. Další informace najdete v tématu Jaký je rozdíl mezi HWND_TOP a HWND_TOPMOST

Příklad

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

Vypočítá obdélník okna, který může obsahovat zadaný obdélník klienta.

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

Parametry

lpClientRect
[in, out] Ukazatel na strukturu obdélníku Na vstupu tato struktura obsahuje obdélník klienta. Po dokončení metody tato struktura obsahuje obdélník okna, který může obsahovat zadaný obdélník klienta.

nAdjustType
[v] Slouží CWnd::adjustBorder k výpočtu souřadnic oken bez WS_EX_CLIENTEDGE stylu; jinak použijte CWnd::adjustOutside.

Poznámky

Velikost obdélníku počítaného okna neobsahuje mezeru pro řádek nabídek.

Další omezení využití najdete v tématu AdjustWindowRectEx.

Příklad

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

Voláním této členské funkce odeberete popisek nástroje z obrazovky, pokud je aktuálně zobrazen popis.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parametry

bKeys
TRUE pokud chcete zrušit popisy nástrojů při stisknutí klávesy a nastavit text stavového řádku na výchozí; jinak FALSE.

Poznámky

Poznámka

Použití této členské funkce nemá žádný vliv na popisy nástrojů spravované vaším kódem. Ovlivňuje pouze ovládací prvek popisku nástroje spravovaného CWnd::EnableToolTipsnástrojem .

Příklad

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

Zacentruje okno vzhledem k nadřazené sadě.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parametry

pAlternateOwner
Ukazatel na alternativní okno vzhledem k tomu, na které bude zarovnané na střed (jiné než nadřazené okno).

Poznámky

Obvykle se volá z CDialog::OnInitDialog dialogových oken do středu vzhledem k hlavnímu okně aplikace. Ve výchozím nastavení funkce zacentruje podřízená okna vzhledem k nadřazeným oknu a automaticky otevíraná okna vzhledem k jejich vlastníkovi. Pokud automaticky otevírané okno nepatří, je na střed vzhledem k obrazovce. Pokud chcete okno zacentrovat vzhledem k určitému okně, které není vlastníkem nebo nadřazeným objektem, pAlternateOwner může být parametr nastaven na platné okno. Pokud chcete vynutit střed vzhledem k obrazovce, předejte hodnotu vrácenou CWnd::GetDesktopWindow jako pAlternateOwner.

Příklad

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

Odebere CWnd z řetězce prohlížečů schránky a vytvoří okno určené hWndNext potomkem CWnd nadřazeného objektu v řetězci.

BOOL ChangeClipboardChain(HWND hWndNext);

Parametry

hWndNext
Identifikuje okno, které následuje CWnd v řetězci prohlížeče schránky.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

CWnd::CheckDlgButton

Vybere tlačítko (umístí značku zaškrtnutí vedle) nebo zruší zaškrtnutí (odebere značku zaškrtnutí) nebo změní stav tlačítka se třemi stavy.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Parametry

nIDButton
Určuje tlačítko, které se má upravit.

nCheck
Určuje akci, která se má provést. Pokud je nenulová, CheckDlgButton členová funkce umístí značku zaškrtnutí vedle tlačítka. Pokud nCheck je 0, značka zaškrtnutí se odebere. U třístavových tlačítek je stav tlačítka neurčitý, pokud nCheck je 2.

Poznámky

Funkce CheckDlgButton odešle BM_SETCHECK zprávu na zadané tlačítko.

Příklad

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

Vybere (přidá značku zaškrtnutí) dané přepínače ve skupině a zruší zaškrtnutí (odebere značku zaškrtnutí) všechna ostatní přepínače ve skupině.

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

Parametry

nIDFirstButton
Určuje celočíselnou identifikátor prvního přepínače ve skupině.

nIDLastButton
Určuje celočíselnou identifikátor posledního přepínače ve skupině.

nIDCheckButton
Určuje celočíselnou identifikátor přepínače, který se má zkontrolovat.

Poznámky

Funkce CheckRadioButton odešle BM_SETCHECK zprávu zadanému přepínači.

Příklad

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

CWnd::ChildWindowFromPoint

Určuje, která podřízená okna, která patří do CWnd některého z podřízených oken, obsahuje zadaný bod.

CWnd* ChildWindowFromPoint(POINT point) const;

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

Parametry

point
Určuje souřadnice klienta bodu, který se má testovat.

nflags
Určuje, která podřízená okna se mají přeskočit. Tento parametr může být kombinací následujících hodnot:

Hodnota Význam
CWP_ALL Nepřeskakujte žádná podřízená okna.
CWP_SKIPINVISIBLE Přeskočit neviditelná podřízená okna
CWP_SKIPDISABLED Přeskočit zakázaná podřízená okna
CWP_SKIPTRANSPARENT Přeskočit průhledná podřízená okna

Vrácená hodnota

Identifikuje podřízené okno, které obsahuje bod. NULL Je-li daný bod umístěn mimo oblast klienta. Pokud je bod v klientské oblasti, ale není obsažen v žádném podřízeném okně, CWnd vrátí se.

Tato členová funkce vrátí skryté nebo zakázané podřízené okno, které obsahuje zadaný bod.

Daný bod může obsahovat více než jedno okno. Tato funkce však vrátí pouze CWnd* prvního okna, které obsahuje bod.

Vrácená CWndhodnota * může být dočasná a neměla by být uložena pro pozdější použití.

Příklad

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

Převede souřadnice klienta daného bodu nebo obdélníku na displeji na souřadnice obrazovky.

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

Parametry

lpPoint
Odkazuje na POINT strukturu nebo CPoint objekt, který obsahuje souřadnice klienta, které se mají převést.

lpRect
Odkazuje na RECT strukturu nebo CRect objekt, který obsahuje souřadnice klienta, které se mají převést.

Poznámky

Členská ClientToScreen funkce používá souřadnice klienta ve POINT struktuře, RECT struktuře nebo objektu CPointCRect , na který lpPoint odkazuje, nebo lpRect k výpočtu nových souřadnic obrazovky. Potom nahradí souřadnice ve struktuře novými souřadnicemi. Nové souřadnice obrazovky jsou relativní vzhledem k levému hornímu rohu zobrazení systému.

Členská ClientToScreen funkce předpokládá, že daný bod nebo obdélník je v souřadnicích klienta.

Příklad

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

Minimalizuje okno.

void CloseWindow();

Poznámky

Tato členová funkce emuluje funkce funkce CloseWindow, jak je popsáno v sadě Windows SDK.

CWnd::ContinueModal

Tato členová funkce je volána, RunModalLoop aby určila, kdy má být modální stav ukončen.

virtual BOOL ContinueModal();

Vrácená hodnota

Nenulová, pokud modální smyčka bude pokračovat; 0, když EndModalLoop je volána.

Poznámky

Ve výchozím nastavení vrátí nenulu, dokud EndModalLoop se nevolá.

CWnd::Create

Vytvoří zadané podřízené okno a připojí ho k objektu CWnd .

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

Parametry

lpszClassName
[v] Ukazatel na řetězec ukončený hodnotou null, který obsahuje název registrované třídy systémového okna; nebo název předdefinované třídy okna systému.

lpszWindowName
[v] Ukazatel na řetězec ukončený hodnotou null, který obsahuje zobrazovaný název okna; jinak NULL pro žádný zobrazovaný název okna.

dwStyle
[v] Bitová kombinace (OR) stylů oken Tato WS_POPUP možnost není platný styl.

rect
[v] Velikost a umístění okna vzhledem k levému hornímu rohu nadřazeného okna.

pParentWnd
[v] Ukazatel na nadřazené okno

nID
[v] ID okna.

pContext
[v] Ukazatel na CCreateContext strukturu, která se používá k přizpůsobení architektury zobrazení dokumentu pro aplikaci.

Vrácená hodnota

TRUE pokud byla metoda úspěšná; jinak FALSE.

Poznámky

Upozorňující

CWnd::PreCreateWindow nyní přiřadí hMenu člena jeho CREATESTRUCT parametru this ukazatel, pokud je NULL nabídka a styl obsahuje WS_CHILD. Pro správné funkce se ujistěte, že ovládací prvek dialogového okna má ID, které není NULL.

Tato změna opravuje chybové ukončení ve scénářích spravované/nativní spolupráce. Prohlášení TRACE v CWnd::Create upozorněních vývojáře problému.

AfxRegisterWndClass Pomocí funkce zaregistrujte třídy oken. Uživatelem definované třídy oken jsou k dispozici v modulu, kde jsou registrovány.

Metoda CWnd::OnCreate se volá před vrácením Create metody a před zobrazením okna.

Příklad

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

Vytvoří proxy server aktivní přístupnosti pro zadaný objekt.

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

Parametry

wParam
Identifikuje objekt přístupný proxy serverem aktivní přístupnosti. Může to být jedna z následujících hodnot.

Hodnota Význam
OBJID_CLIENT Odkazuje na oblast klienta okna.

lParam
Poskytuje další informace závislé na zprávách.

pResult
Ukazatel na LRESULT kód výsledku, který ukládá kód výsledku.

Poznámky

Vytvoří proxy server aktivní přístupnosti pro zadaný objekt.

CWnd::CreateCaret

Vytvoří nový obrazec pro stříšku systému a nároky vlastnictví stříšky.

void CreateCaret(CBitmap* pBitmap);

Parametry

pBitmap
Identifikuje rastrový obrázek, který definuje obrazec stříšky.

Poznámky

Rastrový obrázek musí být vytvořen dříve členovou CBitmap::CreateBitmap funkcí, CreateDIBitmap funkcí Systému Windows nebo členovou CBitmap::LoadBitmap funkcí.

CreateCaret automaticky zničí předchozí stříšku, pokud existuje, bez ohledu na to, které okno vlastní stříšku. Po vytvoření je stříška zpočátku skrytá. Chcete-li zobrazit stříšku, ShowCaret musí být volána členová funkce.

Stříška systému je sdílený prostředek. CWnd by měla vytvořit stříšku pouze v případě, že má vstupní fokus nebo je aktivní. Měla by zničit stříšku předtím, než ztratí vstupní fokus nebo se stane neaktivním.

Příklad

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

Pomocí této členské funkce vytvořte ovládací prvek technologie ActiveX, který bude reprezentován v programu MFC objektemCWnd.

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

Parametry

pszClass
Tento řetězec může obsahovat ole "krátký název" (ProgID) pro třídu. Například, "CIRC3.Circ3Ctrl.1". Název musí odpovídat stejnému názvu, který ovládací prvek zaregistroval. Případně může řetězec obsahovat řetězcovou formu , obsaženou CLSIDve složených závorkách. Například, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". V obou případech CreateControl převede řetězec na odpovídající ID třídy.

pszWindowName
Ukazatel na text, který se má v ovládacím prvku zobrazit. Nastaví hodnotu vlastnosti Caption nebo Text ovládacího prvku (pokud existuje). Pokud NULLse vlastnost Caption nebo Text ovládacího prvku nezmění.

dwStyle
Styly Windows. Dostupné styly jsou uvedeny v části Poznámky.

rect
Určuje velikost a umístění ovládacího prvku. Může to být CRect objekt nebo RECT struktura.

ppt
Odkazuje na POINT strukturu nebo CPoint objekt, který obsahuje levý horní roh ovládacího prvku.

pSize
Odkazuje na SIZE strukturu nebo CSize objekt obsahující velikost ovládacího prvku.

*pParentWnd*
Určuje nadřazené okno ovládacího prvku. Nesmí to být NULL.

nID
Určuje ID ovládacího prvku.

pPersist
Ukazatel na CFile obsahující trvalý stav ovládacího prvku. Výchozí hodnota znamená NULL, že ovládací prvek inicializuje sám sebe bez obnovení stavu z jakéhokoli trvalého úložiště. Pokud ne NULL, měl by to být ukazatel na -odvozený CFileobjekt, který obsahuje trvalá data ovládacího prvku ve formě datového proudu nebo úložiště. Tato data mohla být uložena v předchozí aktivaci klienta. Může CFile obsahovat jiná data, ale musí mít ukazatel pro čtení i zápis nastavený na první bajt trvalých dat v době volání CreateControl.

bStorage
Určuje, jestli se mají data pPersist interpretovat jako IStorage nebo IStream data. Pokud jsou data v pPersist úložišti, bStorage měla by být TRUE. Pokud jsou data v pPersist datovém proudu, bStorage měla by být FALSE. Výchozí hodnota je FALSE.

bstrLicKey
Nepovinná data licenčního klíče. Tato data jsou potřebná pouze pro vytváření ovládacích prvků, které vyžadují licenční klíč za běhu. Pokud ovládací prvek podporuje licencování, musíte zadat licenční klíč pro úspěšné vytvoření ovládacího prvku. Výchozí hodnota je NULL.

clsid
Jedinečné ID třídy ovládacího prvku.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

CreateControl je přímá analogie CWnd::Create funkce, která vytvoří okno pro funkci CWnd. CreateControlvytvoří ovládací prvek technologie ActiveX místo běžného okna.

Podporují CreateControlse pouze podmnožina příznaků WindowsdwStyle:

  • WS_VISIBLE Vytvoří okno, které je zpočátku viditelné. Vyžaduje se, pokud chcete, aby byl ovládací prvek viditelný okamžitě, například běžná okna.

  • WS_DISABLED Vytvoří okno, které je původně zakázáno. Zakázané okno nemůže přijímat vstup od uživatele. Lze nastavit, pokud má ovládací prvek vlastnost Enabled.

  • WS_BORDER Vytvoří okno s tenkým ohraničením. Lze nastavit, pokud má BorderStyle ovládací prvek vlastnost.

  • WS_GROUP Určuje první ovládací prvek skupiny ovládacích prvků. Uživatel může změnit fokus klávesnice z jednoho ovládacího prvku ve skupině na další pomocí směrových kláves. Všechny ovládací prvky definované stylem WS_GROUP po prvním ovládacím prvku patří do stejné skupiny. Další ovládací prvek se stylem WS_GROUP ukončí skupinu a spustí další skupinu.

  • WS_TABSTOP Určuje ovládací prvek, který může dostat fokus klávesnice, když uživatel stiskne klávesu TAB. Stisknutím klávesy TAB změníte fokus klávesnice na další ovládací prvek WS_TABSTOP stylu.

Příklad

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

Vytvoří zadané okno a připojí ho k objektu CWnd .

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

Parametry

dwExStyle
Bitová kombinace (OR) rozšířených stylů oken, jinak NULL pro výchozí rozšířený styl okna.

lpszClassName
Ukazatel na řetězec ukončený hodnotou null, který obsahuje název registrované třídy systémového okna; nebo název předdefinované třídy okna systému.

lpszWindowName
Ukazatel na řetězec ukončený hodnotou null, který obsahuje zobrazovaný název okna; jinak NULL pro žádný zobrazovaný název okna.

dwStyle
Bitová kombinace (OR) stylů oken, jinak NULL pro výchozí styl okna.

x
Počáteční vodorovná vzdálenost okna od levé strany obrazovky nebo nadřazeného okna.

y
Počáteční svislá vzdálenost okna od horní části obrazovky nebo nadřazeného okna.

nWidth
Šířka okna v pixelech.

nHeight
Výška okna v pixelech.

hwndParent
U podřízeného okna je úchyt nadřazeného okna; jinak popisovač okna vlastníka, pokud má okno vlastníka.

nIDorHMenu
Pro podřízené okno ID okna; v opačném případě ID nabídky pro okno.

lpParam
Ukazatel na uživatelská data, která jsou předána CWnd::OnCreate metodě v lpCreateParams poli.

rect
Velikost a umístění okna vzhledem k obrazovce nebo nadřazeného okna.

pParentWnd
U podřízeného okna najeďte ukazatelem na nadřazené okno; jinak najeďte myší na okno vlastníka, pokud má okno vlastníka.

nID
Pro podřízené okno ID okna; v opačném případě ID nabídky pro okno.

Vrácená hodnota

TRUE pokud byla metoda úspěšná; jinak FALSE.

Poznámky

Upozorňující

CWnd::PreCreateWindow nyní přiřadí hMenu člena jeho CREATESTRUCT parametru this ukazatel, pokud je NULL nabídka a styl obsahuje WS_CHILD. Pro správné funkce se ujistěte, že ovládací prvek dialogového okna má ID, které není NULL.

Tato změna opravuje chybové ukončení ve scénářích spravované/nativní spolupráce. Prohlášení TRACE v CWnd::Create upozorněních vývojáře problému.

Výchozí rozšířený styl okna je WS_EX_LEFT. Výchozí styl okna je WS_OVERLAPPED.

AfxRegisterWndClass Pomocí funkce zaregistrujte třídy oken. Uživatelem definované třídy oken jsou k dispozici v modulu, kde jsou registrovány.

Rozměry podřízených oken jsou relativní vzhledem k levému hornímu rohu klientské oblasti nadřazeného okna. Rozměry oken nejvyšší úrovně jsou relativní vzhledem k levému hornímu rohu obrazovky.

Metoda CWnd::OnCreate se volá před vrácením CreateEx metody a před zobrazením okna.

Příklad

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

Vytvoří šedý obdélník pro stříšku systému a vlastnictví stříšky.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parametry

nWidth
Určuje šířku stříšky (v logických jednotkách). Pokud je tento parametr 0, je šířka nastavená na šířku ohraničení okna definovanou systémem.

nHeight
Určuje výšku stříšky (v logických jednotkách). Pokud je tento parametr 0, nastaví se výška na výšku ohraničení okna definovanou systémem.

Poznámky

Stříškou může být čára nebo blok.

Parametry nWidth a nHeight určení šířky a výšky stříšky (v logických jednotkách), přesná šířka a výška (v pixelech) závisí na režimu mapování.

Šířku nebo výšku ohraničení okna systému může načíst GetSystemMetrics funkce Windows s SM_CXBORDER indexy a SM_CYBORDER indexy. Pomocí šířky nebo výšky ohraničení okna zajistíte, že bude stříška viditelná na displeji s vysokým rozlišením.

Členová CreateGrayCaret funkce automaticky zničí předchozí stříšku, pokud existuje, bez ohledu na to, které okno vlastní stříšku. Po vytvoření je stříška zpočátku skrytá. Chcete-li zobrazit stříšku, ShowCaret musí být volána členová funkce.

Stříška systému je sdílený prostředek. CWnd by měla vytvořit stříšku pouze v případě, že má vstupní fokus nebo je aktivní. Měla by zničit stříšku předtím, než ztratí vstupní fokus nebo se stane neaktivním.

Příklad

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

CWnd::CreateSolidCaret

Vytvoří plný obdélník pro stříšku systému a nároky vlastnictví stříšky.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parametry

nWidth
Určuje šířku stříšky (v logických jednotkách). Pokud je tento parametr 0, je šířka nastavená na šířku ohraničení okna definovanou systémem.

nHeight
Určuje výšku stříšky (v logických jednotkách). Pokud je tento parametr 0, nastaví se výška na výšku ohraničení okna definovanou systémem.

Poznámky

Stříškou může být čára nebo blok.

Parametry nWidth a nHeight určení šířky a výšky stříšky (v logických jednotkách), přesná šířka a výška (v pixelech) závisí na režimu mapování.

Šířku nebo výšku ohraničení okna systému může načíst GetSystemMetrics funkce Windows s SM_CXBORDER indexy a SM_CYBORDER indexy. Pomocí šířky nebo výšky ohraničení okna zajistíte, že bude stříška viditelná na displeji s vysokým rozlišením.

Členová CreateSolidCaret funkce automaticky zničí předchozí stříšku, pokud existuje, bez ohledu na to, které okno vlastní stříšku. Po vytvoření je stříška zpočátku skrytá. Chcete-li zobrazit stříšku, ShowCaret musí být volána členová funkce.

Stříška systému je sdílený prostředek. CWnd by měla vytvořit stříšku pouze v případě, že má vstupní fokus nebo je aktivní. Měla by zničit stříšku předtím, než ztratí vstupní fokus nebo se stane neaktivním.

Příklad

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

CWnd::CWnd

CWnd Vytvoří objekt.

CWnd();

Poznámky

Okno Windows se nevytvořilo a nepřipevní, dokud CreateEx se nevolá funkce nebo Create člena.

CWnd::Default

Volá výchozí proceduru okna.

LRESULT Default();

Vrácená hodnota

Závisí na odeslané zprávě.

Poznámky

Výchozí procedura okna poskytuje výchozí zpracování pro všechny zprávy okna, které aplikace nezpracová. Tato členová funkce zajišťuje, že se zpracuje každá zpráva.

Příklad

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

Volá výchozí proceduru okna, která poskytuje výchozí zpracování pro všechny zprávy okna, které aplikace nezpracová.

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

Parametry

message
Určuje zprávu systému Windows, která se má zpracovat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

Vrácená hodnota

Závisí na odeslané zprávě.

Poznámky

Tato členová funkce zajišťuje, že se zpracuje každá zpráva. Měla by se volat se stejnými parametry jako ty, které procedura okna přijala.

CWnd::DeleteTempMap

Volá se automaticky obslužnou rutinou doby nečinnosti objektu CWinApp .

static void PASCAL DeleteTempMap();

Poznámky

Odstraní všechny dočasné CWnd objekty vytvořené členkou FromHandle funkce.

Příklad

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

CWnd::DestroyWindow

Zničí okno Windows připojené k objektu CWnd .

virtual BOOL DestroyWindow();

Vrácená hodnota

Nenulové, pokud je okno zničeno; jinak 0.

Poznámky

Členová DestroyWindow funkce odešle příslušné zprávy do okna, aby ho deaktivovala a odebrala vstupní fokus. Také zničí nabídku okna, vyprázdní frontu aplikace, zničí nevyřízené časovače, odebere vlastnictví schránky a přeruší řetěz prohlížeče schránky, pokud CWnd je v horní části řetězce prohlížeče. WM_DESTROY Odesílá zprávy WM_NCDESTROY do okna. Nezničí CWnd objekt.

DestroyWindow je držitel místa pro vyčištění. Protože DestroyWindow je virtuální funkce, je zobrazena v libovolné CWnd-odvozené třídě v zobrazení třídy. Ale i když tuto funkci přepíšete ve své CWnd-odvozené třídě, DestroyWindow není nutně volána. Pokud DestroyWindow není v kódu MFC volána, musíte ho explicitně volat ve vlastním kódu, pokud ho chcete volat.

Předpokládejme například, že jste přepsli DestroyWindow v odvozené CViewtřídě . Vzhledem k tomu, že zdrojový kód MFC není volána DestroyWindow v žádné z jeho CFrameWnd-odvozených tříd, vaše přepsání DestroyWindow nebude volána, pokud ho explicitně nezavoláte.

Pokud je okno nadřazeným objektem všech oken, tato podřízená okna se při zničení nadřazeného okna automaticky zničí. Členová DestroyWindow funkce nejprve zničí podřízená okna a pak samotné okno.

Člen funkce DestroyWindow také zničí bezmodální dialogová okna vytvořená CDialog::Create.

CWnd Pokud je zničení podřízené okno a nemá WS_EX_NOPARENTNOTIFY sadu stylů, WM_PARENTNOTIFY zpráva se odešle nadřazené sadě.

Příklad

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

Odpojte úchyt systému Windows od objektu CWnd a vrátí popisovač.

HWND Detach();

Vrácená hodnota

A HWND k objektu Windows.

Příklad

Podívejte se na příklad pro CWnd::Attach.

CWnd::DlgDirList

Vyplní seznamem se seznamem souborů nebo adresářů.

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

Parametry

lpPathSpec
Odkazuje na řetězec ukončený hodnotou null, který obsahuje cestu nebo název souboru. DlgDirList upraví tento řetězec, který by měl být dostatečně dlouhý, aby obsahoval úpravy. Další informace najdete v následující části Poznámky.

nIDListBox
Určuje identifikátor seznamu. Pokud nIDListBox je hodnota 0, předpokládá se, DlgDirList že neexistuje žádné pole seznamu a nepokoušá se ho vyplnit.

nIDStaticPath
Určuje identifikátor ovládacího prvku statického textu sloužícího k zobrazení aktuální jednotky a adresáře. Pokud nIDStaticPath je hodnota 0, předpokládá se, DlgDirList že neexistuje žádný takový ovládací prvek textu.

nFileType
Určuje atributy souborů, které se mají zobrazit. Může se jednat o libovolnou kombinaci následujících hodnot:

  • DDL_READWRITE Datové soubory pro čtení i zápis bez dalších atributů

  • DDL_READONLY Soubory jen pro čtení.

  • DDL_HIDDEN Skryté soubory.

  • DDL_SYSTEM Systémové soubory.

  • DDL_DIRECTORY Adresáře.

  • DDL_ARCHIVE Archiv.

  • DDL_POSTMSGSLB_DIR Vlajky. LB_DIR Pokud je příznak nastavený, systém Windows umístí zprávy vygenerované DlgDirList ve frontě aplikace, jinak se odešlou přímo do procedury dialogového okna.

  • DDL_DRIVES Jednotky. DDL_DRIVES Pokud je příznak nastavený, DDL_EXCLUSIVE příznak se nastaví automaticky. Pokud tedy chcete vytvořit výpis adresáře, který obsahuje jednotky a soubory, musíte zavolat DlgDirList dvakrát: jednou s DDL_DRIVES nastaveným příznakem a jednou s příznaky pro zbytek seznamu.

  • DDL_EXCLUSIVE Exkluzivní bit. Pokud je nastaven exkluzivní bit, jsou uvedeny pouze soubory zadaného typu; v opačném případě jsou uvedeny normální soubory a soubory zadaného typu.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

DlgDirListLB_RESETCONTENT odesílá zprávy LB_DIR do seznamu. Vyplní seznam určený nIDListBox názvy všech souborů, které odpovídají cestě zadané .lpPathSpec

Parametr lpPathSpec má následující formulář:

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

V tomto příkladu drive je písmeno jednotky, directory je platný název adresáře a filename je platný název souboru, který musí obsahovat alespoň jeden zástupný znak. Zástupné znaky jsou otazník (?), což znamená, že odpovídají jakémukoli znaku a hvězdičkě (*), což znamená, že odpovídá libovolnému počtu znaků.

Pokud zadáte řetězec s délkou 0 nebo lpPathSpeczadáte pouze název adresáře, ale nezadáte žádnou specifikaci souboru, řetězec se změní na *.*.

Pokud lpPathSpec obsahuje název jednotky nebo adresáře, aktuální jednotka a adresář se před vyplněním seznamu změní na určenou jednotku a adresář. Ovládací prvek textu identifikovaný nIDStaticPath uživatelem je také aktualizován názvem nové jednotky nebo adresáře.

Po vyplnění lpPathSpec seznamu se aktualizuje odebráním jednotky nebo části cesty adresáře.

Příklad

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

Vyplní seznam pole se seznamem souborem nebo seznamem adresářů.

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

Parametry

lpPathSpec
Odkazuje na řetězec ukončený hodnotou null, který obsahuje cestu nebo název souboru. DlgDirListComboBox upraví tento řetězec, takže tato data by neměla být ve formě řetězcového literálu. Viz následující část Poznámky.

nIDComboBox
Určuje identifikátor pole se seznamem v dialogovém okně. Pokud nIDComboBox je 0, předpokládá, DlgDirListComboBox že neexistuje žádné pole se seznamem a nepokoušá se ho vyplnit.

nIDStaticPath
Určuje identifikátor ovládacího prvku statického textu sloužícího k zobrazení aktuální jednotky a adresáře. Pokud nIDStaticPath je hodnota 0, předpokládá se, DlgDirListComboBox že neexistuje žádný takový ovládací prvek textu.

nFileType
Určuje atributy souboru DOS souborů, které se mají zobrazit. Může se jednat o libovolnou kombinaci následujících hodnot:

  • DDL_READWRITE Datové soubory pro čtení i zápis bez dalších atributů

  • DDL_READONLY Soubory jen pro čtení.

  • DDL_HIDDEN Skryté soubory.

  • DDL_SYSTEM Systémové soubory.

  • DDL_DIRECTORY Adresáře.

  • DDL_ARCHIVE Archiv.

  • DDL_POSTMSGSCB_DIR Vlajky. CB_DIR Pokud je příznak nastavený, systém Windows umístí zprávy vygenerované DlgDirListComboBox ve frontě aplikace, jinak se odešlou přímo do procedury dialogového okna.

  • DDL_DRIVES Jednotky. DDL_DRIVES Pokud je příznak nastavený, DDL_EXCLUSIVE příznak se nastaví automaticky. Pokud tedy chcete vytvořit výpis adresáře, který obsahuje jednotky a soubory, musíte zavolat DlgDirListComboBox dvakrát: jednou s DDL_DRIVES nastaveným příznakem a jednou s příznaky pro zbytek seznamu.

  • DDL_EXCLUSIVE Exkluzivní bit. Pokud je nastaven exkluzivní bit, jsou uvedeny pouze soubory zadaného typu; v opačném případě jsou uvedeny normální soubory a soubory zadaného typu.

Vrácená hodnota

Určuje výsledek funkce. Je nenulové, pokud byl výpis proveden, dokonce i prázdný výpis. Vrácená hodnota 0 znamená, že vstupní řetězec neobsahoval platnou cestu hledání.

Poznámky

DlgDirListComboBoxCB_RESETCONTENT odesílá zprávy CB_DIR do pole se seznamem. Vyplní seznam pole se seznamem určeným nIDComboBox názvy všech souborů, které odpovídají cestě zadané .lpPathSpec

Parametr lpPathSpec má následující formulář:

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

V tomto příkladu drive je písmeno jednotky, directory je platný název adresáře a filename je platný název souboru, který musí obsahovat alespoň jeden zástupný znak. Zástupné znaky jsou otazník (?), což znamená, že odpovídají jakémukoli znaku a hvězdičkě (*), což znamená, že odpovídá libovolnému počtu znaků.

Pokud zadáte řetězec lpPathSpecnulové délky , použije se aktuální adresář a lpPathSpec nebude změněn. Pokud zadáte pouze název adresáře, ale nezahrnete žádnou specifikaci souboru, řetězec se změní na "*".

Pokud lpPathSpec obsahuje název jednotky nebo adresáře, aktuální jednotka a adresář se před vyplněním seznamu změní na určenou jednotku a adresář. Ovládací prvek textu identifikovaný nIDStaticPath uživatelem je také aktualizován názvem nové jednotky nebo adresáře.

Po vyplnění lpPathSpec pole se seznamem se seznamem se odebere jednotka nebo část cesty adresáře.

Příklad

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

Načte aktuální výběr ze seznamu.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parametry

lpString
Odkazuje na vyrovnávací paměť, která má přijmout aktuální výběr v seznamu.

nIDListBox
Určuje celočíselné ID seznamu v dialogovém okně.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Předpokládá se, že seznam je vyplněn DlgDirList funkcí člena a že výběr je písmeno jednotky, soubor nebo název adresáře.

Členová DlgDirSelect funkce zkopíruje výběr do vyrovnávací paměti poskytnuté lpString. Pokud neexistuje žádný výběr, lpString nezmění se.

DlgDirSelectLB_GETCURSEL odesílá zprávy LB_GETTEXT do seznamu.

Nepovoluje vrácení více než jednoho názvu souboru ze seznamu. Seznam nesmí být seznamem s vícenásobným výběrem.

CWnd::DlgDirSelectComboBox

Načte aktuální výběr ze seznamu pole se seznamem.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parametry

lpString
Odkazuje na vyrovnávací paměť, která přijímá vybranou cestu.

nIDComboBox
Určuje celočíselné ID pole se seznamem v dialogovém okně.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Předpokládá se, že seznam je vyplněn DlgDirListComboBox funkcí člena a že výběr je písmeno jednotky, soubor nebo název adresáře.

Členová DlgDirSelectComboBox funkce zkopíruje výběr do zadané vyrovnávací paměti. Pokud není vybrán žádný výběr, obsah vyrovnávací paměti se nezmění.

DlgDirSelectComboBoxCB_GETCURSEL odesílá zprávy CB_GETLBTEXT do pole se seznamem.

Nepovoluje vrácení více než jednoho názvu souboru z pole se seznamem.

CWnd::DoDataExchange

Volá se rozhraním pro výměnu a ověření dat dialogových oken.

virtual void DoDataExchange(CDataExchange* pDX);

Parametry

pDX
Ukazatel na CDataExchange objekt.

Poznámky

Tuto funkci nikdy nevolejte přímo. Volá se členovou UpdateData funkcí. Volání UpdateData pro inicializaci ovládacích prvků dialogového okna nebo načtení dat z dialogového okna

Pokud odvozujete třídu CDialogdialogového okna specifickou pro aplikaci, je nutné tuto členskou funkci přepsat, pokud chcete využít automatickou výměnu a ověření dat architektury. Průvodce přidáním proměnné zapíše přepsanou verzi této členské funkce, která obsahuje požadovanou "datovou mapu" globálních volání funkce výměny dat dialogového okna (DDX) a ověřování (Prohlížeč diagnostických dat).

Chcete-li automaticky vygenerovat přepsánou verzi této členské funkce, nejprve vytvořte prostředek dialogového okna s editorem dialogového okna a potom odvození třídy dialogového okna specifické pro aplikaci. Potom pomocí průvodce Přidat proměnnou přidružíte proměnné, data a rozsahy ověřování k různým ovládacím prvkům v novém dialogovém okně. Průvodce pak zapíše přepsání DoDataExchange, který obsahuje mapování dat. Následuje příklad bloku kódu DDX/Prohlížeč diagnostických dat vygenerovaného průvodcem Přidat proměnnou:

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

Přepsaná DoDataExchange členová funkce musí předcházet příkazům makra ve zdrojovém souboru.

Další informace o výměně a ověřování dat dialogového okna naleznete v tématu Zobrazení a manipulace s daty ve formuláři a dialogovém okně Výměna a ověření dat. Popis maker DDX_ a Prohlížeč diagnostických dat_ vygenerovaných průvodcem Přidat proměnnou naleznete v technické poznámce 26.

CWnd::DragAcceptFiles

Volání této členské funkce z okna pomocí CWnd ukazatele ve funkci vaší aplikace CWinApp::InitInstance označuje, že okno přijímá vynechané soubory ze Správce souborů systému Windows nebo Průzkumník souborů.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parametry

BAccept
Příznak označující, zda jsou přetaženy soubory přijaty.

Poznámky

Pouze okno, které volá DragAcceptFiles se bAccept sadou TRUE parametrů, které se identifikovalo jako schopné zpracovat zprávu WM_DROPFILESsystému Windows . Pokud se například v aplikaci CMDIFrameWnd MDI použije ukazatel okna ve DragAcceptFiles volání funkce, zobrazí WM_DROPFILES se zpráva pouze v CMDIFrameWnd okně. Tato zpráva se neodesílají do všech otevřených CMDIChildWnd oken. CMDIChildWnd Aby okno obdrželo tuto zprávu, musíte volat DragAcceptFiles ukazatelem CMDIChildWnd okna.

Chcete-li ukončit přijímání přetahovaných souborů, zavolejte členovou funkci s nastavenou bAccept na FALSEhodnotu .

CWnd::DragDetect

Zachytí myš a sleduje jeho pohyb, dokud uživatel nespustí levé tlačítko, stiskne klávesu ESC nebo přesune myš mimo obdélník přetažení kolem zadaného bodu.

BOOL DragDetect(POINT pt) const;

Parametry

pt
Počáteční pozice myši v souřadnicích obrazovky. Funkce určuje souřadnice obdélníku přetažením pomocí tohoto bodu.

Vrácená hodnota

Pokud uživatel přesunul myš mimo obdélník přetažení při podržení levého tlačítka, návratová hodnota je nenulová.

Pokud uživatel nepřesunuli myš mimo obdélník přetažení při podržení levého tlačítka, návratová hodnota je nula.

Poznámky

Tato členová funkce emuluje funkce funkce DragDetect, jak je popsáno v sadě Windows SDK.

CWnd::DrawAnimatedRects

Nakreslí obdélník drátěného rámečku a animuje ho, aby označí otevření ikony nebo minimalizaci nebo maximalizaci okna.

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

Parametry

idAni
Určuje typ animace. Pokud zadáte IDANI_CAPTION, okno popis bude animovat z pozice určené lprcFrom umístěním určeném lprcTo. Efekt je podobný minimalizaci nebo maximalizaci okna.

lprcFrom
Ukazatel na RECT strukturu určující umístění a velikost ikony nebo minimalizovaného okna.

lprcTo
Ukazatel na RECT strukturu určující umístění a velikost obnoveného okna

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce DrawAnimatedRects, jak je popsáno v sadě Windows SDK.

CWnd::DrawCaption

Nakreslí okno popis.

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

Parametry

pDC
Ukazatel na kontext zařízení. Funkce nakreslí okno popis do tohoto kontextu zařízení.

lprc
Ukazatel na RECT strukturu, která určuje ohraničující obdélník pro okno popis.

uFlags
Určuje možnosti kreslení. Úplný seznam hodnot najdete v tématu DrawCaption.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce DrawCaption, jak je popsáno v sadě Windows SDK.

CWnd::DrawMenuBar

Překreslí řádek nabídek.

void DrawMenuBar();

Poznámky

Pokud se po vytvoření okna změní řádek nabídek, zavolejte tuto funkci a nakreslete změněný řádek nabídek.

Příklad

Podívejte se na příklad pro CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Povolí uživatelem definované funkce aktivní přístupnosti.

void EnableActiveAccessibility();

Poznámky

Výchozí podpora aktivní přístupnosti mfc je dostatečná pro standardní okna a ovládací prvky, včetně technologie ActiveX ovládacích prvků. Pokud však vaše CWndodvozená třída obsahuje prvky uživatelského rozhraní, mfc o nich nemá žádný způsob, jak o nich vědět. V takovém případě musíte přepsat příslušné členské funkce aktivní přístupnosti ve třídě a musíte volat EnableActiveAccessibility konstruktor třídy.

CWnd::EnableDynamicLayout

Povolí nebo zakáže správce dynamického rozložení. Pokud je povolené dynamické rozložení, může se pozice a velikost podřízených oken dynamicky upravovat, když uživatel změní velikost okna.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parametry

bEnable
TRUE povolení dynamického rozložení; FALSE pro zakázání dynamického rozložení.

Poznámky

Pokud chcete povolit dynamické rozložení, musíte udělat více než jen volání této metody. Musíte také poskytnout informace o dynamickém rozložení, které druhují způsob reakce ovládacích prvků v okně na změny velikosti. Tyto informace můžete zadat v editoru prostředků nebo programově pro každý ovládací prvek. Viz dynamické rozložení.

CWnd::EnableD2DSupport

Povolí nebo zakáže podporu D2D okna. Tuto metodu zavolejte před inicializaci hlavního okna.

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

Parametry

bEnable
Určuje, jestli se má zapnout nebo vypnout podpora D2D.

bUseDCRenderTarget
Určuje, zda se má použít cíl CDCRenderTargetvykreslení kontextu zařízení (DC), . Pokud FALSEse použije , CHwndRenderTarget použije se.

CWnd::EnableScrollBar

Povolí nebo zakáže jednu nebo obě šipky posuvníku.

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

Parametry

nSBFlags
Určuje typ posuvníku. Může mít jednu z následujících hodnot:

  • SB_BOTH Povolí nebo zakáže šipky vodorovných a svislých posuvníků přidružených k oknem.

  • SB_HORZ Povolí nebo zakáže šipky vodorovného posuvníku přidruženého k oknem.

  • SB_VERT Povolí nebo zakáže šipky svislého posuvníku přidruženého k oknem.

nArrowFlags
Určuje, jestli jsou šipky posuvníku povolené nebo zakázané a které šipky jsou povolené nebo zakázané. Může mít jednu z následujících hodnot:

  • ESB_ENABLE_BOTH Povolí obě šipky posuvníku (výchozí).

  • ESB_DISABLE_LTUP Zakáže šipku doleva vodorovného posuvníku nebo šipku nahoru svislého posuvníku.

  • ESB_DISABLE_RTDN Zakáže šipku doprava vodorovného posuvníku nebo šipku dolů svislého posuvníku.

  • ESB_DISABLE_BOTH Zakáže obě šipky posuvníku.

Vrácená hodnota

Nenulové, pokud jsou šipky povolené nebo zakázané podle zadané hodnoty. Jinak je to 0, což znamená, že šipky jsou již v požadovaném stavu nebo že došlo k chybě.

CWnd::EnableScrollBarCtrl

Povolí nebo zakáže posuvník pro toto okno.

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

Parametry

nBar
Identifikátor posuvníku.

bEnable
Určuje, jestli má být posuvník povolený nebo zakázaný.

Poznámky

Pokud má okno ovládací prvek posuvníku na stejné straně, použije se posuvník; v opačném případě se použije vlastní posuvník okna.

CWnd::EnableToolTips

Povolí popisy nástrojů pro dané okno.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parametry

bEnable
Určuje, jestli je ovládací prvek popisku nástroje povolený nebo zakázaný. TRUE umožňuje řízení; FALSE zakáže ovládací prvek.

Vrácená hodnota

TRUE pokud jsou povoleny tipy k nástrojům; jinak FALSE.

Poznámky

Přepsání OnToolHitTest pro poskytnutí TOOLINFO struktury nebo struktur pro okno.

Poznámka

Některá okna, například CToolBar, poskytují integrovanou implementaci OnToolHitTest.

Další TOOLINFO informace o této struktuře najdete v sadě Windows SDK.

Jednoduché volání EnableToolTips nestačí k zobrazení popisů nástrojů pro podřízené ovládací prvky, pokud nadřazené okno není odvozeno z CFrameWnd. Důvodem je to, že CFrameWnd poskytuje výchozí obslužnou rutinu TTN_NEEDTEXT pro oznámení. Pokud nadřazené okno není odvozeno z CFrameWnd, to znamená, že pokud se jedná o dialogové okno nebo formulářové zobrazení, popisky pro podřízené ovládací prvky se nezobrazí správně, pokud nezadáte obslužnou rutinu pro oznámení popisku TTN_NEEDTEXT nástroje. Viz nástroj Tipy.

Výchozí popisy nástrojů poskytované pro vaše okna EnableToolTips nemají přidružený text. Chcete-li načíst text popisku, který se má zobrazit, TTN_NEEDTEXT se oznámení odešle do nadřazeného okna ovládacího prvku popisku nástroje těsně před zobrazením okna popisku. Pokud pro tuto zprávu neexistuje žádná obslužná rutina pro přiřazení určité hodnoty pszText členu TOOLTIPTEXT struktury, nezobrazí se pro popis nástroje žádný text.

Příklad

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

Povolí nebo zakáže popisy sledování.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parametry

bEnable
Určuje, jestli jsou povolené nebo zakázané tipy pro sledování nástrojů. Pokud je TRUEtento parametr, budou povoleny tipy ke sledování nástrojů. Pokud je FALSEtento parametr, popisy nástrojů pro sledování budou zakázány.

Vrácená hodnota

Označuje stav před zavolání EnableWindow členské funkce. Návratová hodnota je nenulová, pokud bylo okno dříve zakázáno. Vrácená hodnota je 0, pokud bylo okno dříve povoleno nebo došlo k chybě.

Poznámky

Tipy ke sledování nástrojů jsou okna s popisem tlačítek, která můžete dynamicky umístit na obrazovku. Díky rychlé aktualizaci pozice se zobrazí okno popisku nástroje, které se hladce přesune nebo "sleduje". Tato funkce může být užitečná, pokud potřebujete, aby text popisu nástroje sledoval pozici ukazatele při přesouvání.

CWnd::EnableWindow

Povolí nebo zakáže vstup myši a klávesnice.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parametry

bEnable
Určuje, jestli se má dané okno povolit nebo zakázat. Pokud je TRUEtento parametr , okno se povolí. Pokud je FALSEtento parametr , okno bude zakázáno.

Vrácená hodnota

Označuje stav před zavolání EnableWindow členské funkce. Návratová hodnota je nenulová, pokud bylo okno dříve zakázáno. Vrácená hodnota je 0, pokud bylo okno dříve povoleno nebo došlo k chybě.

Poznámky

Pokud je vstup zakázán, je ignorován vstup, jako jsou kliknutí myší a stisknutí kláves. Když je vstup povolený, okno zpracuje všechny vstupy.

Pokud se povolený stav mění, WM_ENABLE zpráva se odešle před vrácením této funkce.

Pokud jsou zakázaná, jsou všechna podřízená okna implicitně zakázaná, i když se neodesílají WM_ENABLE zprávy.

Před aktivací musí být okno povoleno. Pokud například aplikace zobrazuje bezmodální dialogové okno a zakázala jeho hlavní okno, musí být hlavní okno povoleno před zničením dialogového okna. V opačném případě se fokus vstupu zobrazí v jiném okně a aktivuje se. Pokud je podřízené okno zakázané, bude ignorováno, když se Systém Windows pokusí určit, které okno má dostávat zprávy myši.

Ve výchozím nastavení je okno při vytváření povolené. Aplikace může určit WS_DISABLED styl ve Create funkci nebo CreateEx člena a vytvořit okno, které je původně zakázáno. Po vytvoření okna může aplikace také pomocí EnableWindow členské funkce okno povolit nebo zakázat.

Aplikace může tuto funkci použít k povolení nebo zakázání ovládacího prvku v dialogovém okně. Zakázaný ovládací prvek nemůže získat vstupní fokus ani k němu uživatel nemá přístup.

Příklad

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

Ukončí volání .RunModalLoop

virtual void EndModalLoop(int nResult);

Parametry

nResult
Obsahuje hodnotu, která má být vrácena volajícímu RunModalLoop.

Poznámky

Parametr nResult se rozšíří do návratové hodnoty z RunModalLoop.

CWnd::EndModalState

Voláním této členské funkce změníte okno rámce z modální na bezmodální.

virtual void EndModalState();

CWnd::EndPaint

Označí konec malování v daném okně.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parametry

lpPaint
Odkazuje na PAINTSTRUCT strukturu, která obsahuje informace o obrazu načtené členskou BeginPaint funkcí.

Poznámky

Členské EndPaint funkce je vyžadována pro každé volání BeginPaint členské funkce, ale teprve po dokončení malování.

Pokud byla stříška skryta BeginPaint členkou funkce, EndPaint obnoví stříšku na obrazovku.

Příklad

Podívejte se na příklad pro CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Inicializuje prostředek dialogového okna.

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

Parametry

lpszResourceName
Ukazatel na řetězec ukončený hodnotou null určující název prostředku.

lpResource
Ukazatel na prostředek.

Vrácená hodnota

TRUE pokud je proveden prostředek dialogového okna; jinak FALSE.

Poznámky

ExecuteDlgInit bude používat prostředky vázané na spuštěný modul nebo prostředky z jiných zdrojů. Chcete-li toho dosáhnout, ExecuteDlgInit najde popisovač prostředku voláním AfxFindResourceHandle. Pokud vaše aplikace MFC nepoužívá sdílenou knihovnu DLL (MFCx0[U][D].DLL), AfxFindResourceHandle volání AfxGetResourceHandle, která vrátí aktuální popisovač prostředku pro spustitelný soubor. Pokud vaše aplikace MFC, která používá MFCx0[U][D].DLL, AfxFindResourceHandle prochází CDynLinkLibrary seznam objektů sdílených a rozšiřujících knihoven DLL MFC a hledá správný popisovač prostředků.

CWnd::FilterToolTipMessage

Volá se rozhraním pro zobrazení zpráv popisů tlačítek.

void FilterToolTipMessage(MSG* pMsg);

Parametry

pMsg
Ukazatel na zprávu popisku nástroje.

Poznámky

Ve většině aplikací MFC tato metoda je volána architekturou z PreTranslateMessage a EnableToolTips, a nemusíte ji volat sami.

V některých aplikacích, například některé technologie ActiveX ovládací prvky, tyto metody nemusí být vyvolány architekturou a budete muset volat FilterToolTipMessage sami sebe. Další informace naleznete v tématu Metody vytváření nástrojů Tipy.

CWnd::FindWindow

Vrátí nejvyšší úroveň CWnd , jejíž třída okna je uvedena lpszClassName a jehož název okna nebo název je dán lpszWindowName.

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

Parametry

lpszClassName
Odkazuje na řetězec ukončený hodnotou null, který určuje název třídy okna ( WNDCLASS strukturu). Pokud lpClassName ano NULL, odpovídají všechny názvy tříd.

lpszWindowName
Odkazuje na řetězec ukončený hodnotou null, který určuje název okna (název okna). Pokud lpWindowName ano NULL, všechny názvy oken se shodují.

Vrácená hodnota

Identifikuje okno se zadaným názvem třídy a názvem okna. NULL Není-li nalezeno žádné takové okno.

CWnd* může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Tato funkce nehledává podřízená okna.

Příklad

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

Načte objekt okna, jehož název třídy a název okna odpovídají zadaným řetězcům.

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

Parametry

hwndParent
Popisovač nadřazeného okna, jehož podřízená okna se mají prohledávat.

hwndChildAfter
Popisovač podřízeného okna Hledání začíná dalším podřízeným oknem v pořadí Z. Podřízené okno musí být přímým podřízeným oknem hwndParent, nikoli pouze potomkem.

lpszClass
Ukazatel na řetězec ukončený hodnotou null, který určuje název třídy nebo atom třídy vytvořený předchozím voláním nebo RegisterClassRegisterClassEx.

lpszWindow
Ukazatel na řetězec ukončený hodnotou null, který určuje název okna (název okna). Pokud je NULLtento parametr, všechny názvy oken se shodují.

Vrácená hodnota

Pokud je funkce úspěšná, návratová hodnota je ukazatel na objekt okna se zadanými názvy tříd a oken. Pokud funkce selže, návratová hodnota je NULL.

Poznámky

Tato členová funkce emuluje funkce funkce FindWindowEx, jak je popsáno v sadě Windows SDK.

CWnd::FlashWindow

Jednou problikne dané okno.

BOOL FlashWindow(BOOL bInvert);

Parametry

bInvert
Určuje, zda CWnd má být blikající nebo vrácen do původního stavu. Je CWnd blikající z jednoho stavu na druhý, pokud bInvert je TRUE. Pokud bInvert ano FALSE, vrátí se okno do původního stavu (aktivní nebo neaktivní).

Vrácená hodnota

Nenulové, pokud bylo okno aktivní před voláním FlashWindow členské funkce; jinak 0.

Poznámky

Pro následné blikání vytvořte systémový časovač a opakovaně volejte FlashWindow. Blikající CWnd prostředky mění vzhled záhlaví, jako by CWnd se měnily z neaktivního na aktivní stav nebo naopak. (Neaktivní záhlaví se změní na aktivní záhlaví; aktivní záhlaví se změní na neaktivní záhlaví.)

Obvykle se okno bliká, aby uživatele informovalo, že vyžaduje pozornost, ale že aktuálně nemá vstupní fokus.

Parametr by měl být FALSE pouze v případě, že okno získává fokus vstupu a už nebude blikat. Mělo bInvert by se TRUE jednat o následná volání při čekání na získání vstupního fokusu.

Tato funkce vždy vrací nenulové pro minimalizovaná okna. Pokud je okno minimalizované, FlashWindow bliká na ikonu okna. bInvert Pro minimalizovaná okna se ignoruje.

Příklad

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

Bliká na dané okno.

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

Parametry

*dwFlags*
Určuje stav blesku. Úplný seznam hodnot najdete ve struktuře FLASHWINFO .

uCount
Určuje, kolikrát má okno blikat.

dwTimeout
Určuje rychlost v milisekundách, při které bude okno bliknuto. Pokud dwTimeout je nula, funkce použije výchozí rychlost bliká kurzoru.

Vrácená hodnota

Vrácená hodnota určuje stav okna před voláním FlashWindowEx funkce. Pokud bylo okno popis před voláním nakresleno jako aktivní, je návratová hodnota nenulová. V opačném případě je vrácená hodnota nula.

Poznámky

Tato metoda emuluje funkce funkce FlashWindowEx, jak je popsáno v sadě Windows SDK.

CWnd::FromHandle

Vrátí ukazatel na CWnd objekt při zadání úchytu do okna. CWnd Pokud objekt není připojený k popisovači, vytvoří se dočasný CWnd objekt a připojí se.

static CWnd* PASCAL FromHandle(HWND hWnd);

Parametry

hWnd
Okno HWND Windows

Vrácená hodnota

Vrátí ukazatel na CWnd objekt při zadání úchytu do okna. CWnd Pokud objekt není připojený k popisovači, vytvoří se dočasný CWnd objekt a připojí se.

Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

CWnd::FromHandlePermanent

Vrátí ukazatel na CWnd objekt při zadání úchytu do okna.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parametry

hWnd
Okno HWND Windows

Vrácená hodnota

Ukazatel na CWnd objekt.

Poznámky

CWnd Pokud objekt není připojený k popisovači, NULL vrátí se.

Tato funkce na rozdíl od FromHandlefunkce nevytvoří dočasné objekty.

CWnd::get_accChild

Volal rozhraní pro načtení adresy IDispatch rozhraní pro zadané podřízené.

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

Parametry

varChild
Identifikuje podřízenou, jejíž IDispatch rozhraní se má načíst.

ppdispChild
Přijme adresu rozhraní podřízeného objektu IDispatch .

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accChild sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accChild v sadě Windows SDK.

CWnd::get_accChildCount

Volá se rozhraním k načtení počtu podřízených objektů patřících tomuto objektu.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parametry

pcountChildren
Přijme počet podřízených položek.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accChildCount sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává). Zavolejte verzi základní třídy a přidejte podřízené elementy, které nejsouwindowed.

Další informace najdete IAccessible::get_accChildCount v sadě Windows SDK.

CWnd::get_accDefaultAction

Volá se rozhraním pro načtení řetězce, který popisuje výchozí akci objektu.

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

Parametry

varChild
Určuje, zda je výchozí akce, která má být načtena, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszDefaultAction
Adresa objektu BSTR , který obdrží lokalizovaný řetězec popisující výchozí akci pro zadaný objekt, nebo NULL pokud tento objekt nemá žádnou výchozí akci.

Vrácená hodnota

Vrátí S_OK při úspěchu, kód chyby modelu COM při selhání. Viz Návratové hodnoty nepřístupné ::get_accDefaultAction v sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci v CWndodvozené třídě přepište, abyste popsali výchozí akci objektu.

Další informace najdete IAccessible::get_accDefaultAction v sadě Windows SDK.

CWnd::get_accDescription

Volá se podle architektury k načtení řetězce, který popisuje vizuální vzhled zadaného objektu.

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

Parametry

varChild
Určuje, zda popis, který se má načíst, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszDescription
Adresa objektu BSTR , který obdrží lokalizovaný řetězec popisující zadaný objekt, nebo NULL pokud není pro tento objekt k dispozici žádný popis.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accDescription sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Přepište tuto funkci ve své CWnd-odvozené třídě popis objektu. Zavolejte verzi základní třídy a přidejte popis.

Další informace najdete IAccessible::get_accDescription v sadě Windows SDK.

CWnd::get_accFocus

Volá se rozhraním pro načtení objektu, který má fokus klávesnice.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Parametry

pvarChild
Přijímá informace o objektu, který má fokus. Viz pvarID v IAccessible::get_accFocus sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accFocus sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accFocus v sadě Windows SDK.

CWnd::get_accHelp

Volá se rozhraním pro načtení řetězce vlastnosti nápovědy objektu.

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

Parametry

varChild
Určuje, zda informace nápovědy, které mají být načteny, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszHelp
BSTR Adresa objektu, který obdrží lokalizovaný řetězec obsahující informace nápovědy pro zadaný objekt, nebo NULL pokud nejsou k dispozici žádné informace nápovědy.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accHelp sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Přepište tuto funkci ve své CWnd-odvozené třídě, aby poskytla text nápovědy pro objekt.

Další informace najdete IAccessible::get_accHelp v sadě Windows SDK.

CWnd::get_accHelpTopic

Volá se rozhraním pro načtení úplné cesty k souboru WinHelp přidruženého k zadanému objektu a identifikátoru příslušného tématu v daném souboru.

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

Parametry

pszHelpFile
Adresa objektu BSTR , který obdrží úplnou cestu WinHelp k souboru přidruženému k zadanému objektu, pokud existuje.

varChild
Určuje, zda téma nápovědy, které se má načíst, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (k získání tématu nápovědy pro objekt) nebo podřízeného ID (k získání tématu nápovědy pro některý z podřízených prvků objektu).

pidTopic
Identifikuje téma souboru nápovědy přidružené k zadanému objektu. Viz pidTopic v IAccessible::get_accHelpTopic sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accHelpTopic sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci v CWndodvozené třídě přepište, aby poskytovala informace o objektu nápovědy.

Další informace najdete IAccessible::get_accHelpTopic v sadě Windows SDK.

CWnd::get_accKeyboardShortcut

Volá se rozhraním pro načtení klávesové zkratky nebo přístupové klávesy zadaného objektu.

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

Parametry

varChild
Určuje, zda je klávesová zkratka, která se má načíst, objektem nebo jedním z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszKeyboardShortcut
BSTR Adresa objektu, který obdrží lokalizovaný řetězec identifikující klávesovou zkratku, nebo NULL pokud není k zadanému objektu přidružená žádná klávesová zkratka.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accKeyboardShortcut sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory mfc Active Accessibility .

Tuto funkci v CWndodvozené třídě přepište, abyste identifikovali klávesovou zkratku objektu.

Další informace najdete IAccessible::get_accKeyboardShortcut v sadě Windows SDK.

CWnd::get_accName

Volá se rozhraním pro načtení názvu zadaného objektu.

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

Parametry

varChild
Určuje, zda má být načten název objektu nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszName
Adresa objektu BSTR , který obdrží řetězec obsahující název zadaného objektu.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accName sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci v CWndodvozené třídě přepište tak, aby vrátila název objektu.

Další informace najdete IAccessible::get_accName v sadě Windows SDK.

CWnd::get_accParent

Volá se rozhraní IDispatch nadřazeného objektu.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Parametry

ppdispParent
Přijme adresu rozhraní nadřazeného objektu IDispatch . Proměnná je nastavená na NULL , pokud neexistuje žádná nadřazená položka nebo pokud podřízená položka nemá přístup k nadřazené pomůcek.

Vrácená hodnota

Vrátí se S_OK při úspěchu, COM kód chyby při selhání. Viz návratové hodnoty v IAccessible::get_accParent sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Ve většině případů nemusíte tuto funkci přepsat.

Další informace najdete IAccessible::get_accParent v sadě Windows SDK.

CWnd::get_accRole

Volá se rozhraním pro načtení informací, které popisují roli zadaného objektu.

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

Parametry

varChild
Určuje, zda informace role, které mají být načteny, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pvarRole
Obdrží informace o roli. Viz pvarRole v IAccessible::get_accRole sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accRole sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accRole v sadě Windows SDK.

CWnd::get_accSelection

Volá se rozhraním pro načtení vybraných podřízených objektů tohoto objektu.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parametry

pvarChildren
Obdrží informace o tom, které podřízené položky jsou vybrány. Viz pvarChildren v IAccessible::get_accSelection sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK při úspěchu, kód chyby modelu COM při selhání. Viz návratové hodnoty v IAccessible::get_accSelection sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accSelection v sadě Windows SDK.

CWnd::get_accState

Volá se rozhraním pro načtení aktuálního stavu zadaného objektu.

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

Parametry

varChild
Určuje, zda informace o stavu, které mají být načteny, je objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pvarState
Přijímá informace o stavu objektu. Viz pvarState v IAccessible::get_accState sadě Windows SDK.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accState sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accState v sadě Windows SDK.

CWnd::get_accValue

Volá se rozhraním pro načtení hodnoty zadaného objektu.

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

Parametry

varChild
Určuje, zda informace o hodnotě, které mají být načteny, jsou objekt nebo jeden z podřízených prvků objektu. Tento parametr může být buď CHILDID_SELF (pro získání informací o objektu) nebo podřízené ID (k získání informací o podřízené elementu objektu).

pszValue
BSTR Adresa příjemce lokalizovaného řetězce obsahujícího aktuální hodnotu objektu.

Vrácená hodnota

Vrátí S_OK kód chyby MODELU COM při selhání. Viz návratové hodnoty v IAccessible::get_accValue sadě Windows SDK.

Poznámky

Tato funkce je součástí podpory aktivní přístupnosti mfc.

Tuto funkci přepište ve své CWnd-odvozené třídě, pokud máte newindowed prvky uživatelského rozhraní (jiné než windowless technologie ActiveX ovládací prvky, které MFC zpracovává).

Další informace najdete IAccessible::get_accValue v sadě Windows SDK.

CWnd::GetActiveWindow

Načte ukazatel na aktivní okno.

static CWnd* PASCAL GetActiveWindow();

Vrácená hodnota

Aktivní okno nebo NULL pokud v době volání nebylo aktivní žádné okno. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Aktivní okno je buď okno, které má aktuální vstupní fokus, nebo okno explicitně aktivované členkou SetActiveWindow funkce.

CWnd::GetAncestor

Načte objekt nadřazeného okna zadaného okna.

CWnd* GetAncestor(UINT gaFlags) const;

Parametry

gaFlags
Určuje nadřazeného předka, který se má načíst. Úplný seznam možných hodnot najdete v tématu GetAncestor.

Vrácená hodnota

Pokud je funkce úspěšná, návratová hodnota je ukazatel na objekt nadřazeného okna. Pokud funkce selže, návratová hodnota je NULL.

Poznámky

Tato členová funkce emuluje funkce funkce GetAncestor, jak je popsáno v sadě Windows SDK.

CWnd::GetCapture

Načte okno s zachycením myši.

static CWnd* PASCAL GetCapture();

Vrácená hodnota

Identifikuje okno s zachycením myši. Pokud okno neobsahuje zachytávání myši, je NULL to v případě, že žádné okno neobsahuje.

Návratová hodnota může být dočasná a neměla by být uložena pro pozdější použití.

Poznámky

Zachytávání myší má v každém okamžiku pouze jedno okno. Okno obdrží zachytávání myši při zavolání SetCapture členské funkce. Toto okno přijímá vstup myši bez ohledu na to, jestli je kurzor uvnitř jeho ohraničení.

CWnd::GetCaretPos

Načte souřadnice klienta aktuální pozice kurzoru a vrátí je jako CPoint.

static CPoint PASCAL GetCaretPos();

Vrácená hodnota

CPoint objekt obsahující souřadnice pozice kurzoru.

Poznámky

Pozice kurzoru je uvedena v souřadnicích CWnd klienta okna.

CWnd::GetCheckedRadioButton

Načte ID aktuálně kontrolovaného přepínače v zadané skupině.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parametry

nIDFirstButton
Určuje celočíselnou identifikátor prvního přepínače ve skupině.

nIDLastButton
Určuje celočíselnou identifikátor posledního přepínače ve skupině.

Vrácená hodnota

ID zaškrtnutého přepínače nebo 0, pokud není vybrán žádný.

CWnd::GetClientRect

Zkopíruje souřadnice CWnd klienta oblasti klienta do struktury, na kterou lpRectodkazuje .

void GetClientRect(LPRECT lpRect) const;

Parametry

lpRect
Odkazuje na strukturu nebo CRect objekt pro RECT příjem souřadnic klienta. top Členové left budou 0. bottom Členové right budou obsahovat šířku a výšku okna.

Poznámky

Souřadnice klienta určují levé horní a pravé dolní rohy klientské oblasti. Vzhledem k tomu, že souřadnice klienta jsou relativní vzhledem k levému hornímu rohu CWnd klientské oblasti, souřadnice levého horního rohu jsou (0,0).

Příklad

Podívejte se na příklad pro CWnd::IsIconic.

CWnd::GetClipboardOwner

Načte aktuálního vlastníka schránky.

static CWnd* PASCAL GetClipboardOwner();

Vrácená hodnota

Identifikuje okno, které vlastní schránku, pokud je funkce úspěšná. Jinak je NULLto .

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Schránka může stále obsahovat data, i když aktuálně nepatří.

CWnd::GetClipboardViewer

Načte první okno v řetězu prohlížeče schránky.

static CWnd* PASCAL GetClipboardViewer();

Vrácená hodnota

Identifikuje okno, které je aktuálně zodpovědné za zobrazení schránky v případě úspěchu; jinak NULL (například pokud neexistuje žádný prohlížeč).

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

CWnd::GetControlUnknown

Voláním této členské funkce načtěte ukazatel na neznámý ovládací prvek OLE.

LPUNKNOWN GetControlUnknown();

Vrácená hodnota

Ukazatel na IUnknown rozhraní ovládacího prvku OLE reprezentovaný tímto CWnd objektem. Pokud tento objekt nepředstavuje ovládací prvek OLE, návratová hodnota je NULL.

Poznámky

Tento ukazatel byste neměli uvolnit IUnknown . Obvykle byste použili k získání konkrétního rozhraní ovládacího prvku.

Ukazatel rozhraní vrácený GetControlUnknown není počítána odkazem. Nezavolejte IUnknown::Release ukazatel, pokud jste ho předtím nevolali IUnknown::AddRef .

Příklad

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

Vrátí ukazatel na zprávu, která právě zpracovává toto okno. Měla by být volána pouze v případě, že je v členské funkci obslužné rutiny zprávy zprávy.

static const MSG* PASCAL GetCurrentMessage();

Vrácená hodnota

Vrátí ukazatel na MSG strukturu, která obsahuje zprávu, která okno právě zpracovává. Měla by být volána pouze v případě, že je v obslužné rutině zprávy.

Příklad

Podívejte se na příklad pro CMDIFrameWnd::MDICascade.

CWnd::GetDC

Načte ukazatel na běžný kontext, třídu nebo privátního zařízení pro oblast klienta v závislosti na stylu třídy určeném CWndpro objekt .

CDC* GetDC();

Vrácená hodnota

V případě úspěchu identifikuje kontext zařízení pro CWnd klientskou oblast. V opačném případě je NULLvrácená hodnota . Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

U běžných kontextů GetDC zařízení přiřazuje kontext při každém načtení výchozí atributy. U tříd a privátních kontextů GetDC ponechá dříve přiřazené atributy beze změny. Kontext zařízení lze použít v následných funkcích rozhraní grafického zařízení (GDI) k vykreslení v klientské oblasti.

Pokud kontext zařízení nepatří do třídy okna, musí být volána členská funkce, ReleaseDC aby po malování uvolnila kontext.

Kontext zařízení patřící do CWnd třídy je vrácen GetDC členské funkce, pokud CS_CLASSDC, CS_OWNDCnebo CS_PARENTDC byl zadán jako styl ve WNDCLASS struktuře při registraci třídy.

CWnd::GetDCEx

Načte popisovač kontextu zařízení pro CWnd okno.

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

Parametry

prgnClip
Identifikuje oblast výřezu, která se může kombinovat s viditelnou oblastí okna klienta.

flags
Může mít jednu z následujících přednastavených hodnot:

  • DCX_CACHEVrátí kontext zařízení z mezipaměti, nikoli z OWNDC okna.CLASSDC Přepsání CS_OWNDC a CS_CLASSDC.

  • DCX_CLIPCHILDREN Vyloučí viditelné oblasti všech podřízených oken pod CWnd oknem.

  • DCX_CLIPSIBLINGS Vyloučí viditelné oblasti všech oken na CWnd stejné straně nad oknem.

  • DCX_EXCLUDERGN Vyloučí oblast výřezu identifikovanou prgnClip z viditelné oblasti vráceného kontextu zařízení.

  • DCX_INTERSECTRGN Protíná oblast výřezu identifikovaná prgnClip v rámci viditelné oblasti vráceného kontextu zařízení.

  • DCX_LOCKWINDOWUPDATE Umožňuje kreslení i v případě, že existuje LockWindowUpdate volání, které by jinak toto okno vyloučilo. Tato hodnota se používá pro kreslení během sledování.

  • DCX_PARENTCLIPPoužívá viditelnou oblast nadřazeného okna a ignoruje bity a WS_PARENTDC styl nadřazeného oknaWS_CLIPCHILDREN. Tato hodnota nastaví původ kontextu zařízení do levého horního CWnd rohu okna.

  • DCX_WINDOW Vrátí kontext zařízení, který odpovídá obdélníku okna místo obdélníku klienta.

Vrácená hodnota

Kontext zařízení pro zadané okno, pokud je funkce úspěšná; jinak NULL.

Poznámky

Kontext zařízení lze použít v dalších funkcích GDI k vykreslení v klientské oblasti.

Tato funkce, což je rozšíření GetDC funkce, poskytuje aplikaci větší kontrolu nad tím, jak a zda je oříznut kontext zařízení pro okno.

Pokud kontext zařízení nepatří do třídy okna, musí být funkce volána k ReleaseDC uvolnění kontextu po výkresu. Vzhledem k tomu, že v daném okamžiku je k dispozici pouze pět běžných kontextů zařízení, může selhání uvolnění kontextu zařízení zabránit ostatním aplikacím v získání přístupu k kontextu zařízení.

Chcete-li získat kontext zařízení v mezipaměti, musí aplikace zadat DCX_CACHE. Pokud není zadán DCX_CACHE a okno není CS_OWNDC ani CS_CLASSDC, vrátí tato funkce NULL.

Kontext zařízení se zvláštními vlastnostmi GetDCEx je vrácen funkcí, pokud CS_CLASSDCbyla CS_OWNDCv struktuře zadána , nebo CS_PARENTDC styl při WNDCLASS registraci třídy.

Další informace o těchto vlastnostech naleznete v popisu WNDCLASS struktury v sadě Windows SDK.

CWnd::GetDCRenderTarget

Načte cíl vykreslení kontextu zařízení (DC) pro CWnd okno.

CDCRenderTarget* GetDCRenderTarget();

Vrácená hodnota

Cíl vykreslení kontextu zařízení pro zadané okno, pokud je funkce úspěšná; jinak NULL.

Poznámky

CWnd::GetDescendantWindow

Voláním této členské funkce vyhledáte potomkové okno určené daným ID.

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

Parametry

nID
Určuje identifikátor ovládacího prvku nebo podřízeného okna, které se má načíst.

bOnlyPerm
Určuje, jestli může být okno, které se má vrátit, dočasné. Pokud TRUElze vrátit pouze trvalé okno; pokud FALSEfunkce může vrátit dočasné okno. Další informace o dočasných oknech naleznete v technické poznámce 3.

Vrácená hodnota

Ukazatel na CWnd objekt nebo NULL pokud se nenajde žádné podřízené okno.

Poznámky

Tato členová funkce prohledává celý strom podřízených oken, nejen okna, která jsou okamžitě podřízená.

CWnd::GetDesktopWindow

Vrátí okno plochy Windows.

static CWnd* PASCAL GetDesktopWindow();

Vrácená hodnota

Identifikuje okno plochy Systému Windows. Tento ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Okno plochy pokrývá celou obrazovku a je oblast, nad kterou jsou malovány všechny ikony a další okna.

CWnd::GetDlgCtrlID

Vrátí hodnotu ID okna nebo ovládacího prvku pro jakékoli podřízené okno, nikoli pouze hodnotu ovládacího prvku v dialogovém okně.

int GetDlgCtrlID() const;

Vrácená hodnota

Číselný identifikátor podřízeného CWnd okna, pokud je funkce úspěšná, jinak 0.

Poznámky

Vzhledem k tomu, že okna nejvyšší úrovně nemají hodnotu ID, návratová hodnota této funkce je neplatná, pokud CWnd se jedná o okno nejvyšší úrovně.

Příklad

Podívejte se na příklad pro CWnd::OnCtlColor.

CWnd::GetDlgItem

Načte ukazatel na zadaný ovládací prvek nebo podřízené okno v dialogovém okně nebo jiném okně.

CWnd* GetDlgItem(int nID) const;

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

Parametry

nID
Určuje identifikátor ovládacího prvku nebo podřízeného okna, které se má načíst.

phWnd
Ukazatel na podřízené okno.

Vrácená hodnota

Ukazatel na daný ovládací prvek nebo podřízené okno. Pokud neexistuje žádný ovládací prvek s ID celého čísla zadaného parametrem nID , hodnota je NULL.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Vrácený ukazatel je obvykle přetypován na typ ovládacího prvku identifikovaný nID.

Příklad

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

CWnd::GetDlgItemInt

Načte text ovládacího prvku identifikovaného uživatelem nID.

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

Parametry

nID
Určuje celočíselnou identifikátor ovládacího prvku dialogového okna, který se má přeložit.

lpTrans
Odkazuje na logickou proměnnou, která přijímá přeložený příznak.

bSigned
Určuje, jestli je hodnota, která se má načíst, podepsaná.

Vrácená hodnota

Určuje přeloženou hodnotu textu položky dialogového okna. Vzhledem k tomu, že hodnota 0 je platná návratová hodnota, lpTrans je nutné ji použít ke zjišťování chyb. Pokud je požadovaná návratová hodnota se signedem, přetypujte ji jako int typ.

Funkce vrátí hodnotu 0, pokud je přeložené číslo větší než INT_MAX (pro čísla se znaménky) nebo UINT_MAX (pro nepodepsané číslo).

Pokud dojde k chybám, například dochází k nečíselným znakům a překročení výše uvedeného maxima, GetDlgItemInt zkopíruje 0 do umístění, na které lpTransodkazuje . Pokud nedojde k žádným chybám, lpTrans zobrazí se nenulová hodnota. Pokud lpTrans je , GetDlgItemIntNULLnezobrazí upozornění na chyby.

Poznámky

Přeloží text zadaného ovládacího prvku v daném dialogovém okně na celočíselnou hodnotu tak, že odstraní všechny nadbytečné mezery na začátku textu a převede desítkové číslice. Překlad se zastaví, když dosáhne konce textu nebo narazí na jakýkoli nečíselný znak.

Pokud bSigned ano TRUE, GetDlgItemInt vyhledá na začátku textu znaménko minus (-) a přeloží text na číslo se znaménkem. V opačném případě vytvoří nepodepsanou hodnotu.

WM_GETTEXT Odešle do ovládacího prvku zprávu.

CWnd::GetDlgItemText

Voláním této členské funkce načtěte název nebo text přidružený k ovládacímu prvku v dialogovém okně.

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

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

Parametry

nID
Určuje celočíselnou identifikátor ovládacího prvku, jehož název se má načíst.

lpStr
Odkazuje na vyrovnávací paměť pro příjem názvu nebo textu ovládacího prvku.

nMaxCount
Určuje maximální délku (v znaky) řetězce, do lpStrkteré se má zkopírovat . Pokud je řetězec delší než nMaxCount, zkrátí se.

rString
Odkaz na .CString

Vrácená hodnota

Určuje skutečný počet znaků zkopírovaných do vyrovnávací paměti, nikoli ukončující znak null. Hodnota je 0, pokud se nezkopíruje žádný text.

Poznámky

Členová GetDlgItemText funkce zkopíruje text do umístění, na které lpStr odkazuje, a vrátí počet bajtů, na které kopíruje.

CWnd::GetDSCCursor

Voláním této členské funkce načte ukazatel na základní kurzor, který je definován vlastnostmi DataSource, PasswordUserName, a SQL ovládacího prvku zdroje dat.

IUnknown* GetDSCCursor();

Vrácená hodnota

Ukazatel na kurzor, který je definován ovládacím prvek zdroje dat. MFC se postará o volání AddRef ukazatele.

Poznámky

Vrácený ukazatel slouží k nastavení ICursor vlastnosti komplexního ovládacího prvku vázaného na data, například ovládacího prvku mřížky vázaného na data. Ovládací prvek zdroje dat nebude aktivní, dokud první vázaný ovládací prvek požádá o kurzor. K tomu může dojít buď explicitně voláním GetDSCCursor , nebo implicitně správcem vazeb MFC. V obou případech můžete vynutit, aby se ovládací prvek zdroje dat stal aktivní voláním GetDSCCursor a následným voláním Release vráceného ukazatele na IUnknown. Aktivace způsobí, že se ovládací prvek zdroje dat pokusí připojit k podkladovému zdroji dat. Vrácený ukazatel se může použít v následujícím kontextu:

Příklad

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

Načte ukazatel na objekt správce dynamického rozložení.

CMFCDynamicLayout* GetDynamicLayout();

Vrácená hodnota

Ukazatel na objekt správce dynamického rozložení nebo NULL pokud dynamické rozložení není povolené.

Poznámky

Objekt okna vlastní a spravuje životnost vráceného ukazatele, takže by měl být použit pouze pro přístup k objektu; neodstraňovat ukazatel ani trvale neukládejte ukazatel.

CWnd::GetExStyle

Vrátí rozšířený styl okna.

DWORD GetExStyle() const;

Vrácená hodnota

Rozšířený styl okna. Další informace o rozšířených stylech oken používaných v prostředí MFC naleznete v tématu Rozšířené styly oken.

CWnd::GetFocus

Načte ukazatel na CWnd aktuálně zadaný fokus.

static CWnd* PASCAL GetFocus();

Vrácená hodnota

Ukazatel na okno, které má aktuální fokus, nebo NULL pokud žádné okno fokusu není.

Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

CWnd::GetFont

WM_GETFONT Odešle zprávu do okna a načte aktuální písmo.

CFont* GetFont() const;

Vrácená hodnota

Ukazatel na CFont objekt, který je připojen k aktuálnímu písmu okna.

Poznámky

Tato metoda nemá žádný vliv, pokud okno nezisekuje WM_GETFONT zprávu. Mnoho tříd MFC odvozených z CWnd procesu této zprávy, protože jsou připojeny k předdefinované třídě okna, která obsahuje obslužnou rutinu zprávy pro WM_GETFONT zprávu. Chcete-li použít tuto metodu, třídy odvozené z CWnd musí definovat obslužnou rutinu WM_GETFONT metody pro zprávu.

CWnd::GetForegroundWindow

Vrátí ukazatel na okno popředí (okno, se kterým právě pracuje uživatel).

static CWnd* PASCAL GetForegroundWindow();

Vrácená hodnota

Ukazatel na okno popředí. Může se jednat o dočasný CWnd objekt.

Poznámky

Okno popředí platí pouze pro okna nejvyšší úrovně (okna s rámečkem nebo dialogová okna).

CWnd::GetIcon

Voláním této členské funkce získáte úchyt na velký (32x32) nebo úchyt na malou ikonu (16 × 16), jak je uvedeno bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parametry

bBigIcon
Určuje ikonu 32 pixelů o 32 pixelů, pokud TRUE; určuje ikonu 16 pixelů o 16 pixelů, pokud FALSE.

Vrácená hodnota

Úchyt ikony. V případě neúspěchu vrátí hodnotu NULL.

CWnd::GetLastActivePopup

Určuje, které automaticky otevírané okno vlastněné CWnd naposledy aktivní.

CWnd* GetLastActivePopup() const;

Vrácená hodnota

Identifikuje naposledy aktivní automaticky otevírané okno. Vrácená hodnota bude samotné okno, pokud jsou splněny některé z následujících podmínek:

  • Samotné okno bylo naposledy aktivní.

  • Okno nemá žádná automaticky otevíraná okna.

  • Okno není okno nejvyšší úrovně nebo je vlastněno jiným oknem.

Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Příklad

Podívejte se na příklad pro CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Načte barevný klíč neprůhlednosti a průhlednosti vrstveného okna.

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

Parametry

pcrKey
Ukazatel na COLORREF hodnotu, která obdrží barevný klíč průhlednosti, který se má použít při vytváření vrstveného okna. Všechny pixely malované oknem v této barvě budou průhledné. To může být NULL v případě, že argument není potřeba.

pbAlpha
Ukazatel na hodnotu BYTE Alfa, která obdrží hodnotu Alfa, která popisuje neprůhlednost vrstveného okna. Pokud je proměnná odkazovaná na pbAlpha hodnotu 0, okno je zcela transparentní. Pokud je proměnná odkazovaná na pbAlpha hodnotu 255, okno je neprůzné. To může být NULL v případě, že argument není potřeba.

pdwFlags
Ukazatel na příznak DWORD vrstvení. To může být NULL v případě, že argument není potřeba. Úplný seznam možných hodnot najdete v tématu GetLayeredWindowAttributes.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce GetLayeredWindowAttributes, jak je popsáno v sadě Windows SDK.

CWnd::GetMenu

Načte ukazatel na nabídku pro toto okno.

CMenu* GetMenu() const;

Vrácená hodnota

Identifikuje nabídku. Hodnota je NULL , pokud CWnd nemá žádnou nabídku. Vrácená hodnota není definována, pokud CWnd je podřízené okno.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Tato funkce by neměla být použita pro podřízená okna, protože nemají nabídku.

Příklad

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

Načte informace o zadaném řádku nabídek.

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

Parametry

idObject
Určuje objekt nabídky. Seznam možných hodnot najdete v tématu GetMenuBarInfo.

idItem
Určuje položku, pro kterou se mají načíst informace. Pokud je tento parametr nula, funkce načte informace o samotné nabídce. Pokud je tento parametr 1, funkce načte informace o první položce v nabídce atd.

pmbi
Ukazatel na MENUBARINFO strukturu, která přijímá informace.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce GetMenuBarInfo, jak je popsáno v sadě Windows SDK.

CWnd::GetNextDlgGroupItem

Vyhledá předchozí nebo další ovládací prvek ve skupině ovládacích prvků v dialogovém okně.

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

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

Parametry

pWndCtl
Identifikuje ovládací prvek, který se má použít jako výchozí bod hledání.

bPrevious
Určuje, jak má funkce prohledávat skupinu ovládacích prvků v dialogovém okně. Pokud TRUEfunkce vyhledá předchozí ovládací prvek ve skupině; pokud FALSEvyhledá další ovládací prvek ve skupině.

pCurSiteOrWnd
Identifikuje COleControlSiteOrWnd ovládací prvek. Další informace o COleControlSiteOrWndaplikaci naleznete v tématu Poznámky.

Vrácená hodnota

Ukazatel na předchozí nebo další ovládací prvek ve skupině, pokud je členová funkce úspěšná.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Skupina ovládacích prvků začíná ovládacím prvkům vytvořeným stylem WS_GROUP a končí posledním ovládacím prvku, který nebyl vytvořen stylem WS_GROUP .

Ve výchozím nastavení GetNextDlgGroupItem vrátí členová funkce ukazatel na další ovládací prvek ve skupině. Pokud pWndCtl identifikuje první ovládací prvek ve skupině a bPrevious je TRUE, GetNextDlgGroupItem vrátí ukazatel na poslední ovládací prvek ve skupině.

Poznámka

Vzhledem k tomu, že mfc podporuje ovládací prvky bez oken technologie ActiveX, standardní technologie ActiveX ovládací prvky a okna, odkazující na ovládací prvek pouze HWND tím, že už nestačí. Objekt COleControlSiteOrWnd obsahuje informace, které objekt identifikují jako ovládací prvek technologie ActiveX okna, ovládací prvek technologie ActiveX bez oken nebo okno následujícím způsobem:

Typ ovládacího prvku nebo okna Identifikace informací
Ovládací prvek technologie ActiveX s okny Obsahuje objekt HWND COleControlSite a přidruží k němu. Člen m_hWndCOleControlSiteOrWnd je nastaven na HWND ovládací prvek a m_pSite člen odkazuje na ovládací prvek COleControlSite.
Ovládací prvek technologie ActiveX bez oken Neobsahuje číslo HWND. Člen m_pSiteCOleControlSiteOrWnd bodu na kontrolní prvek COleControlSitea m_hWnd člen je NULL.
Standardní okno Obsahuje pouze hodnotu HWND. Člen m_hWnd je nastaven na HWND okna a m_pSite člen je NULL.COleControlSiteOrWnd

CWnd::GetNextDlgTabItem

Načte ukazatel na první vytvořený ovládací prvek se stylem WS_TABSTOP , který předchází zadanému ovládacímu prvku nebo následuje za ním.

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

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

Parametry

pWndCtl
Identifikuje ovládací prvek, který se má použít jako výchozí bod hledání.

pCurSiteOrWnd
Identifikuje COleControlSiteOrWnd ovládací prvek. Další informace o produktu naleznete v COleControlSiteOrWndtématu CWnd::GetNextDlgGroupItem.

bPrevious
Určuje, jak má funkce prohledávat dialogové okno. Pokud TRUEfunkce vyhledá předchozí ovládací prvek v dialogovém okně; pokud FALSEvyhledá další ovládací prvek.

Vrácená hodnota

Ukazatel na předchozí nebo další ovládací prvek, který má WS_TABSTOP styl, pokud je členová funkce úspěšná.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Další informace o produktu naleznete v COleControlSiteOrWndtématu CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Vyhledá další (nebo předchozí) okno v seznamu správce oken.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parametry

nFlag
Určuje, zda funkce vrátí ukazatel na další okno nebo předchozí okno. Může to být buď GW_HWNDNEXT, který vrátí okno, které následuje za CWnd objektem v seznamu správce oken, nebo GW_HWNDPREV, který vrátí předchozí okno v seznamu správce okna.

Vrácená hodnota

Identifikuje další (nebo předchozí) okno v seznamu správce oken, pokud je členská funkce úspěšná.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Seznam správce oken obsahuje položky pro všechna okna nejvyšší úrovně, jejich přidružená podřízená okna a podřízená okna všech podřízených oken.

Pokud je okno nejvyšší úrovně, funkce vyhledá další (nebo předchozí) okno nejvyšší úrovně. Pokud CWndCWnd je podřízené okno, funkce vyhledá další (nebo předchozí) podřízené okno.

CWnd::GetOleControlSite

Načte vlastní web pro zadaný ovládací prvek technologie ActiveX.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parametry

idControl
ID ovládacího prvku technologie ActiveX.

CWnd::GetOpenClipboardWindow

Načte popisovač okna, které má aktuálně otevřenou schránku.

static CWnd* PASCAL GetOpenClipboardWindow();

Vrácená hodnota

Popisovač okna, které má aktuálně otevřenou schránku, pokud je funkce úspěšná; jinak NULL.

CWnd::GetOwner

Načte ukazatel na vlastníka okna.

CWnd* GetOwner() const;

Vrácená hodnota

Ukazatel na CWnd objekt.

Poznámky

Pokud okno nemá žádného vlastníka, vrátí se ve výchozím nastavení ukazatel na nadřazený objekt okna. Všimněte si, že vztah mezi vlastníkem a vlastněným se liší od aspektu nadřazeného-podřízeného v několika důležitých aspektech. Například okno s nadřazeným objektem je omezeno na klientskou oblast nadřazeného okna. Vlastněná okna lze kreslit na libovolném místě na ploše.

Koncept vlastnictví této funkce se liší od konceptu GetWindowvlastnictví .

CWnd::GetParent

Voláním této funkce získáte ukazatel na nadřazené okno podřízeného okna (pokud existuje).

CWnd* GetParent() const;

Vrácená hodnota

Viz část Návratové hodnoty v GetParent sadě Windows SDK.

Poznámky

Funkce GetParent vrátí ukazatel na okamžitý nadřazený objekt (pokud existuje). Naproti tomu GetParentOwner funkce vrátí ukazatel na nejbližší nadřazené okno nebo okno vlastníka, které není podřízeným oknem (nemá WS_CHILD styl). Pokud máte podřízené okno v podřízené okně GetParent a GetParentOwner vrátíte jiné výsledky.

CWnd::GetParentFrame

Voláním této členské funkce načtěte nadřazené okno rámce.

CFrameWnd* GetParentFrame() const;

Vrácená hodnota

Ukazatel na okno rámečku v případě úspěchu; jinak NULL.

Poznámky

Členová funkce vyhledá nadřazený řetězec, dokud CFrameWnd se nenajde objekt (nebo odvozená třída).

CWnd::GetParentOwner

Voláním této členské funkce získáte ukazatel na nadřazené okno podřízeného okna nebo okna vlastníka.

CWnd* GetParentOwner() const;

Vrácená hodnota

Ukazatel na CWnd objekt. CWnd Pokud objekt není připojený k popisovači, vytvoří se dočasný CWnd objekt a připojí se. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

GetParentOwner vrátí ukazatel na nejbližší nadřazené okno nebo okno vlastníka, které není podřízeným oknem (nemá WS_CHILD styl). Aktuální okno vlastníka lze nastavit pomocí SetOwner. Ve výchozím nastavení je nadřazeným objektem okna jeho vlastník.

Naproti tomu GetParent funkce vrátí ukazatel na okamžitý nadřazený objekt, ať už se jedná o podřízené okno, nebo ne. Pokud máte podřízené okno v podřízené okně GetParent a GetParentOwner vrátíte jiné výsledky.

CWnd::GetProperty

Voláním této členské funkce získáte vlastnost ovládacího prvku technologie ActiveX určenou parametrem dwDispID.

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

Parametry

dwDispID
Identifikuje vlastnost, která se má načíst.

vtProp
Určuje typ vlastnosti, která se má načíst. Možné hodnoty naleznete v části Poznámky pro COleDispatchDriver::InvokeHelper.

pvProp
Adresa proměnné, která obdrží hodnotu vlastnosti. Musí odpovídat typu určenému parametrem vtProp.

Poznámky

GetProperty vrátí hodnotu prostřednictvím pvProp.

Poznámka

Tato funkce by měla být volána pouze u objektuCWnd, který představuje technologie ActiveX ovládací prvek.

Další informace o použití této členské funkce s kontejnery ovládacích prvků technologie ActiveX najdete v článku technologie ActiveX Kontejnery ovládacích prvků: Programování technologie ActiveX ovládacích prvků v kontejneru ovládacího prvku technologie ActiveX.

CWnd::GetRenderTarget

Získá cíl vykreslení, který je přidružen k tomuto okně.

CHwndRenderTarget* GetRenderTarget();

Vrácená hodnota

Ukazatel na cíl vykreslení nebo NULL.

CWnd::GetSafeHwnd

Vrátí m_hWndhodnotu , nebo NULL je-li this ukazatel NULL.

HWND GetSafeHwnd() const;

Vrácená hodnota

Vrátí úchyt okna pro okno. Vrátí NULL , pokud CWnd není připojen k oknem nebo pokud se používá s ukazatelem NULLCWnd .

Příklad

Podívejte se na příklad pro CWnd::SubclassWindow.

CWnd::GetSafeOwner

Voláním této členské funkce načtěte okno vlastníka, které by se mělo použít pro dialogová okna nebo jiná modální okna.

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

Parametry

pParent
Ukazatel na nadřazené CWnd okno. Může být NULL.

pWndTop
Ukazatel na okno, které je aktuálně nahoře. Může být NULL.

Vrácená hodnota

Ukazatel na bezpečného vlastníka daného okna.

Poznámky

Bezpečným vlastníkem je první nadřazené okno jiného než podřízeného objektu pParent. Pokud pParent ano NULL, hlavní okno vlákna (načteno prostřednictvím AfxGetMainWnd) slouží k vyhledání vlastníka.

Poznámka

Samotná architektura používá tuto funkci k určení správného okna vlastníka pro dialogová okna a seznamy vlastností, kde není zadán vlastník.

CWnd::GetScrollBarCtrl

Voláním této členské funkce získáte ukazatel na zadaný posuvník nebo rozdělovač.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parametry

nBar
Určuje typ posuvníku. Parametr může mít jednu z následujících hodnot:

  • SB_HORZ Načte pozici vodorovného posuvníku.

  • SB_VERT Načte pozici svislého posuvníku.

Vrácená hodnota

Ovládací prvek posuvníku na stejné stejné nebo NULL pokud žádný.

Poznámky

Tato členová funkce nefunguje na posuvníkech vytvořených při WS_HSCROLL vytváření okna nebo WS_VSCROLL bitů. Implementace CWnd této funkce jednoduše vrátí NULL. Odvozené třídy, například CView, implementovat popsané funkce.

CWnd::GetScrollBarInfo

Načte informace o zadaném posuvníku.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parametry

idObject
Určuje objekt nabídky. Seznam možných hodnot najdete v tématu GetScrollBarInfo.

psbi
Ukazatel na SCROLLBARINFO strukturu, která přijímá informace.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce GetScrollBarInfo, jak je popsáno v sadě Windows SDK.

CWnd::GetScrollInfo

Voláním této členské funkce načtěte informace, které SCROLLINFO struktura udržuje o posuvníku.

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

Parametry

nBar
Určuje, jestli je posuvník ovládací prvek nebo část oblasti bez klienta okna. Pokud je součástí jiné oblasti než klient, označuje také, nBar zda je posuvník umístěn vodorovně, svisle nebo obojí. Musí to být jedna z těchto věcí:

  • SB_CTL Načte parametry pro ovládací prvek posuvníku. Datový m_hWnd člen musí být úchytem ovládacího prvku posuvníku.

  • SB_HORZ Načte parametry standardního vodorovného posuvníku okna.

  • SB_VERT Načte parametry standardního svislého posuvníku okna.

lpScrollInfo
Ukazatel na SCROLLINFO strukturu. Další informace o této struktuře najdete v sadě Windows SDK.

nMask
Určuje parametry posuvníku, které se mají načíst. Výchozí hodnota určuje kombinaci , SIF_PAGESIF_POS, SIF_TRACKPOS, a SIF_RANGE. Další SCROLLINFO informace o hodnotách nMask .

Vrácená hodnota

Pokud zpráva načetla nějaké hodnoty, vrátí se TRUE. Jinak je FALSEto .

Poznámky

GetScrollInfo umožňuje aplikacím používat 32bitové pozice posouvání.

Struktura SCROLLINFO obsahuje informace o posuvníku, včetně minimální a maximální pozice posouvání, velikosti stránky a pozice posuvníku (palce). SCROLLINFO Další informace o změně výchozích hodnot struktury najdete v tématu struktury v sadě Windows SDK.

Obslužné rutiny zpráv MFC systému Windows, které označují umístění posuvníku CWnd ::OnHScroll a CWnd::OnVScroll, poskytují pouze 16 bitů dat pozice. GetScrollInfo a SetScrollInfo poskytuje 32 bitů dat o poloze posuvníku. Aplikace tedy může volat GetScrollInfo při zpracování nebo CWnd::OnHScrollCWnd::OnVScroll získání 32bitových dat umístění posuvníku.

CWnd::GetScrollLimit

Voláním této členské funkce načtěte maximální pozici posouvání posuvníku.

int GetScrollLimit(int nBar);

Parametry

nBar
Určuje typ posuvníku. Parametr může mít jednu z následujících hodnot:

  • SB_HORZ Načte limit posouvání vodorovného posuvníku.

  • SB_VERT Načte limit posouvání svislého posuvníku.

Vrácená hodnota

Určuje maximální pozici posuvníku v případě úspěchu; jinak 0.

CWnd::GetScrollPos

Načte aktuální pozici posuvníku.

int GetScrollPos(int nBar) const;

Parametry

nBar
Určuje posuvník, který chcete prozkoumat. Parametr může mít jednu z následujících hodnot:

  • SB_HORZ Načte pozici vodorovného posuvníku.

  • SB_VERT Načte pozici svislého posuvníku.

Vrácená hodnota

Určuje aktuální pozici posuvníku v případě úspěchu posuvníku; jinak 0.

Poznámky

Aktuální pozice je relativní hodnota, která závisí na aktuální oblasti posouvání. Pokud je například oblast posouvání 50 až 100 a posuvník je uprostřed pruhu, aktuální pozice je 75.

CWnd::GetScrollRange

Zkopíruje aktuální minimální a maximální umístění posuvníku pro daný posuvník do umístění určených lpMinPos pomocí a lpMaxPos.

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

Parametry

nBar
Určuje posuvník, který chcete prozkoumat. Parametr může mít jednu z následujících hodnot:

  • SB_HORZ Načte pozici vodorovného posuvníku.

  • SB_VERT Načte pozici svislého posuvníku.

lpMinPos
Odkazuje na celočíselnou proměnnou, která má přijmout minimální pozici.

lpMaxPos
Odkazuje na celočíselnou proměnnou, která má přijmout maximální pozici.

Poznámky

Pokud CWnd nemá posuvník, GetScrollRange členová funkce zkopíruje 0 do lpMinPos a lpMaxPos.

Výchozí rozsah standardního posuvníku je 0 až 100. Výchozí oblast ovládacího prvku posuvníku je prázdná (obě hodnoty jsou 0).

CWnd::GetStyle

Vrátí aktuální styl okna.

DWORD GetStyle() const;

Vrácená hodnota

Styl okna. Další informace o stylech oken použitých v prostředí MFC naleznete v tématu Styly oken.

CWnd::GetSystemMenu

Umožňuje aplikaci přístup k nabídce Řízení pro kopírování a úpravy.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parametry

bRevert
Určuje akci, která se má provést. Pokud bRevert ano FALSE, GetSystemMenu vrátí popisovač kopie nabídky Ovládací prvek, který se právě používá. Tato kopie je zpočátku identická s nabídkou Ovládací prvek, ale lze ji upravit. Pokud bRevert ano TRUE, GetSystemMenu obnoví nabídku Ovládací prvek zpět do výchozího stavu. Předchozí, případně změněná nabídka Control, pokud existuje, je zničena. Vrácená hodnota není v tomto případě definována.

Vrácená hodnota

Identifikuje kopii nabídky Ovládací prvek, pokud bRevert je FALSE. Pokud bRevert ano TRUE, návratová hodnota není definována.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Každé okno, které nepoužívá GetSystemMenu k vytvoření vlastní kopie nabídky Ovládací prvek obdrží standardní nabídku Ovládací prvek.

Ukazatel vrácený GetSystemMenu členovou funkcí lze použít s CMenu::AppendMenu, CMenu::InsertMenunebo CMenu::ModifyMenu funkce ke změně nabídky Ovládací prvek.

Nabídka Ovládací prvek zpočátku obsahuje položky identifikované různými hodnotami ID, například SC_CLOSE, SC_MOVEa SC_SIZE. Položky v nabídce Řízení generují WM_SYSCOMMAND zprávy. Všechny předdefinované položky nabídky Control mají čísla ID větší než 0xF000. Pokud aplikace přidá položky do nabídky Ovládací prvek, měla by použít čísla ID menší než F000.

Systém Windows může automaticky znepřístupnit položky v standardní nabídce Ovládací prvek. CWnd může provést vlastní výběr nebo nedostupnost tím, že reaguje na WM_INITMENU zprávy, které se odesílají před zobrazením jakékoli nabídky.

Příklad

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

Načte informace o zadaném záhlaví.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Parametry

pti
Ukazatel na TITLEBARINFO strukturu, která přijímá informace.

Poznámky

Tato členová funkce emuluje funkce funkce GetTitleBarInfo, jak je popsáno v sadě Windows SDK.

CWnd::GetTopLevelFrame

Voláním této členské funkce načtěte okno rámce nejvyšší úrovně( pokud existuje).

CFrameWnd* GetTopLevelFrame() const;

Vrácená hodnota

Identifikuje okno rámce nejvyšší úrovně okna.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Pokud CWnd nemá žádné připojené okno nebo jeho nadřazený objekt nejvyšší úrovně není -odvozený CFrameWndobjekt, vrátí NULLtato funkce .

CWnd::GetTopLevelOwner

Voláním této členské funkce načtěte okno nejvyšší úrovně.

CWnd* GetTopLevelOwner() const;

Vrácená hodnota

Identifikuje okno nejvyšší úrovně. Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Okno nejvyšší úrovně je okno, které je podřízené ploše. Pokud CWnd nemá připojené okno, vrátí tato funkce NULL.

CWnd::GetTopLevelParent

Voláním této členské funkce načtěte nadřazený prvek nejvyšší úrovně okna.

CWnd* GetTopLevelParent() const;

Vrácená hodnota

Identifikuje nadřazené okno nejvyšší úrovně okna.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

GetTopLevelParent je podobný hodnotě GetTopLevelFrame a GetTopLevelOwner; ignoruje hodnotu nastavenou jako aktuální okno vlastníka.

CWnd::GetTopWindow

Vyhledá podřízené okno nejvyšší úrovně, do CWndkterého patří .

CWnd* GetTopWindow() const;

Vrácená hodnota

Identifikuje podřízené okno nejvyšší úrovně v propojeném CWnd seznamu podřízených oken. Pokud žádná podřízená okna neexistují, hodnota je NULL.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Pokud CWnd nemá žádné podřízené položky, vrátí tato funkce NULLhodnotu .

CWnd::GetUpdateRect

Načte souřadnice nejmenšího obdélníku, který zcela uzavře oblast aktualizace.

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

Parametry

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která má přijímat souřadnice klienta aktualizace, která uzavře oblast aktualizace.

Nastavte tento parametr tak, aby NULL určil, zda oblast aktualizace existuje v rámci CWnd. Je-li lpRectNULLtomu tak, GetUpdateRect vrátí členová funkce nenulovou hodnotu, pokud existuje oblast aktualizace a 0, pokud neexistuje. To poskytuje způsob, jak určit, jestli WM_PAINT zpráva pochází z neplatné oblasti. Tento parametr NULL nenastavujte ve Windows verze 3.0 a starší.

bErase
Určuje, jestli se má vymazat pozadí v oblasti aktualizace.

Vrácená hodnota

Určuje stav oblasti aktualizace. Hodnota je nenulová, pokud oblast aktualizace není prázdná; jinak 0.

lpRect Pokud je parametr nastaven na NULLhodnotu , návratová hodnota je nenulová, pokud existuje oblast aktualizace; jinak 0.

Poznámky

Pokud CWnd byl vytvořen pomocí CS_OWNDC stylu a režim mapování není MM_TEXT, GetUpdateRect členová funkce dává obdélník v logických souřadnicích. GetUpdateRect V opačném případě získáte obdélník v souřadnicích klienta. Pokud neexistuje žádná oblast aktualizace, nastaví obdélník tak, GetUpdateRect aby byl prázdný (nastaví všechny souřadnice na 0).

Parametr bErase určuje, jestli GetUpdateRect má vymazat pozadí oblasti aktualizace. Pokud bErase je TRUE a oblast aktualizace není prázdná, pozadí se vymaže. Pokud chcete vymazat pozadí, GetUpdateRect odešle zprávu WM_ERASEBKGND .

Aktualizační obdélník načtený BeginPaint členkou funkce je identický s tím, který načítá členová GetUpdateRect funkce.

Členová BeginPaint funkce automaticky ověří oblast aktualizace, takže jakékoli volání GetUpdateRect okamžitě po volání načte BeginPaint prázdnou oblast aktualizace.

CWnd::GetUpdateRgn

Načte oblast aktualizace do oblasti identifikované uživatelem pRgn.

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Parametry

pRgn
Identifikuje oblast aktualizace.

bErase
Určuje, zda bude pozadí vymazáno a budou nakresleny jiné oblasti než klientské podřízené okna. Pokud je FALSEhodnota , není dokončen žádný výkres.

Vrácená hodnota

Určuje příznak typu short-integer, který označuje typ výsledné oblasti. Hodnota může mít jednu z následujících možností:

  • SIMPLEREGION Oblast nemá žádné překrývající se ohraničení.

  • COMPLEXREGION Oblast má překrývající se ohraničení.

  • NULLREGION Oblast je prázdná.

  • ERROR Nebyla vytvořena žádná oblast.

Poznámky

Souřadnice této oblasti jsou relativní vzhledem k levému hornímu rohu (souřadnice klienta).

Členová BeginPaint funkce automaticky ověří oblast aktualizace, takže jakékoli volání GetUpdateRgn okamžitě po volání načte BeginPaint prázdnou oblast aktualizace.

CWnd::GetWindow

Vrátí ukazatel na požadované okno nebo NULL pokud žádné.

CWnd* GetWindow(UINT nCmd) const;

Parametry

*nCmd*
Určuje vztah mezi CWnd a vrácenými okny. Může mít jednu z následujících hodnot:

  • GW_CHILD Identifikuje první podřízené CWnd okno.

  • GW_HWNDFIRST Pokud CWnd je podřízené okno, vrátí první okno na stejné stejné straně. V opačném případě vrátí první okno nejvyšší úrovně v seznamu.

  • GW_HWNDLAST Pokud CWnd je podřízené okno, vrátí poslední okno na stejné stejné straně. V opačném případě vrátí poslední okno nejvyšší úrovně v seznamu.

  • GW_HWNDNEXT Vrátí další okno v seznamu správce oken.

  • GW_HWNDPREV Vrátí předchozí okno v seznamu správce oken.

  • GW_OWNER Identifikuje vlastníka CWnd .

Vrácená hodnota

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

CWnd::GetWindowContextHelpId

Voláním této členské funkce načtěte identifikátor kontextu nápovědy( pokud existuje) přidružený k oknem.

DWORD GetWindowContextHelpId() const;

Vrácená hodnota

Identifikátor kontextu nápovědy. Vrátí hodnotu 0, pokud okno nemá žádnou hodnotu.

CWnd::GetWindowedChildCount

Voláním této členské funkce načtěte počet přidružených podřízených oken.

long GetWindowedChildCount();

Vrácená hodnota

Počet podřízených oken přidružených k objektu CWnd .

CWnd::GetWindowDC

Načte kontext zobrazení pro celé okno, včetně popis pruhu, nabídek a posuvníků.

CDC* GetWindowDC();

Vrácená hodnota

Identifikuje kontext zobrazení pro dané okno, pokud je funkce úspěšná; jinak NULL.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití. ReleaseDCby měly být volána jednou pro každé úspěšné volání .GetWindowDC

Poznámky

Kontext zobrazení okna umožňuje malování kdekoli v CWnd, protože původ kontextu je levý horní roh CWnd místo klientské oblasti.

Výchozí atributy se přiřazují k kontextu zobrazení pokaždé, když načte kontext. Předchozí atributy jsou ztraceny.

GetWindowDC je určena k použití pro speciální obrazové efekty v neklientské CWnd oblasti. Malování v jiných než klientských oblastech žádného okna se nedoporučuje.

Pomocí GetSystemMetrics funkce Windows lze načíst rozměry různých částí oblasti, která není klientem, jako je například panel popis, nabídka a posuvníky.

Po dokončení malování musí být volána členská funkce, ReleaseDC aby se uvolnil kontext zobrazení. Pokud kontext zobrazení neuvolníte, bude to vážně mít vliv na malování požadované aplikacemi kvůli omezením počtu kontextů zařízení, které je možné otevřít najednou.

CWnd::GetWindowInfo

Načte informace o okně.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Parametry

pwi
Ukazatel na WINDOWINFO strukturu.

Poznámky

Tato členová funkce emuluje funkce funkce GetWindowInfo, jak je popsáno v sadě Windows SDK.

CWnd::GetWindowlessChildCount

Načte počet přidružených podřízených oken bez oken.

long GetWindowlessChildCount();

Vrácená hodnota

Počet podřízených oken bez oken přidružených k objektu CWnd .

CWnd::GetWindowPlacement

Načte stav zobrazení a normální (obnovené), minimalizované a maximalizované pozice okna.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Parametry

lpwndpl
Odkazuje na WINDOWPLACEMENT strukturu, která přijímá informace o stavu a pozici zobrazení.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

WINDOWPLACEMENT Člen flags struktury načtené touto funkcí je vždy 0. Pokud CWnd je maximalizován, showCmd člen WINDOWPLACEMENT je SW_SHOWMAXIMIZED. Pokud je okno minimalizované, je SW_SHOWMINIMIZEDto . V opačném případě.SW_SHOWNORMAL

CWnd::GetWindowRect

Zkopíruje rozměry ohraničujícího obdélníku objektu CWnd do struktury, na kterou lpRectodkazuje .

void GetWindowRect(LPRECT lpRect) const;

Parametry

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která obdrží souřadnice obrazovky levého horního a pravého dolního rohu.

Poznámky

Rozměry jsou uvedeny v souřadnicích obrazovky vzhledem k levému hornímu rohu obrazovky. Rozměry popis, ohraničení a posuvníků, pokud jsou k dispozici, jsou zahrnuty.

CWnd::GetWindowRgn

Voláním této členské funkce získáte oblast okna.

int GetWindowRgn(HRGN hRgn)const;

Parametry

hRgn
Popisovač oblasti okna.

Vrácená hodnota

Vrácená hodnota určuje typ oblasti, kterou funkce získá. Může to být jedna z následujících hodnot:

  • NULLREGION Oblast je prázdná.

  • SIMPLEREGION Oblast je jeden obdélník.

  • COMPLEXREGION Oblast je více než jeden obdélník.

  • ERROR Došlo k chybě; oblast není ovlivněna.

Poznámky

Oblast okna určuje oblast v okně, kde operační systém povoluje kreslení. Operační systém nezobrazuje žádnou část okna, která leží mimo oblast okna.

Souřadnice oblasti okna okna jsou relativní vzhledem k levému hornímu rohu okna, nikoli k oblasti klienta okna.

Chcete-li nastavit oblast okna okna, zavolejte CWnd::SetWindowRgn.

CWnd::GetWindowText

CWnd Zkopíruje název popis (pokud ho obsahuje) do vyrovnávací paměti, na kterou lpszStringBuf odkazuje nebo do cílového řetězce rString.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parametry

lpszStringBuf
Odkazuje na vyrovnávací paměť, která přijímá zkopírovaný řetězec názvu okna.

nMaxCount
Určuje maximální počet znaků, které se mají zkopírovat do vyrovnávací paměti, včetně ukončujícího znaku null. Pokud je řetězec delší než počet znaků zadaných v nMaxCount, zkrátí se.

rString
Objekt CString , který má přijmout zkopírovaný řetězec názvu okna.

Vrácená hodnota

Určuje délku zkopírovaného řetězce v značce, nikoli ukončující znak null. Je to 0, pokud CWnd nemá žádné popis nebo pokud je popis prázdný.

Poznámky

CWnd Pokud je objektem ovládací prvek, GetWindowText členová funkce zkopíruje text uvnitř ovládacího prvku místo kopírování popis.

Tato členová funkce způsobí WM_GETTEXT odeslání zprávy do objektu CWnd .

Příklad

Podívejte se na příklad pro CWnd::SetWindowText.

CWnd::GetWindowTextLength

Vrátí délku objektu CWnd popis název.

int GetWindowTextLength() const;

Vrácená hodnota

Určuje délku textu ve znaznach, nikoli žádný znak ukončení s hodnotou null. Hodnota je 0, pokud takový text neexistuje.

Poznámky

Pokud CWnd je ovládací prvek, GetWindowTextLength členské funkce vrátí délku textu v ovládacím prvku místo popis.

Tato členová funkce způsobí WM_GETTEXTLENGTH odeslání zprávy do objektu CWnd .

Příklad

Podívejte se na příklad pro CWnd::SetWindowText.

CWnd::HideCaret

Skryje stříšku odebráním z obrazovky zobrazení.

void HideCaret();

Poznámky

I když se stříška už nezobrazuje, můžete ji znovu zobrazit pomocí ShowCaret členské funkce. Skrytí stříšky nezničí jeho aktuální tvar.

Skrytí je kumulativní. Pokud HideCaret bylo v řádku volána pětkrát, ShowCaret musí být členová funkce volána pětkrát, než se zobrazí stříška.

CWnd::HiliteMenuItem

Zvýrazní nebo odebere zvýraznění z položky nabídky nejvyšší úrovně (řádek nabídek).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parametry

pMenu
Identifikuje nabídku nejvyšší úrovně, která obsahuje položku, která se má zvýraznit.

nIDHiliteItem
Určuje položku nabídky, která se má zvýraznit v závislosti na hodnotě parametru nHilite .

nHilite
Určuje, zda je položka nabídky zvýrazněná nebo zvýrazněná. Může to být kombinace MF_HILITE nebo s nebo MF_UNHILITEMF_BYCOMMANDMF_BYPOSITION. Hodnoty lze kombinovat pomocí bitového OR operátoru. Tyto hodnoty mají následující významy:

  • MF_BYCOMMAND Interpretuje nIDHiliteItem se jako ID položky nabídky (výchozí interpretace).

  • MF_BYPOSITION Interpretuje nIDHiliteItem se jako posun na základě nuly položky nabídky.

  • MF_HILITE Zvýrazní položku. Pokud tato hodnota není uvedena, zvýraznění se z položky odebere.

  • MF_UNHILITE Odebere zvýraznění z položky.

Vrácená hodnota

Určuje, zda byla položka nabídky zvýrazněna. Nenulové, pokud byla položka zvýrazněna; jinak 0.

Poznámky

Příznaky MF_HILITE a MF_UNHILITE příznaky lze použít pouze s touto členovou funkcí. Nelze je použít s členovou CMenu::ModifyMenu funkcí.

CWnd::HtmlHelp

Voláním této členské funkce vyvoláte aplikaci HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parametry

dwData
Určuje další data. Použitá hodnota závisí na hodnotě parametru nCmd .

nCmd
Určuje typ požadované nápovědy. Seznam možných hodnot a jejich vliv na dwData parametr najdete uCommand v tématu popisovaný v referenčních informacích k rozhraní API nápovědy HTML v sadě Windows SDK.

Poznámky

Další informace naleznete v tématu CWinApp::HtmlHelp.

CWnd::InitDynamicLayout

Volá se rozhraním pro inicializaci dynamického rozložení okna.

void InitDynamicLayout();

Poznámky

Tuto metodu nevolejte přímo.

CWnd::Invalidate

Zruší platnost celé oblasti klienta .CWnd

void Invalidate(BOOL bErase = TRUE);

Parametry

bErase
Určuje, jestli se má vymazat pozadí v rámci oblasti aktualizace.

Poznámky

Klientská oblast je označena pro malování, když dojde k další WM_PAINT zprávě. Oblast je také možné ověřit před výskytem WM_PAINT zprávy pomocí funkce nebo ValidateRgn členaValidateRect.

Parametr bErase určuje, jestli má být při zpracování oblasti aktualizace vymazáno pozadí v oblasti aktualizace. Pokud bErase ano TRUE, pozadí se vymaže, když BeginPaint je volána členová funkce; pokud bErase je FALSE, pozadí zůstane beze změny. Pokud bErase je TRUE pro jakoukoli část oblasti aktualizace, vymaže se pozadí v celé oblasti, nejen v dané části.

Systém Windows odešle WM_PAINT zprávu vždy, když CWnd oblast aktualizace není prázdná a ve frontě aplikace pro toto okno nejsou žádné další zprávy.

Příklad

Podívejte se na příklad pro CWnd::UpdateWindow.

CWnd::InvalidateRect

Zruší platnost oblasti klienta v daném obdélníku přidáním tohoto obdélníku CWnd do oblasti aktualizace.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parametry

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která obsahuje obdélník (v souřadnicích klienta), které se mají přidat do oblasti aktualizace. Pokud lpRect ano NULL, přidá se do oblasti celá oblast klienta.

bErase
Určuje, jestli se má vymazat pozadí v rámci oblasti aktualizace.

Poznámky

Neplatný obdélník spolu se všemi ostatními oblastmi v oblasti aktualizace je označen pro malování při odeslání další WM_PAINT zprávy. Neplatné oblasti se hromadí v oblasti aktualizace, dokud se oblast nezpracuje, když dojde k dalšímu WM_PAINT volání, nebo dokud oblast neověří ValidateRect funkce nebo ValidateRgn člena.

Parametr bErase určuje, jestli má být při zpracování oblasti aktualizace vymazáno pozadí v oblasti aktualizace. Pokud bErase ano TRUE, pozadí se vymaže, když BeginPaint je volána členová funkce; pokud bErase je FALSE, pozadí zůstane beze změny. Pokud bErase je TRUE pro jakoukoli část oblasti aktualizace, pozadí v celé oblasti se vymaže, nejen v dané části.

Systém Windows odešle WM_PAINT zprávu vždy, když CWnd oblast aktualizace není prázdná a ve frontě aplikace pro toto okno nejsou žádné další zprávy.

CWnd::InvalidateRgn

Zruší platnost oblasti klienta v dané oblasti přidáním do aktuální oblasti CWndaktualizace .

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parametry

pRgn
Ukazatel na CRgn objekt, který identifikuje oblast, která se má přidat do oblasti aktualizace. Předpokládá se, že oblast má souřadnice klienta. Pokud je NULLtento parametr, přidá se do oblasti aktualizace celá oblast klienta.

bErase
Určuje, jestli se má vymazat pozadí v rámci oblasti aktualizace.

Poznámky

Neplatná oblast spolu se všemi ostatními oblastmi v oblasti aktualizace je označena k malování při WM_PAINT dalším odeslání zprávy. Neplatné oblasti se hromadí v oblasti aktualizace, dokud se oblast nezpracuje při WM_PAINT příštím odeslání zprávy, nebo dokud oblast neověří ValidateRect funkce nebo ValidateRgn člena.

Parametr bErase určuje, jestli má být při zpracování oblasti aktualizace vymazáno pozadí v oblasti aktualizace. Pokud bErase ano TRUE, pozadí se vymaže, když BeginPaint je volána členová funkce; pokud bErase je FALSE, pozadí zůstane beze změny. Pokud bErase je TRUE pro jakoukoli část oblasti aktualizace, vymaže se pozadí v celé oblasti, nejen v dané části.

Systém Windows odešle WM_PAINT zprávu vždy, když CWnd oblast aktualizace není prázdná a ve frontě aplikace pro toto okno nejsou žádné další zprávy.

Daná oblast musí být dříve vytvořená jednou z funkcí oblasti.

CWnd::InvokeHelper

Voláním této členské funkce vyvoláte technologie ActiveX Control metodu nebo vlastnost určenou dwDispIDpomocí , v kontextu určeném wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Parametry

dwDispID
Identifikuje metodu nebo vlastnost, která se má vyvolat.

wFlags
Příznaky popisující kontext volání IDispatch::Invoke.

vtRet
Určuje typ návratové hodnoty. Možné hodnoty naleznete v části Poznámky pro COleDispatchDriver::InvokeHelper.

pvRet
Adresa proměnné, která obdrží hodnotu vlastnosti nebo návratovou hodnotu. Musí odpovídat typu určenému parametrem vtRet.

pbParamInfo
Ukazatel na řetězec ukončený hodnotou null s bajty určující typy následujících pbParamInfoparametrů . Možné hodnoty naleznete v části Poznámky pro COleDispatchDriver::InvokeHelper.

...
Seznam parametrů proměnných typů zadaných v pbParamInfo.

Poznámky

Parametr pbParamInfo určuje typy parametrů předaných metodě nebo vlastnosti. Seznam argumentů proměnných je reprezentován ... v deklaraci syntaxe.

Tato funkce převede parametry na VARIANTARG hodnoty a potom vyvolá metodu IDispatch::Invoke v ovládacím prvku technologie ActiveX. Pokud volání IDispatch::Invoke selže, tato funkce vyvolá výjimku. SCODE Pokud je DISP_E_EXCEPTIONvrácena (stavový kód), IDispatch::Invoke tato funkce vyvolá COleException objekt, jinak vyvolá COleDispatchExceptionvýjimku .

Poznámka

Tato funkce by měla být volána pouze u objektuCWnd, který představuje technologie ActiveX ovládací prvek.

Další informace o použití této členské funkce s kontejnery ovládacích prvků technologie ActiveX najdete v článku technologie ActiveX Kontejnery ovládacích prvků: Programování technologie ActiveX ovládacích prvků v kontejneru ovládacího prvku technologie ActiveX.

CWnd::IsChild

Určuje, zda je okno určené pWnd podřízeným oknem nebo jiným přímým potomkem CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Parametry

pWnd
Identifikuje okno, které se má testovat.

Vrácená hodnota

Určuje výsledek funkce. Hodnota je nenulová, pokud je okno identifikované pWnd podřízeným oknem CWnd; jinak 0.

Poznámky

Podřízené okno je přímým potomkem CWnd , pokud CWnd je objekt v řetězu nadřazených oken, která vede z původního automaticky otevíraného okna do podřízeného okna.

CWnd::IsD2DSupportEnabled

Určuje, zda je povolena podpora D2D.

BOOL IsD2DSupportEnabled();

Vrácená hodnota

TRUE je-li tato funkce povolena; jinak FALSE.

CWnd::IsDialogMessage

Voláním této členské funkce určíte, zda je daná zpráva určena pro bezmodální dialogové okno; pokud ano, tato funkce zpracuje zprávu.

BOOL IsDialogMessage(LPMSG lpMsg);

Parametry

lpMsg
Odkazuje na MSG strukturu, která obsahuje zprávu, která se má zkontrolovat.

Vrácená hodnota

Určuje, jestli členová funkce zpracovala danou zprávu. Pokud byla zpráva zpracována, je nenulová; jinak 0. Pokud je návrat 0, zavolejte CWnd::PreTranslateMessage členskou funkci základní třídy, která zprávu zpracuje. V přepsání CWnd::PreTranslateMessage členské funkce kód vypadá takto:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Poznámky

IsDialogMessage Když funkce zpracuje zprávu, zkontroluje zprávy z klávesnice a převede je na příkazy pro výběr odpovídajícího dialogového okna. Například klávesa TAB vybere další ovládací prvek nebo skupinu ovládacích prvků a klávesa ŠIPKA DOLŮ vybere další ovládací prvek ve skupině.

Zprávy zpracovávané funkcemi IsDialogMessageTranslateMessage windows DispatchMessage nesmíte předávat, protože už byla zpracována.

CWnd::IsDlgButtonChecked

Určuje, zda má ovládací prvek tlačítka vedle něj značku zaškrtnutí.

UINT IsDlgButtonChecked(int nIDButton) const;

Parametry

nIDButton
Určuje celočíselnou identifikátor ovládacího prvku tlačítka.

Vrácená hodnota

Nenulové, pokud je daný ovládací prvek zaškrtnutý, a 0, pokud není zaškrtnuté. Je možné zaškrtnout pouze přepínače a zaškrtávací políčka. U třístavových tlačítek může být návratová hodnota 2, pokud je tlačítko neurčité. Tato členová funkce vrátí hodnotu 0 pro tlačítko.

Poznámky

Pokud je tlačítko ovládací prvek se třemi stavy, členová funkce určuje, zda je neaktivní, zaškrtnuté nebo ani jedno.

CWnd::IsDynamicLayoutEnabled

Určuje, zda je v tomto okně povolené dynamické rozložení. Pokud je povolené dynamické rozložení, může se umístění a velikost podřízených oken změnit, když uživatel změní velikost nadřazeného okna.

BOOL IsDynamicLayoutEnabled() const;

Vrácená hodnota

TRUE je-li povoleno dynamické rozložení; jinak FALSE.

Poznámky

CWnd::IsIconic

Určuje, jestli CWnd je minimalizovaný (ikonický).

BOOL IsIconic() const;

Vrácená hodnota

Nenulové, pokud CWnd je minimalizováno; jinak 0.

Příklad

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

Určuje, jestli CWnd má podporu dotykového ovládání.

BOOL IsTouchWindow() const;

Vrácená hodnota

TRUE pokud CWnd má podporu dotykového ovládání; jinak FALSE.

Poznámky

CWnd::IsWindowEnabled

Určuje, zda CWnd je povoleno zadávání myši a klávesnice.

BOOL IsWindowEnabled() const;

Vrácená hodnota

Nenulové, pokud CWnd je povoleno; jinak 0.

Příklad

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

Určuje stav viditelnosti daného okna.

BOOL IsWindowVisible() const;

Vrácená hodnota

Nenulové, pokud CWnd je viditelné (má nastavenou WS_VISIBLE bitovou sadu stylů a je viditelné nadřazené okno). Vzhledem k tomu, že vrácená hodnota odráží stav bitu WS_VISIBLE stylu, může být návratová hodnota nenulová, i když CWnd je zcela zakrytá jinými okny.

Poznámky

Okno má stav viditelnosti označený bitem WS_VISIBLE stylu. Pokud je tato bitová část stylu nastavena voláním ShowWindow členské funkce, zobrazí se okno a následné kreslení do okna se zobrazí, pokud má okno nastavenou bitovou sadu stylů.

Jakýkoli výkres do okna, které má WS_VISIBLE styl, se nezobrazí, pokud je okno pokryto jinými okny nebo je oříznuto jeho nadřazeným oknem.

Příklad

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

Určuje, zda CWnd byla maximalizována.

BOOL IsZoomed() const;

Vrácená hodnota

Nenulové, pokud CWnd je maximalizované; jinak 0.

CWnd::KillTimer

Ukonče událost časovače identifikovanou předchozím voláním nIDEventSetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Parametry

nIDEvent
Hodnota události časovače předaná do SetTimer.

Vrácená hodnota

Určuje výsledek funkce. Hodnota je nenulová, pokud byla událost zabita. Je 0, pokud KillTimer členová funkce nemohla najít zadanou událost časovače.

Poznámky

Čekající WM_TIMER zprávy přidružené k časovači se z fronty zpráv neodeberou.

Příklad

Podívejte se na příklad pro CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Volá se rozhraním pro načtení informací o dynamickém rozložení ze souboru prostředků.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parametry

lpszResourceName
Název prostředku, který obsahuje požadované informace o dynamickém rozložení pro toto okno.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná. Pokud dojde k selhání, je to 0.

Poznámky

Tuto metodu nevolejte přímo.

CWnd::LockWindowUpdate

Zakáže kreslení v daném okně.

BOOL LockWindowUpdate();

Vrácená hodnota

Nenulové, pokud je funkce úspěšná. Je to 0, pokud dojde k selhání nebo pokud LockWindowUpdate byla funkce použita k uzamčení jiného okna.

Poznámky

Uzamčené okno nelze přesunout. Najednou je možné uzamknout pouze jedno okno. Odemknutí okna uzamčeného voláním LockWindowUpdateUnlockWindowUpdate.

Pokud aplikace s uzamčeným oknem (nebo jakýmkoli uzamčeným podřízeným oknem) volá GetDCfunkci , GetDCExnebo BeginPaint Windows, vrátí volaná funkce kontext zařízení, jehož viditelná oblast je prázdná. K tomu dojde, dokud aplikace odemkne okno voláním UnlockWindowUpdate členské funkce.

I když jsou aktualizace oken uzamčené, systém sleduje ohraničující obdélník všech operací kreslení do kontextů zařízení přidružených k uzamčeným oknu. Při opětovném povolení výkresu se tento ohraničující obdélník v zamknutém okně a jeho podřízených oknech zneplatní, aby se vynutila případná WM_PAINT zpráva k aktualizaci obrazovky. Pokud během uzamčení aktualizací okna nedošlo k žádnému výkresu, není neplatná žádná oblast.

Členová LockWindowUpdate funkce neuvádí dané okno jako neviditelné a nevymaže WS_VISIBLE bit stylu.

CWnd::m_hWnd

Popisovač okna Systému Windows připojený k tomuto CWndobjektu .

HWND m_hWnd;

Poznámky

Datový m_hWnd člen je veřejná proměnná typu HWND.

CWnd::MapWindowPoints

Převede (mapy) sadu bodů ze souřadnicového prostoru CWnd souřadnice na souřadnicový prostor jiného okna.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Parametry

pwndTo
Identifikuje okno, na které se body převedou. Pokud je NULLtento parametr , body se převedou na souřadnice obrazovky.

lpRect
Určuje obdélník, jehož body se mají převést. První verze této funkce je dostupná pouze pro Windows 3.1 a novější.

lpPoint
Ukazatel na pole POINT struktury , která obsahuje množinu bodů, které se mají převést.

nCount
Určuje počet POINT struktur v matici, na které lpPointodkazuje .

CWnd::MessageBox

Vytvoří a zobrazí okno, které obsahuje zprávu zadanou aplikací a popis a navíc kombinaci předdefinovaných ikon a tlačítek popsaných v seznamu Styly message-boxu.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parametry

lpszText
Odkazuje na CString objekt nebo řetězec ukončený hodnotou null obsahující zprávu, která se má zobrazit.

lpszCaption
Odkazuje na CString objekt nebo řetězec ukončený hodnotou null, který se má použít pro popis pole se zprávou. Pokud lpszCaption anoNULL, použije se výchozí popis Chyba.

nType
Určuje obsah a chování pole zprávy.

Vrácená hodnota

Tato metoda využívá funkci definovanou MessageBox v sadě Windows SDK. Tato metoda vrátí výsledek volání této funkce.

Poznámky

Místo této členské funkce použijte globální funkci AfxMessageBox k implementaci pole zprávy ve vaší aplikaci.

V následujícím příkladu jsou uvedeny různé systémové ikony, které lze použít v okně se zprávou:

Ikona Makro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOPa MB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. MB_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. MB_ICONEXCLAMATION a MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. MB_ICONASTERISK a MB_ICONINFORMATION

Příklad

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

Voláním této členské funkce upravíte styl okna.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametry

dwRemove
Určuje styly oken, které se mají odebrat během úprav stylu.

dwAdd
Určuje styly oken, které se mají přidat během úprav stylu.

nFlags
Příznaky, které mají být předány SetWindowPos, nebo nula, pokud SetWindowPos by neměly být volány. Výchozí hodnota je nula. Seznam přednastavených příznaků najdete v části Poznámky.

Vrácená hodnota

Nenulové, pokud byl styl úspěšně změněn; jinak, 0.

Poznámky

Styly, které se mají přidat nebo odebrat, lze kombinovat pomocí bitového operátoru OR (|). Informace o dostupných stylech oken najdete v tématech Styly oken a CreateWindow v sadě Windows SDK.

Pokud nFlags je nenulová, ModifyStyle volá funkci SetWindowPos rozhraní API systému Windows a překreslí okno kombinací nFlags následujících čtyř přednastavených příznaků:

  • SWP_NOSIZE Zachová aktuální velikost.

  • SWP_NOMOVE Zachová aktuální pozici.

  • SWP_NOZORDER Zachová aktuální pořadí Z.

  • SWP_NOACTIVATE Neaktivuje okno.

Pokud chcete upravit rozšířené styly okna, přečtěte si téma ModifyStyleEx.

Poznámka

U některých stylů v určitých ovládacích prvcích ( ES_READONLY například styl v ovládacím prvku pro úpravy) ModifyStyle nemusí správně změnit styl, protože ovládací prvek může potřebovat provést speciální interní zpracování. V těchto případech bude k dispozici odpovídající zpráva ke změně stylu ( EM_SETREADONLY v uvedeném příkladu).

Příklad

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

Voláním této členské funkce můžete upravit rozšířený styl okna.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametry

dwRemove
Určuje rozšířené styly, které se mají odebrat při úpravě stylu.

dwAdd
Určuje rozšířené styly, které se mají přidat během úprav stylu.

nFlags
Příznaky, které mají být předány SetWindowPos, nebo nula, pokud SetWindowPos by neměly být volány. Výchozí hodnota je nula. Seznam přednastavených příznaků najdete v části Poznámky.

Vrácená hodnota

Nenulové, pokud byl styl úspěšně změněn; jinak, 0.

Poznámky

Styly, které se mají přidat nebo odebrat, lze kombinovat pomocí bitové operátoru OR (|). Informace o dostupných rozšířených stylech najdete v tématech Rozšířené styly oken v této knize a CreateWindowEx v sadě Windows SDK.

Pokud nFlags je nenulová, ModifyStyleEx volá funkci SetWindowPos rozhraní API systému Windows a překreslí okno kombinací nFlags následujících čtyř přednastavených příznaků:

  • SWP_NOSIZE Zachová aktuální velikost.

  • SWP_NOMOVE Zachová aktuální pozici.

  • SWP_NOZORDER Zachová aktuální pořadí Z.

  • SWP_NOACTIVATE Neaktivuje okno.

Pokud chcete změnit okna pomocí běžných stylů oken, přečtěte si článek ModifyStyle.

Příklad

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

Změní pozici a rozměry.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Parametry

x
Určuje novou pozici levé strany CWnd.

y
Určuje novou pozici horní části CWnd.

nWidth
Určuje novou šířku CWnd.

nHeight
Určuje novou výšku CWnd.

bRepaint
Určuje, jestli CWnd se má znovu nakreslit. Pokud TRUE, CWnd obdrží WM_PAINT zprávu v jeho OnPaint obslužné rutině zprávy jako obvykle. Pokud je FALSEtento parametr , nedojde k žádnému překreslení jakéhokoli druhu. To platí pro klientskou oblast, oblast mimo klient (včetně nadpisu a posuvníků) a na libovolnou část nadřazeného okna, která byla v důsledku CWndpřesunutí odhalena. Pokud je FALSEtento parametr , aplikace musí explicitně zneplatnit nebo překreslit jakékoli části CWnd a nadřazené okno, které musí být překresleny.

lpRect
Objekt CRect nebo RECT struktura , která určuje novou velikost a umístění.

Poznámky

U objektu x nejvyšší úrovně CWnd jsou parametry y relativní k levému hornímu rohu obrazovky. U podřízeného CWnd objektu jsou relativní vzhledem k levému hornímu rohu klientské oblasti nadřazeného okna.

Funkce MoveWindow odešle WM_GETMINMAXINFO zprávu. Zpracování této zprávy umožňuje CWnd upravit výchozí hodnoty pro největší a nejmenší možná okna. Pokud parametry MoveWindow členské funkce překročí tyto hodnoty, mohou být hodnoty nahrazeny minimálními nebo maximálními hodnotami v obslužné rutině WM_GETMINMAXINFO .

Příklad

Podívejte se na příklad pro CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Signalizuje systém, že došlo k předdefinované události. Pokud některé klientské aplikace zaregistrovaly funkci háku pro událost, systém zavolá funkci háku klienta.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parametry

event
Určuje událost, ke které došlo. Tato hodnota musí být jednou z konstant událostí.

idObjectType
Identifikuje typ objektu, který vygeneroval událost. Tato hodnota je jedním z předdefinovaných identifikátorů objektů nebo hodnoty ID vlastního objektu.

idObject
Určuje, zda byla událost vygenerována objektem nebo podřízeným prvkem objektu. Pokud je CHILDID_SELFtato hodnota , událost byla generována samotným objektem. Pokud ne, jedná se o podřízené ID elementu, který událost vygeneroval.

Poznámky

Tato členová funkce emuluje funkce funkce NotifyWinEvent, jak je popsáno v sadě Windows SDK.

CWnd::OnActivate

Architektura volá tuto členovou funkci při aktivaci nebo deaktivaci objektu CWnd .

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parametry

nState
Určuje, jestli CWnd se aktivuje nebo deaktivuje. Může to být jedna z následujících hodnot:

  • WA_INACTIVE Okno se deaktivuje.

  • WA_ACTIVE Okno se aktivuje jinou metodou než kliknutím myši (například pomocí rozhraní klávesnice pro výběr okna).

  • WA_CLICKACTIVE Okno se aktivuje kliknutím myši.

pWndOther
Ukazatel na CWnd aktivovanou nebo deaktivovanou akci. Ukazatel může být NULLa může být dočasný.

bMinimized
Určuje minimalizovaný stav CWnd aktivace nebo deaktivace. Hodnota TRUE indikuje, že okno je minimalizované.

Pokud TRUEse aktivuje , aktivuje se CWnd , jinak se deaktivuje.

Poznámky

CWnd Pokud je objekt aktivován kliknutím myši, obdrží také OnMouseActivate volání členské funkce.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnActivateApp

Architektura volá tuto členovou funkci na všechna okna nejvyšší úrovně úlohy, která se aktivují, a pro všechna okna nejvyšší úrovně úlohy, která se deaktivují.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parametry

bActive
Určuje, jestli CWnd se aktivuje nebo deaktivuje. TRUE znamená, že CWnd se aktivuje. FALSE znamená, že CWnd se deaktivuje.

dwThreadID
Určuje hodnotu ID vlákna. Pokud bActive je TRUE, dwThreadID identifikuje vlákno, které vlastní CWnd deaktivované. Pokud bActive je FALSE, dwThreadID identifikuje vlákno, které vlastní aktivované CWnd .

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnAmbientProperty

Architektura volá tuto členovou funkci k získání okolních vlastností hodnoty z okna, které obsahuje ovládací prvky OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parametry

pSite
Ukazatel na web ovládacího prvku, který požadoval okolí vlastnost.

dispid
ID odeslání požadované vlastnosti okolí.

pvar
Ukazatel na strukturu přidělenou VARIANT volajícím, prostřednictvím které bude vrácena hodnota okolí vlastnosti.

Vrácená hodnota

TRUE je-li okolí podporováno; FALSE pokud ne.

Poznámky

Přepište tuto funkci tak, aby změnila výchozí hodnoty okolní vlastnosti vrácené kontejnerem ovládacího prvku OLE na jeho ovládací prvky. Všechny požadavky okolních vlastností, které nezpracují přepisovací funkce, by měly být předány implementaci základní třídy.

CWnd::OnAppCommand

Architektura volá tuto členovou funkci, když uživatel vygeneruje událost příkazu aplikace. Taková událost nastane, když uživatel klikne na příkazové tlačítko aplikace nebo zadá příkazový klíč aplikace.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parametry

pWnd
[v] Ukazatel na CWnd objekt, který představuje okno, ve kterém uživatel klikl na příkazové tlačítko nebo stiskl příkazovou klávesu. Toto okno může být podřízené okno okna, které zprávu obdrží.

nCmd
[v] Označuje příkaz aplikace. Seznam možných hodnot najdete v příkazech v cmd části parametru lParamWM_APPCOMMAND.

nDevice
[v] Vstupní zařízení, které vygenerovalo vstupní událost. Seznam možných hodnot najdete v zařízeních v uDevice části parametru lParamWM_APPCOMMAND.

nKey
[v] Označuje všechny virtuální klávesy, které jsou dole, například klávesu CTRL nebo levé tlačítko myši. Seznam možných hodnot najdete v klíčích v dwKeys části parametru lParamWM_APPCOMMAND. Další informace naleznete v podnadpisu "Parametry zprávy" v části O vstupu myši.

Poznámky

Tato metoda obdrží WM_APPCOMMAND oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnAskCbFormatName

Architektura volá tuto členovou funkci, pokud schránka obsahuje popisovač dat pro CF_OWNERDISPLAY formát (to znamená, když vlastník schránky zobrazí obsah schránky).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parametry

nMaxCount
Určuje maximální počet bajtů, které se mají kopírovat.

lpszString
Odkazuje na vyrovnávací paměť, kde má být uložena kopie názvu formátu.

Poznámky

Vlastník schránky by měl zadat název jeho formátu.

Přepište tuto členovou funkci a zkopírujte název CF_OWNERDISPLAY formátu do zadané vyrovnávací paměti, který nepřekračuje maximální počet zadaných bajtů.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCancelMode

Architektura volá tuto členovu funkci, aby informovala CWnd o zrušení jakéhokoli interního režimu.

afx_msg void OnCancelMode();

Poznámky

Pokud má CWnd objekt fokus, volá se jeho OnCancelMode členová funkce při zobrazení dialogového okna nebo pole zprávy. Díky tomu můžete CWnd zrušit režimy, jako je zachytávání myší.

Výchozí implementace reaguje voláním ReleaseCapture funkce Systému Windows. Přepište tuto členovu funkci v odvozené třídě tak, aby zpracovávala jiné režimy.

CWnd::OnCaptureChanged

Architektura volá tuto členovu funkci, která upozorní okno, že dojde ke ztrátě zachytávání myši.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parametry

pWnd
Ukazatel na okno pro získání zachycení myši

Poznámky

Okno obdrží tuto zprávu i v případě, že volá ReleaseCapture sama sebe. Aplikace by se neměla pokoušet nastavit zachytávání myši v reakci na tuto zprávu. Když se zobrazí tato zpráva, mělo by se okno v případě potřeby překreslit, aby odráželo nový stav zachycení myši.

Informace o funkci Windows najdete v sadě ReleaseCapture Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnChangeCbChain

Architektura volá tuto členovou funkci pro každé okno v řetězu prohlížeče schránky, aby ho upozornila, že okno je odebráno z řetězu.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parametry

hWndRemove
Určuje popisovač okna, který se odebere z řetězu prohlížeče schránky.

hWndAfter
Určuje popisovač okna, který následuje za odebranými okny z řetězu prohlížeče schránky.

Poznámky

Každý CWnd objekt, který přijme OnChangeCbChain volání, by měl použít SendMessage funkci Windows k odeslání WM_CHANGECBCHAIN zprávy do dalšího okna v řetězci prohlížeče schránky (popisovač vrácený SetClipboardViewer). Pokud hWndRemove je další okno v řetězci, okno určené hWndAfter dalším oknem a zprávy schránky se do něj předají.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnChangeUIState

Volá se při změně stavu uživatelského rozhraní (UI).

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Parametry

nAction
Určuje akci, která se má provést. Může to být jedna z následujících hodnot:

  • UIS_CLEAR Prvek stavu uživatelského rozhraní (určený nUIElement) by měl být skrytý.

  • UIS_INITIALIZE Prvek stavu uživatelského rozhraní (zadaný nUIElement) by měl být změněn na základě poslední vstupní události. Další informace naleznete v části Poznámky v části WM_CHANGEUISTATE.

  • UIS_SET Měl by být viditelný prvek stavu uživatelského rozhraní (určený nUIElement) .

nUIElement
Určuje, které prvky stavu uživatelského rozhraní jsou ovlivněny, nebo styl ovládacího prvku. Může to být jedna z následujících hodnot:

  • UISF_HIDEACCEL Klávesové zkratky.

  • UISF_HIDEFOCUS Indikátory zaměření.

  • UISF_ACTIVE Windows XP: Ovládací prvek by měl být nakreslen ve stylu použitém pro aktivní ovládací prvky.

Poznámky

Tato členová funkce emuluje funkce WM_CHANGEUISTATE zprávy, jak je popsáno v sadě Windows SDK.

CWnd::OnChar

Architektura volá tuto členovou funkci, když se stisknutí klávesy přeloží na nesystémový znak.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Obsahuje hodnotu kódu znaku klíče.

nRepCnt
Obsahuje počet opakování, kolikrát se stisknutí klávesy opakuje, když uživatel stisknul klávesu.

nFlags
Obsahuje kód kontroly, kód přechodu na klíč, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota Význam
0-15 Určuje počet opakování. Hodnota je počet opakování stisknutí klávesy v důsledku toho, že uživatel drží stisknutou klávesu.
16-23 Určuje kód kontroly. Hodnota závisí na výrobci původního vybavení (OEM)
24 Určuje, jestli se jedná o rozšířenou klávesu, například klávesy ALT a CTRL vpravo, které se zobrazí na rozšířené klávesnici s 101 klávesami nebo 102 kláves. Hodnota je 1, pokud se jedná o rozšířený klíč; jinak je to 0.
25-28 Interně používá systém Windows.
29 Určuje kontextový kód. Hodnota je 1, pokud je klávesa ALT při stisknutí klávesy stisknuta dolů; jinak je hodnota 0.
30 Určuje předchozí stav klíče. Hodnota je 1, pokud je klíč před odesláním zprávy dolů, nebo je 0, pokud je klíč nahoru.
31 Určuje stav přechodu. Hodnota je 1, pokud je klávesa uvolněna, nebo je 0, pokud je stisknuta klávesa.

Poznámky

Tato funkce je volána před OnKeyUp členské funkce a po OnKeyDown zavolání členské funkce. OnChar obsahuje hodnotu klávesy klávesnice, kterou stisknete nebo uvolníte.

Vzhledem k tomu, že mezi klávesami stisknutou klávesou a OnChar vygenerovanými voláními nemusí nutně existovat 1:1, informace obecně nFlags nejsou pro aplikace užitečné. Informace nFlags platí pouze pro poslední volání OnKeyUp členské funkce nebo OnKeyDown členské funkce, která předchází volání OnChar.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice mohou podporovat bit rozšířené klávesy v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCharToItem

Volá se, když seznam se stylem LBS_WANTKEYBOARDINPUT pošle vlastníkovi WM_CHARTOITEM zprávu v odpovědi na WM_CHAR zprávu.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Parametry

nChar
Určuje hodnotu klávesy, kterou uživatel stiskl.

pListBox
Určuje ukazatel na seznam. Může to být dočasné.

nIndex
Určuje aktuální pozici kurzoru.

Vrácená hodnota

Architektura volá tuto členovou funkci k určení akce, kterou aplikace provedla v reakci na volání. Návratová hodnota -2 označuje, že aplikace zpracovala všechny aspekty výběru položky a nechce, aby se seznamem žádná další akce. Návratová hodnota -1 označuje, že seznam by měl provést výchozí akci v reakci na stisknutí klávesy. Návratová hodnota 0 nebo vyšší určuje index položky na základě nuly v seznamu a označuje, že seznam by měl provést výchozí akci pro stisknutí klávesy u dané položky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnChildActivate

CWnd Pokud je objekt podřízeným oknem více rozhraní dokumentu (MDI), volá se rozhraním, OnChildActivate když uživatel klikne na záhlaví okna nebo při aktivaci, přesunutí nebo velikosti okna.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Tato členská funkce je volána nadřazeným oknem tohoto okna, když obdrží zprávu s oznámením, která platí pro toto okno.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Číslo zprávy systému Windows odeslané do nadřazeného okna.

wParam
Wparam spojený se zprávou.

lParam
Lparam přidružený ke zprávě.

pLResult
Ukazatel na hodnotu, která se má vrátit z procedury okna nadřazeného objektu. Tento ukazatel bude NULL , pokud se neočekává žádná návratová hodnota.

Vrácená hodnota

Nenulové, pokud je toto okno zodpovědné za zpracování zprávy odeslané nadřazené zprávě; jinak 0.

Poznámky

Tuto členovu funkci nikdy nevolejte přímo.

Výchozí implementace této členské funkce vrátí hodnotu 0, což znamená, že nadřazený objekt by měl zpracovat zprávu.

Přepište tuto členovou funkci tak, aby rozšířil způsob, jakým ovládací prvek reaguje na zprávy s oznámeními.

CWnd::OnClipboardUpdate

Architektura volá tuto členovou funkci, když se změnil obsah schránky.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

Architektura volá tuto členovou funkci jako signál, že CWnd je ukončení aplikace nebo aplikace.

afx_msg void OnClose();

Poznámky

Výchozí volání DestroyWindowimplementace .

CWnd::OnColorizationColorChanged

Architektura volá tohoto člena, když se změnily zásady vykreslování pro oblast nonclient.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parametry

dwColorizationColor
[v] Určuje novou barvu zabarvení. Barevný formát je šestnáctkové číslo formuláře 0xAARRGGBB, kde se každý ze čtyř součástí pohybuje od 0x00 až 0xFF. Komponenta AA je alfa hodnota, RR je barva červená, GG je zelená a BB je modrá.

bOpacity
[v] TRUE je-li nová barva kombinována s neprůhledností; FALSE pokud to není.

Poznámky

Tato metoda obdrží WM_DWMNCRENDERINGCHANGED zprávu s oznámením, která je popsána v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCommand

Architektura volá tuto členovou funkci, když uživatel vybere položku z nabídky, když podřízený ovládací prvek odešle zprávu s oznámením nebo při přeložení klávesové zkratky.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parametry

wParam
Slovo s nízkým pořadím wParam identifikuje ID příkazu položky nabídky, ovládacího prvku nebo akcelerátoru. Slovo s vysokým pořadím wParam určuje zprávu oznámení, pokud je zpráva z ovládacího prvku. Pokud je zpráva z akcelerátoru, slovo ve vysokém pořadí je 1. Pokud je zpráva z nabídky, slovo ve vysokém pořadí je 0.

lParam
Identifikuje ovládací prvek, který zprávu odešle, pokud je zpráva z ovládacího prvku. lParam Jinak je to 0.

Vrácená hodnota

Aplikace vrátí nenulovou hodnotu, pokud zpracuje tuto zprávu; jinak 0.

Poznámky

OnCommand zpracovává mapu zpráv pro řídicí oznámení a ON_COMMAND položky a volá příslušnou členovou funkci.

Přepište tuto členovou funkci v odvozené třídě pro zpracování WM_COMMAND zprávy. Přepsání nezpracuje mapu zpráv, pokud není volána základní třída OnCommand .

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCompacting

Architektura volá tuto členovou funkci pro všechna okna nejvyšší úrovně, když Systém Windows zjistí, že více než 12,5 % systémového času v průběhu 30 až 60sekundového intervalu se tráví komprimací paměti.

afx_msg void OnCompacting(UINT nCpuTime);

Parametry

nCpuTime
Určuje poměr času procesoru aktuálně stráveného komprimací paměti systému Windows a času stráveného prováděním jiných operací. Například 8000h představuje 50 procent času procesoru stráveného komprimací paměti.

Poznámky

To znamená, že systémová paměť je nízká.

CWnd Když objekt obdrží toto volání, měl by uvolnit co nejvíce paměti, s ohledem na aktuální úroveň aktivity aplikace a celkový počet aplikací spuštěných ve Windows. Aplikace může volat funkci Systému Windows, aby určila, kolik aplikací běží.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCompareItem

Architektura volá tuto členovou funkci, která určuje relativní pozici nové položky v podřízené seřazené sestavě vlastník-kreslení se seznamem nebo seznamem.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parametry

nIDCtl
Identifikátor ovládacího prvku, který zprávu odeslal WM_COMPAREITEM .

lpCompareItemStruct
Obsahuje dlouhý ukazatel na datovou COMPAREITEMSTRUCT strukturu, která obsahuje identifikátory a data zadaná aplikací pro dvě položky v poli se seznamem nebo seznamem.

Vrácená hodnota

Určuje relativní pozici dvou položek. Může se jednat o některou z následujících hodnot:

Hodnota Význam
-1 Položka 1 seřadí před položkou 2.
0 Položka 1 a položka 2 seřadí stejně.
1 Položka 1 seřadí po položce 2.

Poznámky

Pokud je pole se seznamem nebo seznam vytvořené pomocí CBS_SORT stylu nebo LBS_SORT stylu, systém Windows odešle vlastníkovi WM_COMPAREITEM se seznamem nebo seznamu zprávu pokaždé, když aplikace přidá novou položku.

Dvě položky v poli se seznamem nebo seznamem jsou reformovány ve COMPAREITEMSTRUCT struktuře, na kterou lpCompareItemStructodkazuje . OnCompareItem by měla vrátit hodnotu, která označuje, které položky by se měly zobrazit před ostatními. Systém Windows obvykle provádí toto volání několikrát, dokud nezjádí přesnou pozici nové položky.

hwndItem Pokud člen COMPAREITEMSTRUCT struktury patří do objektu CListBox nebo CComboBox objektu, CompareItem je volána virtuální funkce příslušné třídy. Přepište CComboBox::CompareItem nebo CListBox::CompareItem v odvozené CListBox nebo CComboBox třídě proveďte porovnání položek.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCompositionChanged

Architektura volá tuto členovou funkci pro všechna okna nejvyšší úrovně při povolení nebo zakázání složení Správce oken plochy (DWM).

afx_msg void OnCompositionChanged();

Poznámky

Tato metoda obdrží WM_DWMCOMPOSITIONCHANGED oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnContextMenu

Volá se rozhraním, když uživatel v okně kliknul na pravé tlačítko myši (kliknul pravým tlačítkem myši).

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parametry

pWnd
Úchyt pro okno, ve kterém uživatel klikl pravým tlačítkem myši. Může se jednat o podřízené okno okna, které zprávu obdrží. Další informace o zpracování této zprávy naleznete v části Poznámky.

pos
Pozice kurzoru v souřadnicích obrazovky v době kliknutí myší.

Poznámky

Tuto zprávu můžete zpracovat zobrazením místní nabídky pomocí možnosti TrackPopupMenu.

Pokud nezobrazíte místní nabídku, měli byste tuto zprávu předat funkci DefWindowProc . Pokud je okno podřízené okno, DefWindowProc odešle zprávu nadřazené sadě. V opačném případě se zobrazí výchozí místní nabídka, DefWindowProc pokud je zadaná pozice v popis okna.

CWnd::OnCopyData

Tato členová funkce je volána rozhraním ke kopírování dat z jedné aplikace do druhé.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parametry

pWnd
Ukazatel na CWnd objekt, který odesílá data.

pCopyDataStruct
Ukazatel na COPYDATASTRUCT strukturu, která obsahuje odesílaná data.

Vrácená hodnota

Vrátí TRUE , pokud přijímající aplikace úspěšně přijme data. V opačném případě vrátí hodnotu FALSE.

Poznámky

Předávaná data nesmí obsahovat ukazatele ani jiné odkazy na objekty, které nejsou přístupné pro aplikaci přijímající data.

Při kopírování dat nesmí být změněna jiným vláknem procesu odesílání.

Přijímající aplikace by měla vzít v úvahu data jen pro čtení. Struktura, na kterou odkazuje parametr pCopyDataStruct , je platná pouze během přenosu dat. Přijímající aplikace by ale neměla uvolnit paměť přidruženou ke struktuře.

Pokud přijímající aplikace potřebuje přístup k datům po vrácení této funkce, musí zkopírovat data přijatá do místní vyrovnávací paměti.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCreate

Architektura volá tuto členovou funkci, když aplikace požaduje, aby okno Systému Windows bylo vytvořeno voláním Create nebo CreateEx členské funkce.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parametry

lpCreateStruct
Odkazuje na CREATESTRUCT strukturu, která obsahuje informace o objektu, CWnd který se vytváří.

Vrácená hodnota

OnCreate musí vrátit hodnotu 0, aby pokračovala ve vytváření objektu CWnd . Pokud aplikace vrátí hodnotu -1, okno bude zničeno.

Poznámky

Objekt CWnd obdrží toto volání po vytvoření okna, ale před jeho zobrazením. OnCreate je volána před vrácením Create členské CreateEx funkce.

Přepište tuto členovou funkci tak, aby prováděla veškerou potřebnou inicializaci odvozené třídy.

Struktura CREATESTRUCT obsahuje kopie parametrů použitých k vytvoření okna.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnCtlColor

Architektura volá tuto členovou funkci, když se chystá nakreslit podřízený ovládací prvek.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Parametry

pDC
Obsahuje ukazatel na kontext zobrazení podřízeného okna. Může být dočasný.

pWnd
Obsahuje ukazatel na ovládací prvek, který žádá o barvu. Může být dočasný.

nCtlColor
Obsahuje jednu z následujících hodnot určující typ ovládacího prvku:

  • CTLCOLOR_BTN Ovládací prvek Tlačítko

  • CTLCOLOR_DLG Dialogovém

  • CTLCOLOR_EDIT Upravit ovládací prvek

  • CTLCOLOR_LISTBOX Ovládací prvek Seznam

  • CTLCOLOR_MSGBOX Message box

  • CTLCOLOR_SCROLLBAR Ovládací prvek posuvníku

  • CTLCOLOR_STATIC Statický ovládací prvek

Vrácená hodnota

OnCtlColor musí vrátit úchyt na štětec, který se má použít k malování ovládacího prvku pozadí.

Poznámky

Většina ovládacích prvků odešle tuto zprávu rodičům (obvykle dialogové okno) a připraví pDC ovládací prvek na kreslení pomocí správných barev.

Pokud chcete změnit barvu textu, zavolejte členovou SetTextColor funkci s požadovanými červenými, zelenými a modrými hodnotami (RGB).

Pokud chcete změnit barvu pozadí ovládacího prvku pro úpravy s jedním řádkem, nastavte úchyt štětce v kódech CTLCOLOR_EDIT zpráv a CTLCOLOR_MSGBOX zavolejte CDC::SetBkColor funkci v reakci na CTLCOLOR_EDIT kód.

OnCtlColor nebude volána pro seznam rozevíracího seznamu, protože rozevírací seznam je ve skutečnosti podřízený pole se seznamem, nikoli podřízené okno. Pokud chcete změnit barvu rozevíracího seznamu, vytvořte CComboBox v parametru nCtlColor přepsáníOnCtlColor, které kontroluje CTLCOLOR_LISTBOX parametr. V této obslužné rutině SetBkColor musí být členová funkce použita k nastavení barvy pozadí textu.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte. Chcete-li do třídy dialogového okna přidat následující metodu, použijte podokno vlastností sady Visual Studio k přidání obslužné rutiny zprávy pro WM_CTLCOLOR. Alternativně můžete do mapy zpráv přidat ON_WM_CTLCOLOR() položku ručně.

Příklad

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

Architektura volá tuto členovou funkci, pokud OnKeyUp jsou volána členová funkce a OnKeyDown členské funkce.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje hodnotu znaku dead-key.

nRepCnt
Určuje počet opakování.

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota popis
0-7 Skenování kódu (hodnota závislá na OEM) Nízký bajt slova s vysokým pořadím.
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč, jinak 0).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, jinak 0)
14 Předchozí stav klíče (1, pokud je klíč před voláním vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

Poznámky

Tuto členovou funkci lze použít k určení hodnoty znaku mrtvého klíče. Mrtvý klíč je klíč, například znak umlaut (dvojitá tečka), který se zkombinuje s jinými znaky a vytvoří složený znak. Znak umlaut-O se například skládá z mrtvého klíče, umlaut a klíče O.

Aplikace obvykle používá OnDeadChar k tomu, aby uživateli poskytla zpětnou vazbu o jednotlivých stisknutých klávesách. Aplikace může například zobrazit zvýraznění v aktuální pozici znaku bez přesunutí kurzoru.

Vzhledem k tomu, že mezi stisknutými klávesami a OnDeadChar voláními nemusí nutně existovat 1:1, informace obecně nFlags nejsou pro aplikace užitečné. Informace nFlags platí pouze pro poslední volání OnKeyUp členské funkce nebo OnKeyDown členské funkce, která předchází OnDeadChar volání.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice mohou podporovat bit rozšířené klávesy v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnDeleteItem

Architektura volá tuto členovou funkci, aby informovala vlastníka seznamu vlastníka nebo pole se seznamem, že seznam nebo pole se seznamem je zničeno nebo že položky byly odebrány CComboBox::DeleteString, CListBox::DeleteString, CComboBox::ResetContent, nebo CListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parametry

nIDCtl
Identifikátor ovládacího prvku, který zprávu odeslal WM_DELETEITEM .

lpDeleteItemStruct
Určuje dlouhý ukazatel na datovou DELETEITEMSTRUCT strukturu, která obsahuje informace o odstraněné položce seznamu.

Poznámky

hwndItem Pokud člen DELETEITEMSTRUCT struktury patří do pole se seznamem nebo seznamu, DeleteItem je volána virtuální funkce příslušné třídy. DeleteItem Přepište členskou funkci třídy příslušného ovládacího prvku, aby se odstranila data specifická pro položky.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnDestroy

Architektura volá tuto členovu funkci, která informuje CWnd objekt, že je zničen.

afx_msg void OnDestroy();

Poznámky

OnDestroy je volána po CWnd odebrání objektu z obrazovky.

OnDestroy je volána jako první pro CWnd zničení, pak pro podřízená okna CWnd , jak jsou zničeny. Lze předpokládat, že všechna podřízená okna stále existují během OnDestroy spuštění.

CWnd Pokud je objekt zničený součástí řetězce prohlížeče schránky (nastavený voláním SetClipboardViewer členské funkce), CWnd musí se odebrat ze řetězu prohlížeče schránky voláním ChangeClipboardChain členské funkce před vrácením z OnDestroy funkce.

CWnd::OnDestroyClipboard

Architektura volá tuto členovou funkci pro vlastníka schránky, když je schránka vyprázdněna voláním EmptyClipboard funkce Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

Architektura volá tuto členovou funkci, která informuje aplikaci nebo ovladač zařízení o změně konfigurace hardwaru zařízení nebo počítače.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Parametry

nEventType
Typ události. Popis dostupných hodnot najdete v části Poznámky.

dwData
Adresa struktury, která obsahuje data specifická pro události. Jeho význam závisí na dané události.

Poznámky

U zařízení, která nabízejí funkce s možností řízení softwaru, jako je vysunutí a uzamykání, operační systém obvykle odesílá zprávu, která aplikacím DBT_DEVICEREMOVEPENDING a ovladačům zařízení umožní řádné ukončení jejich používání.

Pokud operační systém vynucuje odebrání zařízení, nemusí před tím odeslat DBT_DEVICEQUERYREMOVE zprávu.

Parametrem nEvent může být jedna z těchto hodnot:

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnDevModeChange

Architektura volá tuto členovou funkci pro všechny objekty nejvyšší úrovně CWnd , když uživatel změní nastavení režimu zařízení.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parametry

lpDeviceName
Odkazuje na název zařízení zadaný v souboru inicializace systému Windows , WIN.INI.

Poznámky

Aplikace, které zprávu zpracovávají WM_DEVMODECHANGE , mohou znovu inicializovat nastavení režimu zařízení. Aplikace, které funkci Windows ExtDeviceMode používají k ukládání a obnovení nastavení zařízení, obvykle tuto funkci nezpracují.

Tato funkce není volána, když uživatel změní výchozí tiskárnu z Ovládací panely. V tomto případě OnWinIniChange se volá funkce.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnDrawClipboard

Architektura volá tuto členovou funkci pro každé okno v řetězu prohlížeče schránky při změně obsahu schránky.

afx_msg void OnDrawClipboard();

Poznámky

Voláním SetClipboardViewer členské funkce musí na toto volání reagovat pouze aplikace, které se připojily ke řetězu prohlížeče schránky.

Každé okno, které přijme OnDrawClipboard volání, by mělo volat SendMessage funkci Windows, aby předala WM_DRAWCLIPBOARD zprávu do dalšího okna v řetězu prohlížeče schránky. Obslužná rutina dalšího okna je vrácena SetClipboardViewer členovou funkcí; může být změněna v reakci na OnChangeCbChain volání členské funkce.

CWnd::OnDrawIconicThumbnailOrLivePreview

Volané architekturou, když potřebuje získat rastr, který se má zobrazit na kartě Windows 7 miniatury, nebo v klientovi pro náhled aplikace.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Parametry

dc
Určuje kontext zařízení.

rect
Určuje ohraničující obdélník oblasti, která se má vykreslit.

szRequiredThumbnailSize
Určuje velikost cílové miniatury. Pokud je , FALSEměl by být ignorován bIsThumbnail .

bIsThumbnail
Určuje, jestli se tato metoda volá pro ikonickou miniaturu nebo dynamický náhled (náhled).

bAlphaChannelSet
[ven] Nastavte ji na TRUE , pokud vaše implementace inicializuje alfa kanál rastru vybraného v dc.

Poznámky

Tuto metodu přepište v odvozené třídě a kreslete na zadaný kontext zařízení, aby bylo možné přizpůsobit miniaturu a náhled. Pokud bThumbnail ano TRUE, szRequiredThumbnailSize můžete ho ignorovat. V tomto případě byste měli vědět, že nakreslíte rastrový obrázek v plné velikosti (to znamená rastrový obrázek, který pokrývá celou oblast klienta). Kontext zařízení (dc) se dodává s vybraným rastrovým obrázkem o 32 bitech. Výchozí implementace odešle WM_PRINT do tohoto okna s PRF_CLIENT, PRF_CHILDRENa PRF_NONCLIENT příznaky.

CWnd::OnDrawItem

Architektura volá tuto členovou funkci pro vlastníka ovládacího prvku tlačítka owner-draw, ovládací prvek se seznamem, ovládací prvek seznam nebo nabídku, pokud došlo ke změně vizuálního aspektu ovládacího prvku nebo nabídky.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametry

nIDCtl
Obsahuje identifikátor ovládacího prvku, který zprávu odeslal WM_DRAWITEM . Pokud nabídka odeslala zprávu, nIDCtl obsahuje hodnotu 0.

lpDrawItemStruct
Určuje dlouhý ukazatel na datovou DRAWITEMSTRUCT strukturu, která obsahuje informace o položce, která se má nakreslit, a typ požadovaného výkresu.

Poznámky

Člen itemActionDRAWITEMSTRUCT struktury definuje operaci kreslení, která se má provést. Data v tomto členu umožňují vlastníkovi ovládacího prvku určit, jaká akce výkresu je požadována.

Před návratem ze zpracování této zprávy by aplikace měla zajistit, aby byl kontext zařízení identifikovaný hDC členem DRAWITEMSTRUCT struktury obnoven do výchozího stavu.

hwndItem Pokud člen patří do objektu CButton, , CMenuCListBox, nebo CComboBox, je DrawItem volána virtuální funkce příslušné třídy. DrawItem Přepište členskou funkci třídy příslušného ovládacího prvku a nakreslete položku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnDropFiles

Architektura volá tuto členovou funkci, když uživatel uvolní levé tlačítko myši přes okno, které se zaregistrovalo jako příjemce vynechaných souborů.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parametry

hDropInfo
Ukazatel na interní datovou strukturu, která popisuje vyřazené soubory. Tento popisovač používá DragFinishfunkce , DragQueryFilea DragQueryPoint Windows k načtení informací o vyřazených souborech.

Poznámky

Odvozená třída bude obvykle navržena tak, aby podporovala vyřazené soubory a zaregistruje se při vytváření oken.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEnable

Architektura volá tuto členovou funkci, když aplikace změní povolený stav objektu CWnd .

afx_msg void OnEnable(BOOL bEnable);

Parametry

bEnable
Určuje, zda CWnd byl objekt povolen nebo zakázán. Tento parametr je TRUE v případě CWnd , že je povolený. Je FALSE to v případě CWnd , že byl zakázán.

Poznámky

OnEnable je volána před vrácením EnableWindow členské funkce, ale po změně stavu s povoleným oknem (WS_DISABLED bit stylu).

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEndSession

Architektura volá tuto členovou funkci poté, co CWnd objekt vrátil nenulovou hodnotu z OnQueryEndSession volání členské funkce.

afx_msg void OnEndSession(BOOL bEnding);

Parametry

bEnding
Určuje, jestli je relace ukončena nebo ne. Je-li TRUE relace ukončena, jinak FALSE.

Poznámky

Volání OnEndSession informuje CWnd objekt, zda relace skutečně končí.

Pokud bEnding ano TRUE, systém Windows může kdykoli ukončit, jakmile se všechny aplikace vrátí ze zpracování tohoto volání. V důsledku toho aplikace provádí všechny úlohy potřebné k ukončení v rámci OnEndSession.

Při ukončení relace není nutné volat DestroyWindow členovu funkci ani PostQuitMessage funkci Systému Windows.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEnterIdle

Architektura volá tuto členskou funkci, která informuje proceduru hlavního okna aplikace, že modální dialogové okno nebo nabídka zadává stav nečinnosti.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parametry

nWhy
Určuje, jestli je zpráva výsledkem dialogového okna nebo zobrazené nabídky. Tento parametr může být jedna z následujících hodnot:

  • MSGF_DIALOGBOX Systém je nečinný, protože se zobrazuje dialogové okno.

  • MSGF_MENU Systém je nečinný, protože se zobrazuje nabídka.

pWho
Určuje ukazatel na dialogové okno (pokud nWhy je MSGF_DIALOGBOX) nebo okno, které obsahuje zobrazenou nabídku (pokud nWhy je MSGF_MENU). Tento ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Modální dialogové okno nebo nabídka zadá stav nečinnosti, pokud žádné zprávy čekají ve frontě po zpracování jedné nebo více předchozích zpráv.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEnterMenuLoop

Architektura volá tuto členovou funkci, pokud byla zadána modální smyčka nabídky.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parametry

bIsTrackPopupMenu
Určuje, jestli se jedná o místní nabídku. Má nenulovou hodnotu, pokud je funkce úspěšná; jinak 0.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEnterSizeMove

Architektura volá tuto členskou funkci jednou poté, co ovlivněné okno přejde do modální smyčky pro přesunutí nebo změnu velikosti.

afx_msg void OnEnterSizeMove();

Poznámky

Tato metoda obdrží WM_ENTERSIZEMOVE oznámení, které je popsáno v sadě Windows SDK.

Okno zadá modální smyčku přesunutí nebo změnu velikosti, když uživatel klikne na záhlaví okna nebo ohraničení velikosti, nebo když okno předá WM_SYSCOMMAND zprávu CWnd::DefWindowProc do funkce a parametr wParam zprávy určuje SC_MOVE nebo SC_SIZE.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnEraseBkgnd

Architektura volá tuto členovu funkci, když pozadí objektu CWnd potřebuje vymazat (například při změně velikosti).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Parametry

pDC
Určuje objekt kontextu zařízení.

Vrácená hodnota

Nenulové, pokud vymaže pozadí; jinak 0.

Poznámky

Volá se k přípravě zneplatněné oblasti pro malování.

Výchozí implementace vymaže pozadí pomocí štětce třídy okna určeného hbrBackground členem struktury třídy okna.

hbrBackground Pokud je NULLčlenem , vaše přepsáná verze OnEraseBkgnd by měla vymazat barvu pozadí. Vaše verze by měla také zarovnat původ zamýšleného kartáče se CWnd souřadnicemi tím, že nejprve zavoláte UnrealizeObject štětec a pak vyberete štětec.

Přepsání OnEraseBkgnd by mělo vrátit nenulovou odpověď WM_ERASEBKGND , pokud zpracuje zprávu a vymaže pozadí. To znamená, že není nutné nic dalšího mazat. Pokud vrátí hodnotu 0, zůstane okno označené jako nutné vymazat. (Obvykle to znamená, že fErase člen PAINTSTRUCT struktury bude TRUE.)

Systém Windows předpokládá, že pozadí se vypočítá pomocí MM_TEXT režimu mapování. Pokud kontext zařízení používá jiný režim mapování, nemusí být oblast vymazána v viditelné části klientské oblasti.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnExitMenuLoop

Architektura volá tuto členovou funkci, když byla ukončena modální smyčka nabídky.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parametry

bIsTrackPopupMenu
Určuje, jestli se jedná o místní nabídku. Má nenulovou hodnotu, pokud je funkce úspěšná; jinak 0.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnExitSizeMove

Architektura volá tuto členskou funkci jednou poté, co ovlivněné okno ukončí pohybující se nebo změnu velikosti modální smyčky.

afx_msg void OnExitSizeMove();

Poznámky

Tato metoda obdrží WM_EXITSIZEMOVE oznámení, které je popsáno v sadě Windows SDK.

Okno přejde do modální smyčky přesunutí nebo velikosti, když uživatel klikne na záhlaví okna nebo ohraničení velikosti nebo když okno předá WM_SYSCOMMAND zprávu CWnd::DefWindowProc do funkce a wParam parametr zprávy určuje SC_MOVE nebo SC_SIZE.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnFontChange

Všechna okna nejvyšší úrovně v systému obdrží OnFontChange volání z architektury poté, co aplikace změní fond prostředků písem.

afx_msg void OnFontChange();

Poznámky

Aplikace, která přidává nebo odebírá písma ze systému (například prostřednictvím AddFontResourceRemoveFontResource funkce Windows), by měla zprávu odeslat WM_FONTCHANGE do všech oken nejvyšší úrovně.

Chcete-li odeslat tuto zprávu, použijte SendMessage funkci Windows s parametrem hWnd nastaveným na HWND_BROADCAST.

CWnd::OnGetDlgCode

Volal se pro ovládací prvek, aby ovládací prvek mohl zpracovat samotný vstup se šipkami a klávesou TAB.

afx_msg UINT OnGetDlgCode();

Vrácená hodnota

Jedna nebo více následujících hodnot označujících typ vstupu procesů aplikace:

  • DLGC_BUTTON Tlačítko (obecné)

  • DLGC_DEFPUSHBUTTON Výchozí tlačítko.

  • DLGC_HASSETSELEM_SETSEL Zprávy.

  • DLGC_UNDEFPUSHBUTTON Žádné výchozí zpracování tlačítka. (Aplikace může tento příznak DLGC_BUTTON použít k označení, že zpracovává vstup tlačítka, ale spoléhá na systém pro výchozí zpracování tlačítka.)

  • DLGC_RADIOBUTTON Přepínač.

  • DLGC_STATIC Statický ovládací prvek.

  • DLGC_WANTALLKEYS Všechny vstupy z klávesnice.

  • DLGC_WANTARROWS Šipky.

  • DLGC_WANTCHARSWM_CHAR Zprávy.

  • DLGC_WANTMESSAGE Všechny vstupy z klávesnice. Aplikace předá tuto zprávu ovládacímu prvku.

  • DLGC_WANTTAB Klávesa TAB.

Poznámky

Systém Windows za normálních okolností zpracovává všechny klávesy se šipkami a klávesou CWnd TAB vstup do ovládacího prvku. Přepsáním OnGetDlgCodemůže CWnd ovládací prvek zvolit konkrétní typ vstupu, který se má zpracovat sám.

Výchozí OnGetDlgCode funkce pro předdefinované třídy ovládacích prvků vrací kód vhodný pro každou třídu.

CWnd::OnGetMinMaxInfo

Tato členová funkce volá vždy, když Systém Windows potřebuje znát maximalizovanou pozici nebo rozměry nebo minimální nebo maximální velikost sledování.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parametry

lpMMI
Odkazuje na MINMAXINFO strukturu, která obsahuje informace o maximalizované velikosti a poloze okna a minimální a maximální velikosti sledování. Další informace o této struktuře najdete v této struktuře MINMAXINFO .

Poznámky

Maximalizovaná velikost je velikost okna, když jsou ohraničení plně rozšířena. Maximální velikost sledování okna je největší velikost okna, kterou lze dosáhnout pomocí ohraničení k nastavení velikosti okna. Minimální velikost sledování okna je nejmenší velikost okna, kterou lze dosáhnout pomocí ohraničení k nastavení velikosti okna.

Okna vyplní matici bodů určující výchozí hodnoty pro různé pozice a rozměry. Aplikace může tyto hodnoty změnit v OnGetMinMaxInfo.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnHelp

Zpracovává nápovědu F1 v aplikaci (pomocí aktuálního kontextu).

afx_msg void OnHelp();

Poznámky

Další informace naleznete v tématu CWinApp::OnHelp.

CWnd::OnHelpFinder

Zpracovává příkazy ID_HELP_FINDER a ID_DEFAULT_HELP příkazy.

afx_msg void OnHelpFinder();

Poznámky

Další informace naleznete v tématu CWinApp::OnHelpFinder.

CWnd::OnHelpIndex

Zpracovává příkaz a poskytuje výchozí téma nápovědy ID_HELP_INDEX .

afx_msg void OnHelpIndex();

Poznámky

Další informace naleznete v tématu CWinApp::OnHelpIndex.

CWnd::OnHelpInfo

Volá se rozhraním, když uživatel stiskne klávesu F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parametry

lpHelpInfo
Ukazatel na HELPINFO strukturu, která obsahuje informace o položce nabídky, ovládacím prvku, dialogovém okně nebo okně, pro které je požadována nápověda.

Vrácená hodnota

Vrátí TRUE , pokud má okno fokus klávesnice nebo pokud je v okně aktivní nabídka. Pokud žádné okno nemá fokus klávesnice, vrátí hodnotu FALSE.

Poznámky

Pokud je při stisknutí klávesy F1 aktivní nabídka, WM_HELP odešle se do okna přidruženého k nabídce. V opačném případě se odešle do okna s WM_HELP fokusem klávesnice. Pokud žádné okno nemá fokus klávesnice, WM_HELP odešle se do aktuálně aktivního okna.

CWnd::OnHelpUsing

ID_HELP_USING Zpracuje příkaz.

afx_msg void OnHelpUsing();

Poznámky

Další informace naleznete v tématu CWinApp::OnHelpUsing.

CWnd::OnHotKey

Architektura volá tuto členovou funkci, když uživatel stiskne systémovou klávesu.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parametry

nHotKeyId
[v] Identifikátor klávesové zkratky, která zprávu vygenerovala. Pokud zprávu vygenerovala systémově definovaná klávesová zkratka, bude tento parametr jednou z následujících hodnot:

  • IDHOT_SNAPDESKTOP - Přichycená stolní klávesa byla stisknuta.
  • IDHOT_SNAPWINDOW - Byla stisknuta klávesa s oknem přichycení.

nKey1
[v] Bitové kombinace (OR) příznaků, které označují klávesy, které byly stisknuty v kombinaci s klávesou určenou parametrem nKey2 . Možné hodnoty:

  • MOD_ALT - Podržela se klávesa ALT.
  • MOD_CONTROL – Podržení klávesy CTRL
  • MOD_SHIFT - Podržela se klávesa SHIFT.
  • MOD_WIN - Buď klíč windows byl podržděný. Tyto klíče jsou označené logem Microsoft Windows.

nKey2
[v] Kód virtuálního klíče klávesové zkratky.

Poznámky

Tato metoda obdrží WM_HOTKEY oznámení, které je popsáno v sadě Windows SDK. Tato zpráva je umístěna v horní části fronty zpráv přidružené k vláknu, které zaregistrovalo horký klíč. RegisterHotKey Pomocí funkce zaregistrujte klávesovou zkratku pro celý systém.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnHScroll

Architektura volá tuto členskou funkci, když uživatel klikne na vodorovný posuvník okna.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametry

nSBCode
Určuje posuvníkový kód, který označuje požadavek uživatele na posouvání. Tento parametr může být jeden z následujících:

  • SB_LEFT Posuňte se úplně doleva.

  • SB_ENDSCROLL Ukončete posouvání.

  • SB_LINELEFT Posuňte se doleva.

  • SB_LINERIGHT Posuňte se doprava.

  • SB_PAGELEFT Posuňte se o jednu stránku doleva.

  • SB_PAGERIGHT Posuňte se o jednu stránku doprava.

  • SB_RIGHT Posuňte se úplně doprava.

  • SB_THUMBPOSITION Posuňte se na absolutní pozici. Aktuální pozice je určena parametrem nPos .

  • SB_THUMBTRACK Přetáhněte posuvník na zadanou pozici. Aktuální pozice je určena parametrem nPos .

nPos
Určuje pozici posuvníku, pokud je SB_THUMBPOSITION kód posuvníku nebo SB_THUMBTRACK; jinak se nepoužívá. V závislosti na počátečním rozsahu nPos posouvání může být záporné a v případě potřeby by mělo být přetypování na řadu int .

pScrollBar
Pokud zpráva posouvání pochází z ovládacího prvku posuvníku, obsahuje ukazatel na ovládací prvek. Pokud uživatel klikl na posuvník okna, je NULLtento parametr . Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Kód SB_THUMBTRACK posuvníku obvykle používají aplikace, které při přetahování posuvníku poskytují zpětnou vazbu.

Pokud aplikace posune obsah řízený posuvníkem, musí také obnovit umístění posuvníku pomocí SetScrollPos členské funkce.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

Příklad

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

Členská funkce vlastníka OnHScrollClipboard schránky je volána prohlížečem schránky, pokud data schránky mají CF_OWNERDISPLAY formát a v vodorovném posuvníku prohlížeče schránky je událost.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametry

pClipAppWnd
Určuje ukazatel na okno prohlížeče schránky. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

nSBCode
Určuje jeden z následujících kódů posuvníků ve slově s nízkým pořadím:

  • SB_BOTTOM Posuňte se doprava dolů.

  • SB_ENDSCROLL Ukončete posouvání.

  • SB_LINEDOWN Posuňte se o jeden řádek dolů.

  • SB_LINEUP Posuňte se o jeden řádek nahoru.

  • SB_PAGEDOWN Posuňte se o jednu stránku dolů.

  • SB_PAGEUP Posuňte se o jednu stránku nahoru.

  • SB_THUMBPOSITION Posuňte se na absolutní pozici. Aktuální pozice je uvedena v nPos.

  • SB_TOP Posuňte se doleva nahoru.

nPos
Obsahuje pozici posuvníku, pokud je SB_THUMBPOSITIONkód posuvníku ; jinak se nepoužívá.

Poznámky

Vlastník by měl posunout obrázek schránky, zneplatnit příslušný oddíl a aktualizovat hodnoty posuvníku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnIconEraseBkgnd

Architektura volá tuto členskou funkci pro minimalizovaný (ikonický) CWnd objekt, když pozadí ikony musí být vyplněno před nakreslením ikony.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Parametry

pDC
Určuje objekt kontextu zařízení ikony. Může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

CWnd přijímá toto volání pouze v případě, že je definována ikona třídy pro výchozí implementaci okna; jinak OnEraseBkgnd je volána.

Členová DefWindowProc funkce vyplní pozadí ikony štětcem pozadí nadřazeného okna.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnInitMenu

Architektura volá tuto členovou funkci, když se nabídka chystá aktivovat.

afx_msg void OnInitMenu(CMenu* pMenu);

Parametry

pMenu
Určuje nabídku, která se má inicializovat. Může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

OnInitMenu je volána, když uživatel klikne na položku na řádku nabídek nebo stiskne klávesu nabídky. Přepište tuto členovu funkci tak, aby před zobrazením upravovala nabídku.

OnInitMenu je volána pouze jednou, když se k nabídce poprvé přistupuje (například když uživatel klikne na položku na řádku nabídek). Tato metoda neposkytuje informace o položkách nabídky. Když se uživatel přesune k položkám v nabídce (například přesunutím myši přes několik položek nabídky), funkce se znovu nevolá. Jakmile uživatel opustí nabídku (například kliknutím na oblast klienta aplikace) a později klikne na položku na řádku nabídek, funkce se znovu zavolá.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnInitMenuPopup

Architektura volá tuto členovou funkci, když se chystá aktivovat místní nabídka.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parametry

pPopupMenu
Určuje objekt nabídky místní nabídky. Může být dočasný a neměl by být uložen pro pozdější použití.

nIndex
Určuje index místní nabídky v hlavní nabídce.

bSysMenu
TRUE pokud místní nabídka je nabídka Řízení; jinak FALSE.

Poznámky

Aplikace tak může před zobrazením upravit místní nabídku, aniž by změnila celou nabídku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnInputDeviceChange

Architektura volá tuto členovou funkci při přidání nebo odebrání vstupně-výstupního zařízení ze systému.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parametry

uFlag
[v] Tento příznak může obsahovat následující hodnoty:

  • GIDC_ARRIVAL - Do systému se přidalo nové zařízení.
  • GIDC_REMOVAL - Zařízení bylo odebráno ze systému.

Poznámky

Tato metoda obdrží WM_INPUT_DEVICE_CHANGE oznámení, které je popsáno v sadě Windows SDK. Jedná se o obecnou zprávu o vstupním zařízení.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnInputLangChange

Architektura volá tohoto člena pro nejvíce ovlivněné okno po změně jazyka zadávání aplikace.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parametry

nCharSet
[v] Znaková sada nového národního prostředí. Další informace naleznete v lfCharSet parametru LOGFONT struktury.

nLocaleId
[v] Vstupní identifikátor národního prostředí. Další informace naleznete v tématu Konstanty a řetězce identifikátoru jazyka.

Poznámky

Tato metoda obdrží WM_INPUTLANGCHANGE zprávu s oznámením, která je popsána v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnInputLangChangeRequest

Architektura volá tohoto člena pro okno s fokusem, když uživatel zvolí nový jazyk zadávání.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parametry

nFlags
[v] Bitové (OR) kombinace příznaků, které označují, že nové národní prostředí bylo vybráno z předchozího nebo dalšího národního prostředí v nainstalovaném seznamu národních prostředí nebo že nové rozložení klávesnice vstupního národního prostředí lze použít se systémovou znakovou sadou. Možné hodnoty jsou INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDa INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[v] Vstupní identifikátor národního prostředí. Další informace naleznete v tématu Konstanty a řetězce identifikátoru jazyka.

Poznámky

Tato metoda obdrží WM_INPUTLANGCHANGEREQUEST zprávu s oznámením, která je popsána v sadě Windows SDK. Tato zpráva se publikuje, když uživatel zvolí nový jazyk zadávání pomocí klávesové zkratky zadané v aplikaci ovládacích panelů klávesnice nebo z indikátoru na hlavním panelu systému.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnKeyDown

Architektura volá tuto členovou funkci, když je stisknuta nesystémová klávesa.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje kód virtuálního klíče daného klíče. Seznam standardních kódů virtuálních klíčů najdete v tématu Winuser.h

nRepCnt
Počet opakování (počet opakování stisknutí klávesy se opakuje v důsledku toho, že uživatel drží stisknutou klávesu).

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota popis
0-7 Skenování kódu (hodnota závislá na OEM)
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, jinak 0)
14 Předchozí stav klíče (1, pokud je klíč před voláním vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

WM_KEYDOWN U zprávy je bit přechodu klíče (bit 15) 0 a bit kódu kontextu (bit 13) je 0.

Poznámky

Nesystémová klávesa je klávesa klávesnice, která se stiskne, když není stisknutá klávesa ALT, nebo klávesová klávesa, která se stiskne, když CWnd je fokus na vstupu.

Kvůli automatickému opakování může před voláním OnKeyUp členské funkce dojít k více než jednomu OnKeyDown volání. Bit, který označuje předchozí stav klíče, lze použít k určení, zda OnKeyDown je volání prvním přechodem dolů nebo opakovaným přechodem dolů.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice mohou podporovat bit rozšířené klávesy v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnKeyUp

Architektura volá tuto členovou funkci při uvolnění nesystémového klíče.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje kód virtuálního klíče daného klíče. Seznam standardních kódů virtuálních klíčů najdete v tématu . Winuser.h

nRepCnt
Počet opakování (počet opakování stisknutí klávesy se opakuje v důsledku toho, že uživatel drží stisknutou klávesu).

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota popis
0-7 Skenování kódu (hodnota závislá na OEM) Nízký bajt slova s vysokým pořadím.
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč, jinak 0).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, jinak 0)
14 Předchozí stav klíče (1, pokud je klíč před voláním vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

WM_KEYUP U zprávy je bit přechodu klíče (bit 15) 1 a bit kódu kontextu (bit 13) je 0.

Poznámky

Nesystémová klávesa je klávesa klávesnice, která se stiskne, když není stisknutá klávesa ALT, nebo klávesová klávesa, která se stiskne, když CWnd je fokus vstupu.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice můžou podporovat bit rozšířených kláves v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnKillFocus

Architektura volá tuto členovu funkci bezprostředně před ztrátou vstupního fokusu.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Parametry

pNewWnd
Určuje ukazatel na okno, které přijímá vstupní fokus (může být nebo může být NULL dočasný).

Poznámky

CWnd Pokud objekt zobrazuje stříšku, měla by být v tomto okamžiku zničena stříška.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnLButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na levé tlačítko myši.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Volání budou přijímat OnLButtonDblClk pouze okna, která mají CS_DBLCLKSWNDCLASS styl. Toto je výchozí nastavení pro okna třídy Microsoft Foundation. Systém Windows volá OnLButtonDblClk , když uživatel stiskne, uvolní a potom znovu stiskne levé tlačítko myši v rámci časového limitu poklikání systému. Poklikáním na levé tlačítko myši ve skutečnosti vygenerujete čtyři události: WM_LBUTTONDOWNzprávy WM_LBUTTONUP , WM_LBUTTONDBLCLK volání a další WM_LBUTTONUP zprávu při uvolnění tlačítka.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnLButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne levé tlačítko myši.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnLButtonUp

Architektura volá tuto členovu funkci, když uživatel uvolní levé tlačítko myši.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na prostřední tlačítko myši.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Volání budou přijímat OnMButtonDblClk pouze okna, která mají CS_DBLCLKSWNDCLASS styl. Toto je výchozí hodnota pro všechna okna třídy Microsoft Foundation. Systém Windows vygeneruje OnMButtonDblClk volání, když uživatel stiskne, uvolní a potom znovu stiskne prostřední tlačítko myši v rámci časového limitu poklikání systému. Poklikáním na prostřední tlačítko myši se ve skutečnosti generují čtyři události: WM_MBUTTONDOWN a zprávy, WM_MBUTTONDBLCLK volání a další WM_MBUTTONUPWM_MBUTTONUP zpráva.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMButtonDown

Rozhraní volá tuto členovou funkci, když uživatel stiskne prostřední tlačítko myši.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMButtonUp

Rozhraní volá tuto členovu funkci, když uživatel uvolní prostřední tlačítko myši.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMDIActivate

Architektura volá tuto členovu funkci pro deaktivované podřízené okno a aktivované podřízené okno.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parametry

bActivate
TRUE pokud je dítě aktivováno a FALSE pokud je deaktivováno.

pActivateWnd
Obsahuje ukazatel na podřízené okno MDI, které se má aktivovat. Při přijetí podřízeným oknem pActivateWnd MDI obsahuje ukazatel na aktivované podřízené okno. Tento ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

pDeactivateWnd
Obsahuje ukazatel na deaktivované podřízené okno MDI. Tento ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Podřízené okno MDI je aktivováno nezávisle na okně rámce MDI. Když se rámec aktivuje, zobrazí se podřízené okno, které bylo naposledy WM_NCACTIVATE aktivováno volánímOnMDIActivate, zprávu o vykreslení aktivního rámečku okna a popis pruhu, ale neobdrží další OnMDIActivate volání.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMeasureItem

Architektura volá tuto členovou funkci podle architektury pro vlastníka tlačítka pro kreslení vlastníka, pole se seznamem, seznamem nebo položku nabídky při vytvoření ovládacího prvku.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Parametry

nIDCtl
ID ovládacího prvku.

lpMeasureItemStruct
Odkazuje na datovou MEASUREITEMSTRUCT strukturu, která obsahuje rozměry ovládacího prvku owner-draw.

Poznámky

Přepište tuto členovou funkci a vyplňte MEASUREITEMSTRUCT datovou strukturu, na kterou lpMeasureItemStruct odkazuje a na kterou se vrátí. To informuje Systém Windows o rozměrech ovládacího prvku a umožňuje systému Windows správně zpracovávat interakci uživatele s ovládacím prvku.

Pokud je seznam nebo pole se seznamem vytvořené pomocí LBS_OWNERDRAWVARIABLE stylu nebo CBS_OWNERDRAWVARIABLE stylu, architektura volá tuto funkci pro vlastníka pro každou položku v ovládacím prvku; jinak se tato funkce volá jednou.

Systém Windows zahájí volání OnMeasureItem vlastníka polí se seznamem a seznamů vytvořených pomocí OWNERDRAWFIXED stylu před odesláním WM_INITDIALOG zprávy. V důsledku toho, když vlastník obdrží toto volání, Systém Windows ještě nezomešil výšku a šířku písma použitého v ovládacím prvku; volání funkcí a výpočty, které vyžadují tyto hodnoty, by měly nastat v hlavní funkci aplikace nebo knihovny.

Pokud je měřená položka objekt nebo CMenuCListBoxCComboBox , MeasureItem je volána virtuální funkce příslušné třídy. MeasureItem Přepište členskou funkci třídy příslušného ovládacího prvku, která vypočítá a nastaví velikost každé položky.

OnMeasureItembude volána pouze v případě, že je třída ovládacího prvku vytvořena za běhu nebo je vytvořena pomocí LBS_OWNERDRAWVARIABLE stylu.CBS_OWNERDRAWVARIABLE Pokud je ovládací prvek vytvořen editorem dialogového okna, OnMeasureItem nebude volána. Důvodem je to, že WM_MEASUREITEM zpráva se odesílá v rané fázi procesu vytváření ovládacího prvku. Pokud podtřídu použijete , DDX_ControlSubclassDlgItemnebo SubclassWindow, podtřídy obvykle nastane po vytvoření procesu. Proto neexistuje způsob, jak zpracovat WM_MEASUREITEM zprávu ve funkci ovládacího prvku OnChildNotify , což je mechanismus MFC používá k implementaci ON_WM_MEASUREITEM_REFLECT.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMenuChar

Architektura volá tuto členskou funkci, když uživatel stiskne znak nabídky mnemonic, který neodpovídá žádnému z předdefinovaných mnemonics v aktuální nabídce.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Parametry

nChar
V závislosti na nastavení sestavení určuje znak ANSI nebo Unicode, který uživatel stiskl.

nFlags
MF_POPUP Obsahuje příznak, pokud je nabídka místní nabídkou. MF_SYSMENU Obsahuje příznak, pokud se jedná o nabídku Ovládací prvek.

pMenu
Obsahuje ukazatel na vybranou CMenumožnost . Ukazatel může být dočasný a neměl by být uložený.

Vrácená hodnota

Slovo s vysokým pořadím návratové hodnoty by mělo obsahovat jeden z následujících kódů příkazů:

Hodnota popis
0 Řekne systému Windows, aby zahodil znak, který uživatel stiskl, a vytvoří na systémovém reproduktoru krátkou pípnutí.
1 Řekne systému Windows, aby zavřel aktuální nabídku.
2 Informuje Systém Windows, že slovo s nízkým pořadím návratové hodnoty obsahuje číslo položky pro určitou položku. Tato položka je vybrána systémem Windows.

Slovo s nízkým pořadím je ignorováno, pokud slovo s vysokým pořadím obsahuje hodnotu 0 nebo 1. Aplikace by měly tuto zprávu zpracovat, když jsou klávesy akcelerátoru (klávesové zkratky) použity k výběru rastrových obrázků umístěných v nabídce.

Poznámky

Odešle se do CWnd nabídky, která vlastní nabídku. OnMenuChar je volána také, když uživatel stiskne klávesu ALT a jakoukoli jinou klávesu, i když klávesa neodpovídá měmnickému znaku. V tomto případě pMenu odkazuje na nabídku vlastněnou CWndnFlags a je 0.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMenuDrag

Architektura volá tuto členovou funkci aktuální nabídky přetažení, když uživatel začne přetahovat položku nabídky.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parametry

nPos
[v] Umístění indexu položky nabídky při zahájení operace přetažení.

pMenu
[v] Ukazatel na CMenu objekt, který obsahuje položku nabídky.

Vrácená hodnota

Vrácená hodnota Význam
MND_CONTINUE Nabídka by měla zůstat aktivní. Pokud je myš uvolněna, měla by být ignorována.
MND_ENDMENU Nabídka by měla být ukončena.

Poznámky

Tato metoda obdrží WM_MENUDRAG oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMenuGetObject

Architektura volá tuto členovou funkci aktuální nabídky přetažení, když kurzor myši zadá položku nabídky nebo se přesune ze středu položky do horní nebo dolní části položky.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parametry

pMenu
[v] Ukazatel na MENUGETOBJECTINFO strukturu obsahující informace o nabídce přetažení, na které je kurzor myši zapnutý.

Vrácená hodnota

Vrácená hodnota Význam
MNGO_NOERROR Ukazatel rozhraní, který podporuje operace přetažení a přetažení, se vrátí ve pvObj členu MENUGETOBJECTINFO struktury. V současné době se podporuje pouze IDropTarget rozhraní.
MNGO_NOINTERFACE Nepodporuje se žádné přetahování a přetahování rozhraní.

Poznámky

Tato metoda obdrží WM_MENUGETOBJECT oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMenuRButtonUp

Architektura volá tuto členovou funkci, když uživatel uvolní pravé tlačítko myši, zatímco kurzor je na položce nabídky.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parametry

nPos
[v] Umístění indexu položky nabídky při uvolnění pravého tlačítka myši.

pMenu
[v] Ukazatel na CMenu objekt, který obsahuje položku nabídky.

Poznámky

Tato metoda obdrží WM_MENURBUTTONUP oznámení, které je popsáno v sadě Windows SDK. Tato WM_MENURBUTTONUP zpráva umožňuje aplikaci poskytnout místní nabídku pro položku nabídky zadanou ve zprávě.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMenuSelect

CWnd Pokud je objekt přidružen k nabídce, je volána rozhraním, OnMenuSelect když uživatel vybere položku nabídky.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Parametry

nItemID
Identifikuje vybranou položku. Pokud je vybraná položka položkou nabídky, nItemID obsahuje ID položky nabídky. Pokud vybraná položka obsahuje místní nabídku, nItemID obsahuje index místní nabídky a hSysMenu obsahuje úchyt hlavní nabídky (kliknuto).

nFlags
Obsahuje kombinaci následujících příznaků nabídky:

  • MF_BITMAP Položka je rastrový obrázek.

  • MF_CHECKED Položka je zaškrtnutá.

  • MF_DISABLED Položka je zakázaná.

  • MF_GRAYED Položka je neaktivní.

  • MF_MOUSESELECT Položka byla vybrána myší.

  • MF_OWNERDRAW Položka je položka pro kreslení vlastníkem.

  • MF_POPUP Položka obsahuje místní nabídku.

  • MF_SEPARATOR Položka je oddělovač položek nabídky.

  • MF_SYSMENU Položka je obsažena v nabídce Ovládací prvek.

hSysMenu
Pokud nFlags obsahuje MF_SYSMENU, identifikuje nabídku přidruženou ke zprávě. Pokud nFlags obsahuje MF_POPUP, identifikuje popisovač hlavní nabídky. Pokud nFlags neobsahuje ani MF_POPUPMF_SYSMENU , nepoužívá se.

Poznámky

Pokud nFlags obsahuje 0xFFFF a hSysMenu obsahuje hodnotu 0, systém Windows nabídku zavřel, protože uživatel stiskl klávesu ESC nebo kliknul mimo nabídku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMouseActivate

Architektura volá tuto členovou funkci, když je kurzor v neaktivním okně a uživatel stiskne tlačítko myši.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Parametry

pDesktopWnd
Určuje ukazatel na nadřazené okno nejvyšší úrovně aktivovaného okna. Ukazatel může být dočasný a neměl by být uložený.

nHitTest
Určuje směrové číslo oblasti hit-test . Test hitu je test, který určuje umístění kurzoru.

message
Určuje číslo zprávy myši.

Vrácená hodnota

Určuje, zda se má aktivovat CWnd událost myši a zda se má událost myši zahodit. Musí to být jedna z následujících hodnot:

  • MA_ACTIVATE Aktivujte CWnd objekt.

  • MA_NOACTIVATE Neaktivujte CWnd objekt.

  • MA_ACTIVATEANDEAT Aktivujte CWnd objekt a zahoďte událost myši.

  • MA_NOACTIVATEANDEAT Neaktivujte CWnd objekt a zahoďte událost myši.

Poznámky

Výchozí implementace předá tuto zprávu nadřazené okno před jakýmkoli zpracováním. Pokud nadřazené okno vrátí hodnotu PRAVDA, zpracování se zastaví.

Popis jednotlivých směrových kódů oblastí hit-test naleznete v OnNcHitTest členské funkci.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

Příklad

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

Architektura volá tuto členskou funkci, když kurzor najede na klientskou oblast okna po dobu uvedenou v předchozím volání TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_MOUSEHOVER oznámení, které je popsáno v sadě Windows SDK.

Parametr nFlags může být kombinací modifikačních kláves uvedených v následující tabulce. Další informace naleznete v tématu O vstupu myši.

Modifikační klávesa Popis
MK_CONTROL Stisknete klávesu CTRL.
MK_LBUTTON Levé tlačítko myši se stiskne.
MK_MBUTTON Prostřední tlačítko myši se stiskne.
MK_RBUTTON Pravé tlačítko myši se stiskne.
MK_SHIFT Stisknete klávesu SHIFT.
MK_XBUTTON1 Stisknete XBUTTON1 tlačítko myši microsoft IntelliMouse.
MK_XBUTTON2 Stisknete XBUTTON2 tlačítko myši microsoft IntelliMouse.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMouseHWheel

Architektura volá tohoto člena, když je vodorovné kolečko myši nakloněné nebo otočené.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametry

nFlags
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL. Seznam příznaků naleznete v podnadpisu Parametry zprávy v části O vstupu myši.

zDelta
[v] Označuje vzdálenost, o kterou je kolo otočené, vyjádřené v násobcích nebo děleních WHEEL_DELTA, což je 120. Kladná hodnota označuje, že kolo bylo otočené doprava; záporná hodnota označuje, že kolečko bylo otočené doleva.

pt
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_MOUSEHWHEEL zprávu s oznámením, která je popsána v sadě Windows SDK. Tato zpráva se odešle do okna s fokusem, když je vodorovné kolečko myši nakloněné nebo otočené.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMouseLeave

Architektura volá tuto členskou funkci, když kurzor opustí klientskou oblast okna určeného před voláním TrackMouseEvent.

afx_msg void OnMouseLeave();

Poznámky

Tato metoda obdrží WM_MOUSELEAVE oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMouseMove

Architektura volá tuto členovu funkci, když se přesune kurzor myši.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Pokud se myš nezachytí, WM_MOUSEMOVE zpráva se přijme objektem CWnd pod kurzorem myši. V opačném případě zpráva přejde do okna, které zachytilo myš.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMouseWheel

Architektura volá tuto členskou funkci jako uživatel otočí kolečko myši a narazí na další zářez kola.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, pokud je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

zDelta
Označuje vzdálenost otočenou. Hodnota zDelta je vyjádřena v násobcích nebo děleních WHEEL_DELTA, což je 120. Hodnota menší než nula označuje otočení zpět (směrem k uživateli), zatímco hodnota větší než nula označuje otáčení vpřed (mimo uživatele). Uživatel může tuto odpověď obrátit změnou nastavení kolečka v softwaru myši. Další informace o tomto parametru najdete v poznámkách.

pt
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Vrácená hodnota

Nenulové, pokud je povoleno posouvání kolečkem myši; jinak 0.

Poznámky

Pokud není přepsáno, OnMouseWheel volá výchozí hodnotu WM_MOUSEWHEEL. Systém Windows automaticky směruje zprávu do ovládacího prvku nebo podřízeného okna s fokusem. Funkce DefWindowProc Win32 rozšíří zprávu o nadřazený řetězec do okna, které ji zpracuje.

Parametr zDelta je násobek WHEEL_DELTA, který je nastaven na 120. Tato hodnota je prahová hodnota pro akci, která se má provést, a jedna taková akce (například posouvání o jeden zářez) by se měla objevit pro každou rozdílovou hodnotu.

WHEEL_DELTA bylo nastaveno na 120, aby bylo možné jemně rozlišovat kolečka, jako je volně rotující kolo bez zářezů. Kolečko s jemným rozlišením odesílá více zpráv na otočení, ale každá zpráva má menší rozdílovou hodnotu. Pokud chcete takové kolečko použít, přidejte příchozí zDelta hodnoty, dokud WHEEL_DELTA nedosáhnete (abyste získali stejnou odpověď pro dané rozdílové otočení), nebo se v odpovědi na častější zprávy posuňte částečné řádky. Můžete také zvolit členitost posouvání a shromáždí rozdíly, dokud WHEEL_DELTA nedosáhnete.

Přepište tuto členovou funkci tak, aby poskytovala vlastní chování posouvání kolečkem myši.

Poznámka

OnMouseWheelzpracovává zprávy pro systém Windows NT 4.0 a novější verze. Pro Windows 95/98 nebo systém Windows NT zpracování zpráv 3.51 použijte OnRegisteredMouseWheel.

CWnd::OnMove

Architektura volá tuto členovu funkci po přesunutí objektu CWnd .

afx_msg void OnMove(
    int x,
    int y);

Parametry

x
Určuje nové umístění souřadnic x levého horního rohu klientské oblasti. Toto nové umístění je uvedeno v souřadnicích obrazovky pro překrývaná a automaticky otevíraná okna a souřadnice nadřazeného klienta pro podřízená okna.

y
Určuje nové umístění souřadnic y levého horního rohu klientské oblasti. Toto nové umístění je uvedeno v souřadnicích obrazovky pro překrývaná a automaticky otevíraná okna a souřadnice nadřazeného klienta pro podřízená okna.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnMoving

Architektura volá tuto členovou funkci, zatímco uživatel přesouvá CWnd objekt.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Parametry

nSide
Okraj okna, který se má přesunout.

lpRect
CRect Adresa struktury nebo RECT struktury, která bude obsahovat souřadnice položky

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcActivate

Architektura volá tuto členovou funkci, když je třeba změnit oblast mimo klient, aby označí aktivní nebo neaktivní stav.

afx_msg BOOL OnNcActivate(BOOL bActive);

Parametry

bActive
Určuje, kdy je třeba změnit panel nebo ikonu popis, aby označí aktivní nebo neaktivní stav. Parametr bActive je TRUE v případě, že se má vykreslit aktivní popis nebo ikona. Je FALSE určená pro neaktivní popis nebo ikonu.

Vrácená hodnota

Nenulové, pokud by systém Windows měl pokračovat ve výchozím zpracování; 0, aby se zabránilo deaktivaci panelu nebo ikony popis.

Poznámky

Výchozí implementace nakreslí záhlaví a text záhlaví v jejich aktivních barvách, pokud bActive je TRUE a v neaktivních barvách, pokud bActive je FALSE.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcCalcSize

Architektura volá tuto členskou funkci, pokud je potřeba vypočítat velikost a umístění klientské oblasti.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parametry

bCalcValidRects
Určuje, zda má aplikace určit, která část klientské oblasti obsahuje platné informace. Systém Windows zkopíruje platné informace do zadané oblasti v rámci nové klientské oblasti. Pokud má tento parametr hodnotu TRUE, měla by aplikace určit, která část klientské oblasti je platná.

lpncsp
Odkazuje na datovou NCCALCSIZE_PARAMS strukturu, která obsahuje informace, které může aplikace použít k výpočtu nové velikosti a umístění obdélníku CWnd (včetně klientské oblasti, ohraničení, popis, posuvníků atd.).

Poznámky

Při zpracování této zprávy může aplikace řídit obsah klientské oblasti okna, když se změní velikost nebo umístění okna.

Bez ohledu na hodnotu bCalcValidRects, první obdélník v matici určený rgrc člen NCCALCSIZE_PARAMS struktury struktury obsahuje souřadnice okna. V případě podřízeného okna jsou souřadnice relativní vzhledem k klientské oblasti nadřazeného okna. Pro okna nejvyšší úrovně jsou souřadnice obrazovek. Aplikace by měla upravit rgrc[0] obdélník tak, aby odrážela velikost a umístění klientské oblasti.

Obdélníky rgrc[1] jsou rgrc[2] platné pouze v případě, že bCalcValidRects je TRUE. V tomto případě rgrc[1] obdélník obsahuje souřadnice okna před přesunutím nebo změnou velikosti okna. Obdélník rgrc[2] obsahuje souřadnice klientské oblasti okna před přesunutím okna. Všechny souřadnice jsou relativní vzhledem k nadřazenému okně nebo obrazovce.

Výchozí implementace vypočítá velikost klientské oblasti na základě vlastností okna (přítomnost posuvníků, nabídky atd.) a umístí výsledek do lpncsp.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcCreate

Architektura volá tuto členovou funkci před zprávou WM_CREATE při prvním vytvoření objektu CWnd .

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Parametry

lpCreateStruct
Odkazuje na datovou CREATESTRUCT strukturu pro CWnd.

Vrácená hodnota

Nenulové, pokud je vytvořena oblast nonclient. Je to 0, pokud dojde k chybě; Create funkce se v tomto případě vrátí failure .

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcDestroy

Volané rozhraním při zničení oblasti jiného klienta a je poslední člen funkce volána při zničení okna Systému Windows.

afx_msg void OnNcDestroy();

Poznámky

Výchozí implementace provede určité vyčištění a potom zavolá virtuální člen funkce PostNcDestroy.

Pokud chcete provést vlastní vyčištění, například delete this operaci, přepištePostNcDestroy. Pokud přepíšete OnNcDestroy, musíte volat OnNcDestroy v základní třídě, aby se zajistilo, že veškerá paměť interně přidělená pro okno je uvolněna.

CWnd::OnNcHitTest

Architektura volá tuto členovu funkci pro CWnd objekt, který obsahuje kurzor (nebo CWnd objekt, který použil SetCapture členské funkce k zachycení vstupu myši) při každém přesunutí myši.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parametry

point
Obsahuje souřadnice x a y kurzoru. Tyto souřadnice jsou vždy souřadnice obrazovky.

Vrácená hodnota

Jedna z hodnot s výčtem myši hit-test. Podívejte WM_NCHITTEST se na seznam hodnot.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcLButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na levé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru. Podívejte WM_NCHITTEST se na seznam hodnot.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

V případě potřeby WM_SYSCOMMAND se zpráva odešle.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcLButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne levé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti objektu CWnd .

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru. Podívejte WM_NCHITTEST se na seznam hodnot.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

V případě potřeby se WM_SYSCOMMAND odešle.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcLButtonUp

Architektura volá tuto členovou funkci, když uživatel uvolní levé tlačítko myši, zatímco kurzor je v jiné oblasti než klient.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru. Podívejte WM_NCHITTEST se na seznam hodnot.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

V případě potřeby WM_SYSCOMMAND se odešle.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na prostřední tlačítko myši, zatímco kurzor je v jiné oblasti než klient.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne prostřední tlačítko myši, zatímco kurzor je v jiné oblasti než klient.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMButtonUp

Architektura volá tuto členovou funkci, když uživatel uvolní prostřední tlačítko myši, zatímco kurzor je v jiné než klientské oblasti.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMouseHover

Architektura volá tuto členovou funkci, když kurzor najede na oblast mimo klient okna po dobu uvedenou v předchozím volání TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
[v] Hodnota hit-test vrácená CWnd::DefWindowProc funkcí v důsledku zpracování WM_NCHITTEST zprávy.

point
[v] Objekt CPoint , který určuje souřadnice x a y kurzoru vzhledem k levému hornímu rohu obrazovky.

Poznámky

Tato metoda obdrží WM_NCMOUSEHOVER oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMouseLeave

Architektura volá tuto členovou funkci, když kurzor opustí oblast mimo klient okna určenou před voláním TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Poznámky

Tato metoda obdrží WM_NCMOUSELEAVE oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcMouseMove

Architektura volá tuto členovou funkci, když se kurzor přesune v jiné oblasti než klient.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

V případě potřeby WM_SYSCOMMAND se zpráva odešle.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcPaint

Architektura volá tuto členovou funkci, když je potřeba nakreslit oblast, která není klient.

afx_msg void OnNcPaint();

Poznámky

Výchozí implementace maluje rámeček okna.

Aplikace může toto volání přepsat a nakreslit vlastní rámec okna. Oblast výřezu je vždy obdélníková, i když je tvar rámečku změněn.

CWnd::OnNcRButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na pravé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcRButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne pravé tlačítko myši, zatímco kurzor je v jiné oblasti než klient.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcRButtonUp

Architektura volá tuto členovou funkci, když uživatel uvolní pravé tlačítko myši, zatímco kurzor je v jiné než klientské oblasti.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Určuje kód hit-test. Test hitu je test, který určuje umístění kurzoru.

point
Určuje CPoint objekt, který obsahuje souřadnice x a y obrazovky pozice kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu obrazovky.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcRenderingChanged

Architektura volá tohoto člena, když se změnily zásady vykreslování pro oblast nonclient.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parametry

bIsRendering
[v] TRUE Pokud je pro oblast okna bez klienta v okně povolené vykreslování Desktop Window Manageru (DWM); FALSE pokud je vykreslování zakázané.

Poznámky

Tato metoda obdrží WM_DWMNCRENDERINGCHANGED oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcXButtonDblClk

Architektura volá tuto členovou funkci, když uživatel poklikne XBUTTON1 nebo XBUTTON2 když je kurzor v oblasti mimo klient okna.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[v] Hodnota hit-test vrácená CWnd::DefWindowProc funkcí v důsledku zpracování WM_NCHITTEST zprávy.

nButton
[v] Hodnota XBUTTON1 , zda je první tlačítko Microsoft Intellimouse X poklikání nebo XBUTTON2 pokud je druhé tlačítko X poklikání.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_XBUTTONDBLCLK oznámení, které je popsáno v sadě Windows SDK. Tato zpráva se publikuje do okna, které obsahuje kurzor. Pokud okno zachytilo myš, tato zpráva se nezveřejní.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcXButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne XBUTTON1 nebo XBUTTON2 myší, zatímco kurzor je v jiné oblasti okna.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[v] Hodnota hit-test vrácená CWnd::DefWindowProc funkcí v důsledku zpracování WM_NCHITTEST zprávy.

nButton
[v] Hodnota XBUTTON1 , jestli je stisknuto první tlačítko X myši nebo XBUTTON2 pokud je stisknuto druhé tlačítko X.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu obrazovky.

Poznámky

Tato metoda obdrží WM_NCXBUTTONDOWN oznámení, které je popsáno v sadě Windows SDK. Tato zpráva se publikuje do okna, které obsahuje kurzor. Pokud okno zachytilo myš, tato zpráva se nezveřejní.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNcXButtonUp

Architektura volá tuto členovou funkci, když uživatel uvolní XBUTTON1 nebo XBUTTON2 myš, zatímco kurzor je v jiné než klientské oblasti okna.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[v] Hodnota hit-test vrácená CWnd::DefWindowProc funkcí v důsledku zpracování WM_NCHITTEST zprávy.

nButton
[v] Hodnota XBUTTON1 , zda je vydáno první tlačítko myši X nebo XBUTTON2 pokud je vydáno druhé tlačítko X.

point
[v] Objekt CPoint , který určuje souřadnice x a y kurzoru vzhledem k levému hornímu rohu obrazovky.

Poznámky

Tato metoda obdrží WM_NCXBUTTONUP oznámení, které je popsáno v sadě Windows SDK. Tato zpráva se publikuje do okna, které obsahuje kurzor. Pokud okno zachytilo myš, tato zpráva se nezveřejní.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNextMenu

Architektura volá tuto členovou funkci, když se k přepínání mezi řádkem nabídek a systémovou nabídkou používá klávesa se šipkou doprava nebo doleva.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parametry

nKey
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL. Seznam příznaků naleznete v podnadpisu Parametry zprávy v části O vstupu myši.

lpMdiNextMenu
[v] Ukazatel na MDINEXTMENU strukturu, která obsahuje informace o nabídce, která se má aktivovat.

Poznámky

Tato metoda obdrží WM_UNINITMENUPOPUP oznámení, které je popsáno v sadě Windows SDK. V reakci na tuto zprávu může vaše aplikace nastavit hmenuNext člen MDINEXTMENU struktury, aby určil nabídku, na kterou se má přepnout, a hwndNext člen, který určí okno pro příjem zpráv s oznámením nabídky.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnNotify

Architektura volá tuto členovou funkci, která informuje nadřazené okno o ovládacím prvku, že došlo k události v ovládacím prvku nebo že ovládací prvek vyžaduje určitý druh informací.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

wParam
Identifikuje ovládací prvek, který zprávu odešle, pokud je zpráva z ovládacího prvku. wParam Jinak je to 0.

lParam
Ukazatel na strukturu oznámení (NMHDR), která obsahuje kód oznámení a další informace. U některých zpráv s oznámením tento parametr odkazuje na větší strukturu, která má NMHDR strukturu jako její první člen.

pResult
Ukazatel na proměnnou LRESULT , do které se má uložit kód výsledku, pokud je zpráva zpracována.

Vrácená hodnota

Aplikace vrátí nenulovou hodnotu, pokud zpracuje tuto zprávu; jinak 0.

Poznámky

OnNotify zpracovává mapu zpráv pro řídicí oznámení.

Přepište tuto členovou funkci v odvozené třídě pro zpracování WM_NOTIFY zprávy. Přepsání nezpracuje mapu zpráv, pokud není volána základní třída OnNotify .

Další informace o WM_NOTIFY zprávě najdete v technické poznámce 61 (TN061) ON_NOTIFY a WM_NOTIFY zprávách. Můžete také zajímat související témata popsaná v tématech ovládacích prvků ovládacích prvků a TN062, Message Reflexe ion for Windows Controls.

CWnd::OnNotifyFormat

Architektura volá tuto členovou funkci k určení, zda aktuální okno přijímá struktury ANSI nebo Unicode v WM_NOTIFY oznamovací zprávě.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Parametry

pWnd
[v] Ukazatel na CWnd objekt, který představuje okno odesílající WM_NOTIFY zprávu. Tento parametr je ukazatel na ovládací prvek, pokud nCommand je NF_QUERYparametr , nebo ukazatel na nadřazené okno ovládacího prvku, pokud nCommand je NF_REQUERY.

nCommand
[v] Hodnota příkazu, která se specializuje na WM_NOTIFY zprávu. Možné hodnoty:

  • NF_QUERY – Zpráva je dotaz, který určuje, jestli se mají ve WM_NOTIFY zprávách používat struktury ANSI nebo Unicode. Tato zpráva se odesílá z ovládacího prvku do nadřazeného okna během vytváření ovládacího prvku a v reakci na NF_REQUERY formu této zprávy.
  • NF_REQUERY - Zpráva je žádost o odeslání formuláře této zprávy do nadřazeného okna ovládacího prvku NF_QUERY . Tento požadavek se odešle z nadřazeného okna a požádá ovládací prvek o opětovném dotazování nadřazeného objektu o typu struktury, který se má použít ve WM_NOTIFY zprávách. nCommand Pokud je NF_REQUERYparametr , návratová hodnota je výsledkem operace opětovného dotazu.

Vrácená hodnota

Vrácená hodnota Význam
NFR_ANSI Struktury ANSI by měly být použity ve WM_NOTIFY zprávách posílaných ovládacím prvku.
NFR_UNICODE Struktury Unicode by měly být použity ve WM_NOTIFY zprávách posílaných ovládacím prvku.
0 Došlo k chybě.

Poznámky

Tato metoda obdrží WM_NOTIFYFORMAT oznámení, které je popsáno v sadě Windows SDK. WM_NOTIFY zprávy se odesílají z běžného ovládacího prvku do nadřazeného okna a z nadřazeného okna do společného ovládacího prvku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnPaint

Architektura volá tuto členskou funkci, když systém Windows nebo aplikace požádá o opětovné nakreslení části okna aplikace.

afx_msg void OnPaint();

Poznámky

Zpráva WM_PAINT se odešle, když UpdateWindow je volána nebo RedrawWindow členová funkce.

V důsledku volání RedrawWindow členské funkce s RDW_INTERNALPAINT nastaveným příznakem může okno přijímat interní malovací zprávy. V takovém případě okno nemusí mít oblast aktualizace. Aplikace by měla volat GetUpdateRect členovou funkci, aby určila, jestli má okno oblast aktualizace. Pokud GetUpdateRect vrátí hodnotu 0, aplikace by neměla volat BeginPaint funkce a EndPaint členské funkce.

Je zodpovědností aplikace zkontrolovat případné vnitřní překreslení nebo aktualizaci tak, že se podíváte na její interní datové struktury pro každou WM_PAINT zprávu, protože WM_PAINT zpráva mohla být způsobena neplatnou oblastí i voláním RedrawWindow členské funkce se RDW_INTERNALPAINT sadou příznaků.

Systém Windows odešle interní WM_PAINT zprávu pouze jednou. Po odeslání interní WM_PAINT zprávy do okna UpdateWindow členovou funkcí nebudou odeslány ani publikovány žádné další WM_PAINT zprávy, dokud nebude okno zneplatněna nebo dokud RedrawWindow se členová funkce znovu nevolá s nastaveným příznakem RDW_INTERNALPAINT .

Informace o vykreslení obrázku v aplikacích pro dokument/zobrazení naleznete v tématu CView::OnDraw.

Další informace o použití WM_Paintnaleznete v následujících tématech v sadě Windows SDK:

CWnd::OnPaintClipboard

Členská funkce vlastníka OnPaintClipboard schránky je volána prohlížečem schránky, pokud vlastník schránky umístil data do schránky ve CF_OWNERDISPLAY formátu a klientská oblast prohlížeče schránky potřebuje překreslit.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parametry

pClipAppWnd
Určuje ukazatel na okno aplikace schránka. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

hPaintStruct
Identifikuje datovou PAINTSTRUCT strukturu, která definuje, jakou část klientské oblasti se má malovat.

Poznámky

Chcete-li zjistit, zda celá oblast klienta nebo jen část z ní potřebuje překreslit, musí vlastník schránky porovnat rozměry oblasti výkresu zadané ve rcpaint členu PAINTSTRUCT struktury s dimenzemi zadanými v posledním OnSizeClipboard volání členské funkce.

OnPaintClipboard by měla použít GlobalLock funkci Windows k uzamčení paměti obsahující PAINTSTRUCT datovou strukturu a odemknutí této paměti pomocí GlobalUnlock funkce Windows před ukončením.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnPaletteChanged

Architektura volá tuto členovou funkci pro všechna okna nejvyšší úrovně po okně s fokusem vstupu si uvědomila svou logickou paletu, čímž se změní systémová paleta.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Parametry

pFocusWnd
Určuje ukazatel na okno, které způsobilo změnu systémové palety. Ukazatel může být dočasný a neměl by být uložený.

Poznámky

Toto volání umožňuje okno bez vstupního fokusu, který používá paletu barev k realizaci logických palet a aktualizaci oblasti klienta.

Členová OnPaletteChanged funkce se volá pro všechna okna nejvyšší úrovně a překrývající se okna, včetně těch, které změnily systémovou paletu a způsobily WM_PALETTECHANGED odeslání zprávy. Pokud některé podřízené okno používá paletu barev, musí se do ní tato zpráva předat.

Aby nedocházelo k nekonečné smyčce, nemělo by okno realizovat svou paletu, pokud neurčí, že pFocusWnd neobsahuje ukazatel na sebe.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnPaletteIsChanging

Architektura volá tuto členovou funkci, která informuje aplikace, že aplikace bude realizovat svou logickou paletu.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parametry

pRealizeWnd
Určuje okno, které se chystá realizovat jeho logickou paletu.

Poznámky

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnParentNotify

Členská funkce nadřazeného objektu OnParentNotify je volána architekturou při vytvoření nebo zničení jeho podřízeného okna nebo když uživatel klikne na tlačítko myši, zatímco kurzor je nad podřízeným oknem.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parametry

message
Určuje událost, pro kterou je nadřazený objekt upozorněn, a identifikátor podřízeného okna. Událost je slovo messages nízkým pořadím . Pokud je WM_CREATE událost nebo WM_DESTROY, slovo s vysokým pořadím message je identifikátor podřízeného okna; jinak není slovo s vysokým pořadím definováno. Událost (slovo s nízkým pořadím message) může být libovolná z těchto hodnot:

  • WM_CREATE Vytváří se podřízené okno.

  • WM_DESTROY Podřízené okno je zničeno.

  • WM_LBUTTONDOWN Uživatel umístil kurzor myši na podřízené okno a kliknul na levé tlačítko myši.

  • WM_MBUTTONDOWN Uživatel umístil kurzor myši na podřízené okno a kliknul na prostřední tlačítko myši.

  • WM_RBUTTONDOWN Uživatel umístil kurzor myši na podřízené okno a kliknul na pravé tlačítko myši.

lParam
Pokud je událost (slovo s nízkým pořadím) messageWM_CREATE nebo WM_DESTROY, lParam určuje úchyt okna podřízeného okna; jinak lParam obsahuje souřadnice x a y kurzoru. Souřadnice x je ve slově nízkého pořadí a souřadnice y je ve slově s vysokým pořadím.

Poznámky

Při vytváření podřízeného okna systém volá OnParentNotify těsně před Create členovou funkcí, která vytvoří okno. Když je podřízené okno zničeno, systém volá OnParentNotify před tím, než dojde ke zpracování ke zničení okna.

OnParentNotify je volána pro všechna nadřazená okna podřízeného okna, včetně okna nejvyšší úrovně.

Všechna podřízená okna s výjimkou těch, které mají styl, odešlou WS_EX_NOPARENTNOTIFY tuto zprávu do nadřazených oken. Ve výchozím nastavení mají WS_EX_NOPARENTNOTIFY podřízená okna v dialogovém okně styl, pokud podřízené okno nebylo vytvořeno bez tohoto stylu voláním CreateEx členské funkce.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnPowerBroadcast

Architektura volá tuto členovou funkci, když dojde k události řízení spotřeby.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parametry

nPowerEvent
[v] Událost řízení spotřeby.

nEventData
[v] Data specifická pro události.

Vrácená hodnota

Pokud se jedná o žádost, vraťte TRUE se k žádosti nebo BROADCAST_QUERY_DENY ji odepřete.

Poznámky

Tato metoda obdrží WM_POWERBROADCAST zprávu popsanou v sadě Windows SDK.

Parametr nPowerEvent určuje události, jako je nízká spotřeba baterie, stav napájení se změnil, oprávnění k pozastavení operace se vyžádá nebo odmítne, operace se po události automaticky obnoví, systém pozastaví operaci nebo se po pozastavení operace obnoví. Parametr nEventData se obvykle nepoužívá. Další informace najdete v wParam tématu a lParam parametry WM_POWERBROADCAST zprávy.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnQueryDragIcon

Architektura volá tuto členovou funkci minimalizovaným (ikonickým) oknem, které nemá pro svou třídu definovanou ikonu.

afx_msg HCURSOR OnQueryDragIcon();

Vrácená hodnota

Hodnota dvojitého slova, která obsahuje kurzor nebo úchyt ikony ve slově s nízkým pořadím. Kurzor nebo ikona musí být kompatibilní s rozlišením ovladače zobrazení. Pokud aplikace vrátí NULL, systém zobrazí výchozí kurzor. Výchozí návratová hodnota je NULL.

Poznámky

Systém toto volání provede, aby získal kurzor, který se zobrazí, zatímco uživatel přetáhne minimalizované okno. Pokud aplikace vrátí úchyt ikony nebo kurzoru, systém ho převede na černobílý. Pokud aplikace vrátí popisovač, musí popisovač identifikovat monochromatický kurzor nebo ikonu kompatibilní s rozlišením ovladače zobrazení. Aplikace může volat CWinApp::LoadCursor nebo CWinApp::LoadIcon členské funkce k načtení kurzoru nebo ikony z prostředků ve spustitelném souboru a získat tento popisovač.

CWnd::OnQueryEndSession

Architektura volá tuto členovou funkci, když se uživatel rozhodne ukončit relaci Systému Windows nebo když aplikace volá ExitWindows funkci Windows.

afx_msg BOOL OnQueryEndSession();

Vrácená hodnota

Nenulové, pokud lze aplikaci pohodlně vypnout; jinak 0.

Poznámky

Pokud některá aplikace vrátí hodnotu 0, relace Windows není ukončena. Systém Windows přestane volat OnQueryEndSession , jakmile jedna aplikace vrátí hodnotu 0 a odešle WM_ENDSESSION zprávu s hodnotou parametru FALSE pro libovolnou aplikaci, která již vrátila nenulovou hodnotu.

CWnd::OnQueryNewPalette

Architektura volá tuto členovou funkci, když CWnd se objekt chystá přijmout vstupní fokus a dává CWnd příležitost realizovat svou logickou paletu, když obdrží fokus.

afx_msg BOOL OnQueryNewPalette();

Vrácená hodnota

Nenulové, pokud si uvědomí svou logickou paletu CWnd , jinak 0.

CWnd::OnQueryOpen

Architektura volá tuto členovou funkci, když CWnd je objekt minimalizován a uživatel požaduje, aby CWnd bylo obnoveno na jeho předem určenou velikost a pozici.

afx_msg BOOL OnQueryOpen();

Vrácená hodnota

Nenulové, pokud je možné ikonu otevřít, nebo 0, aby se zabránilo otevření ikony.

Poznámky

I když jste v OnQueryOpen, CWnd neměli byste provádět žádnou akci, která by způsobila aktivaci nebo změnu fokusu (například vytvoření dialogového okna).

CWnd::OnQueryUIState

Volá se k načtení stavu uživatelského rozhraní (UI) pro okno.

afx_msg UINT OnQueryUIState();

Vrácená hodnota

Návratová hodnota je NULL , pokud jsou viditelné indikátory fokusu a akcelerátory klávesnice. V opačném případě může být vrácená hodnota jedna nebo více z následujících hodnot:

  • UISF_HIDEFOCUS Indikátory fokusu jsou skryté.

  • UISF_HIDEACCEL Klávesové zkratky jsou skryté.

  • UISF_ACTIVE Windows XP: Ovládací prvek by měl být nakreslen ve stylu použitém pro aktivní ovládací prvky.

Poznámky

Tato členová funkce emuluje funkce WM_QUERYUISTATE zprávy, jak je popsáno v sadě Windows SDK.

CWnd::OnRawInput

Architektura volá tuto členovou funkci, když aktuální okno získá nezpracovaný vstup.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parametry

nInputCode
[v] Vstupní kód, který označuje, zda došlo ke vstupu v době, kdy byla aplikace v popředí, nebo ne. V obou případech musí aplikace volat CWnd::DefWindowProc , aby systém mohl provést vyčištění. Tento parametr může být jedna z následujících hodnot:

  • RIM_INPUT - Vstup se vyskytl, když byla aplikace v popředí.
  • RIM_INPUTSINK – Vstup se vyskytl, když aplikace nebyla v popředí.

hRawInput
[v] Popisovač RAWINPUT struktury, která obsahuje nezpracovaný vstup ze zařízení

Poznámky

Tato metoda obdrží WM_INPUT oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnRButtonDblClk

Architektura volá tuto členovou funkci, když uživatel dvakrát klikne na pravé tlačítko myši.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, jestli je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnice x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Volání můžou přijímat OnRButtonDblClk pouze okna, která mají styl CS_DBLCLKSWNDCLASS. Toto je výchozí hodnota pro okna v knihovně tříd Microsoft Foundation. Systém Windows volá OnRButtonDblClk , když uživatel stiskne, uvolní a pak znovu stiskne pravé tlačítko myši v rámci časového limitu poklikání systému. Poklikáním pravého tlačítka myši ve skutečnosti vygenerujete čtyři události: WM_RBUTTONDOWN a WM_RBUTTONUP zprávy, OnRButtonDblClk volání a další WM_RBUTTONUP zprávu po uvolnění tlačítka.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnRButtonDown

Architektura volá tuto členovou funkci, když uživatel stiskne pravé tlačítko myši.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, jestli je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_RBUTTON Nastavte, jestli je pravé tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnice x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnRButtonUp

Architektura volá tuto členovu funkci, když uživatel uvolní pravé tlačítko myši.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Určuje, jestli jsou různé virtuální klíče v výpadku. Tento parametr může být libovolná kombinace následujících hodnot:

  • MK_CONTROL Nastavte, jestli je klávesa CTRL dole.

  • MK_LBUTTON Nastavte, jestli je levé tlačítko myši dole.

  • MK_MBUTTON Nastavte, jestli je prostřední tlačítko myši dole.

  • MK_SHIFT Nastavte, jestli je klávesa SHIFT nižší.

point
Určuje souřadnice x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

Poznámky

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnRegisteredMouseWheel

Architektura volá tuto členskou funkci jako uživatel otočí kolečko myši a narazí na další zářez kola.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parametry

wParam
Vodorovná pozice ukazatele

lParam
Svislá pozice ukazatele.

Vrácená hodnota

V tuto chvíli je nevýznamný. Vždy nula.

Poznámky

Pokud ji nepřepíšete, OnRegisteredMouseWheel směruje zprávu do příslušného okna (nadřazené okno s fokusem) a zavolá obslužnou rutinu WM_MOUSEWHEEL pro toto okno.

Přepište tuto členovou funkci tak, aby poskytovala vlastní směrování zpráv nebo změnila chování posouvání kolečkem myši.

Poznámka

OnRegisteredMouseWheelzpracovává zprávy pro Windows 95/98 a systém Windows NT 3.51. Pro zpracování zpráv systém Windows NT 4.0 použijte OnMouseWheel.

CWnd::OnRenderAllFormats

Členská funkce vlastníka OnRenderAllFormats schránky je volána architekturou při zničení aplikace vlastníka.

afx_msg void OnRenderAllFormats();

Poznámky

Vlastník schránky by měl vykreslit data ve všech formátech, které dokáže vygenerovat a předat popisovač dat pro každý formát do schránky voláním SetClipboardData funkce Windows. Tím se zajistí, že schránka obsahuje platná data, i když je aplikace, která vykreslovala data, zničena. Aplikace by měla před voláním funkce Systému Windows volat OpenClipboard členovu SetClipboardData funkci a následně volat CloseClipboard funkci Windows.

CWnd::OnRenderFormat

Členská funkce vlastníka OnRenderFormat schránky je volána architekturou, když je potřeba vykreslit určitý formát s zpožděným vykreslováním.

afx_msg void OnRenderFormat(UINT nFormat);

Parametry

nFormat
Určuje formát schránky.

Poznámky

Příjemce by měl vykreslit data v daném formátu a předat je do schránky voláním SetClipboardData funkce Windows.

Nevolejte členovu OpenClipboard funkci nebo CloseClipboard funkci Systému Windows ze systému OnRenderFormat.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSessionChange

Architektura volá tuto členovou funkci, která upozorní aplikaci na změnu stavu relace.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parametry

nSessionState
[v] Stavový kód popisuje změnu stavu relace.

nId
[v] Identifikátor relace.

Poznámky

Tato metoda obdrží WM_WTSSESSION_CHANGE oznámení, které je popsáno v sadě Windows SDK.

Parametr nSessionState určuje, že je relace připojená nebo odpojená od konzoly nebo vzdáleného terminálu, uživatel přihlášený nebo vypnutý, relace je uzamčena nebo odemknutá nebo se relace změnila na stav vzdáleného řízení. Další informace najdete v wParam parametru WM_WTSSESSION_CHANGE zprávy.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSetCursor

Architektura volá tuto členovu funkci, pokud není zachycen vstup myši a myš způsobí pohyb kurzoru uvnitř objektu CWnd .

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Parametry

pWnd
Určuje ukazatel na okno, které obsahuje kurzor. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

nHitTest
Určuje směrové číslo oblasti hit-test . Test hitu určuje umístění kurzoru.

message
Určuje číslo zprávy myši.

Vrácená hodnota

Nenulové zastavení dalšího zpracování nebo pokračování 0.

Poznámky

Výchozí implementace před zpracováním volá nadřazené okno OnSetCursor . Pokud se nadřazené okno vrátí TRUE, další zpracování se zastaví. Volání nadřazeného okna dává nadřazené okno kontrolu nad nastavením kurzoru v podřízené okno.

Výchozí implementace nastaví kurzor na šipku, pokud není v klientské oblasti nebo na kurzor registrované třídy, pokud je.

Pokud nHitTest je a message je HTERROR to zpráva tlačítka myši, MessageBeep je volána členová funkce.

Parametr zprávy je 0 při CWnd přechodu do režimu nabídky.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSetFocus

Architektura volá tuto členovu funkci po získání vstupního fokusu.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Parametry

pOldWnd
CWnd Obsahuje objekt, který ztratí vstupní fokus (může být NULL). Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Chcete-li zobrazit stříšku, CWnd měli byste v tuto chvíli volat příslušné funkce kurzoru.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSettingChange

Architektura volá OnSettingChange všechna okna nejvyšší úrovně, když funkce Win32 SystemParametersInfo změní nastavení na úrovni systému.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parametry

uFlags
Když systém odešle zprávu jako výsledek SystemParametersInfo volání, tento parametr je příznak, který označuje systémový parametr, který byl změněn. Seznam hodnot najdete SystemParametersInfo v sadě Windows SDK. Když aplikace odešle zprávu, musí být tento parametr 0.

lpszSection
Odkazuje na řetězec, který určuje název oddílu, který se změnil. (Řetězec neobsahuje hranaté závorky, které ohraničují název oddílu.)

Poznámky

Aplikace by měla zprávu odeslat do všech oken nejvyšší úrovně, když provede změny systémových parametrů, a Systém Windows zprávu odešle, pokud uživatel změní nastavení prostřednictvím Ovládací panely.

Zpráva ON_WM_SETTINGCHANGE se podobá ON_WM_WININICHANGE zprávě s následujícím rozdílem:

  • Používá se ON_WM_SETTINGCHANGE při spuštění systém Windows NT 4.0 nebo novější nebo v systému Windows 95/98.

  • Používá se ON_WININICHANGE při spuštění systém Windows NT verze 3.51 nebo starší. Tato zpráva je teď zastaralá.

V mapě zpráv byste měli mít jenom jedno z těchto maker. Chcete-li napsat program, který funguje pro systém Windows 95/98 i systém Windows NT 4.0, napište obslužnou rutinu pro ON_WM_SETTINGCHANGE. V části systém Windows NT 3.51 bude obslužná rutina OnSettingChange volána a uFlags vždy bude nula.

CWnd::OnShowWindow

Architektura volá tuto členovu funkci, pokud CWnd se objekt chystá být skrytý nebo zobrazený.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parametry

bShow
Určuje, jestli se zobrazuje okno. Je TRUE to, pokud se okno zobrazuje. FALSE Je to, pokud je okno skryté.

nStatus
Určuje stav zobrazeného okna. Je to 0, pokud je zpráva odeslána z důvodu ShowWindow volání členské funkce; jinak nStatus je to jedna z těchto věcí:

  • SW_PARENTCLOSING Nadřazené okno je zavřené (z ikonické) nebo je skryté automaticky otevírané okno.

  • SW_PARENTOPENING Nadřazené okno se otevírá (zobrazuje se) nebo se zobrazuje automaticky otevírané okno.

Poznámky

Okno je skryté nebo zobrazené při ShowWindow zavolání členské funkce, při maximalizaci nebo obnovení překrývajícího se okna nebo zavření překrývajícího se nebo automaticky otevíraného okna (ikonické) nebo otevřené (zobrazené na obrazovce). Při zavření překrývajícího se okna jsou všechna automaticky otevíraná okna přidružená k danému okně skrytá.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSize

Architektura volá tuto členskou funkci po změně velikosti okna.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parametry

nType
Určuje typ požadované velikosti. Tento parametr může být jedna z následujících hodnot:

  • SIZE_MAXIMIZED Okno bylo maximalizováno.

  • SIZE_MINIMIZED Okno bylo minimalizováno.

  • SIZE_RESTORED Velikost okna se změnila, ale ani SIZE_MINIMIZEDSIZE_MAXIMIZED se na ni nepoužádá.

  • SIZE_MAXHIDE Zpráva se odešle do všech automaticky otevíraných oken, když se maximalizuje některé jiné okno.

  • SIZE_MAXSHOW Zpráva se odešle do všech automaticky otevíraných oken, když bylo obnoveno některé jiné okno do původní velikosti.

cx
Určuje novou šířku oblasti klienta.

cy
Určuje novou výšku oblasti klienta.

Poznámky

SetScrollPos Pokud je volána podřízená MoveWindow funkce z OnSize, bRedraw parametr SetScrollPos nebo MoveWindow by měl být nenulový, aby CWnd bylo možné překreslit.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

Příklad

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

Členská funkce vlastníka OnSizeClipboard schránky je volána prohlížečem schránky, pokud schránka obsahuje data s atributem CF_OWNERDISPLAY a velikost klientské oblasti okna Prohlížeče schránky se změnila.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parametry

pClipAppWnd
Identifikuje okno aplikace schránka. Ukazatel může být dočasný a neměl by být uložený.

hRect
Identifikuje objekt globální paměti. Objekt paměti obsahuje datovou RECT strukturu, která určuje oblast pro vlastníka schránky malování.

Poznámky

Členová OnSizeClipboard funkce je volána s nulovým obdélníkem (0,0,0,0) jako novou velikost, když bude aplikace schránka zničena nebo minimalizovaná. To umožňuje vlastníkovi schránky uvolnit jeho zobrazované prostředky.

Aplikace OnSizeClipboardmusí použít GlobalLock funkci Windows k uzamčení paměti, která obsahuje datovou RECT strukturu. Před tím, než aplikace získá nebo vrátí kontrolu, odemyká paměť pomocí GlobalUnlock funkce Windows.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSizing

Architektura volá tuto členovu funkci, která označuje, že uživatel přetěžuje obdélník.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Parametry

nSide
Okraj okna, který se má přesunout.

lpRect
CRect Adresa struktury nebo RECT struktury, která bude obsahovat souřadnice položky

Poznámky

Při zpracování této zprávy může aplikace monitorovat velikost a umístění obdélníku přetažení a v případě potřeby změnit jeho velikost nebo pozici.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

Příklad

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

Architektura volá tuto členovou funkci ze Správce tisku při každém přidání úlohy do fronty Správce tisku nebo jeho odebrání.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parametry

nStatus
Určuje SP_JOBSTATUS příznak.

nJobs
Určuje počet zbývajících úloh ve frontě Print Manageru.

Poznámky

Toto volání je určené pouze pro informační účely.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnStyleChanged

Architektura volá tuto členskou funkci poté, co SetWindowLong funkce změnila jeden nebo více stylů okna.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametry

nStyleType
Určuje, jestli se změnily rozšířené nebo neprodloužené styly okna. Tento parametr může být kombinací následujících hodnot:

  • GWL_EXSTYLE Rozšířené styly okna se změnily.

  • GWL_STYLE Neobslužné styly okna se změnily.

lpStyleStruct
Odkazuje na STYLESTRUCT strukturu, která obsahuje nové styly okna. Aplikace může prozkoumat styly, ale nemůže je změnit.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnStyleChanging

Architektura volá tuto členskou funkci, pokud SetWindowLong se funkce chystá změnit jeden nebo více stylů okna.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametry

nStyleType
Určuje, jestli se změnily rozšířené nebo neprodloužené styly okna. Tento parametr může být kombinací následujících hodnot:

  • GWL_EXSTYLE Rozšířené styly okna se změnily.

  • GWL_STYLE Neobslužné styly okna se změnily.

lpStyleStruct
Odkazuje na STYLESTRUCT strukturu, která obsahuje nové styly okna. Aplikace může prozkoumat styly a změnit je.

Poznámky

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSysChar

Architektura volá tuto členovu funkci, pokud CWnd má vstupní fokus a přeloží se WM_SYSKEYUP zprávy WM_SYSKEYDOWN .

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje kód klíče znaku ASCII klávesy Control-menu.

nRepCnt
Určuje počet opakování, tj. počet opakování, kolikrát se stisknutí klávesy opakuje v důsledku toho, že uživatel drží stisknutou klávesu.

nFlags
Parametr nFlags může mít tyto hodnoty:

Hodnota Význam
0-15 Určuje počet opakování. Hodnota je počet opakování stisknutí klávesy v důsledku toho, že uživatel drží stisknutou klávesu.
16-23 Určuje kód kontroly. Hodnota závisí na výrobci původního vybavení (OEM)
24 Určuje, jestli se jedná o rozšířenou klávesu, například klávesy ALT a CTRL vpravo, které se zobrazí na rozšířené klávesnici s 101 klávesami nebo 102 kláves. Hodnota je 1, pokud se jedná o rozšířený klíč; jinak je to 0.
25-28 Interně používá systém Windows.
29 Určuje kontextový kód. Hodnota je 1, pokud je klávesa ALT při stisknutí klávesy stisknuta dolů; jinak je hodnota 0.
30 Určuje předchozí stav klíče. Hodnota je 1, pokud je klíč před odesláním zprávy dolů, nebo je 0, pokud je klíč nahoru.
31 Určuje stav přechodu. Hodnota je 1, pokud je klávesa uvolněna, nebo je 0, pokud je stisknuta klávesa.

Poznámky

Určuje kód virtuálního klíče klávesy Control-menu. (Seznam standardních kódů virtuálních klíčů najdete v tématu Winuser.h)

Když je kontextový kód 0, WM_SYSCHAR může předat WM_SYSCHAR zprávu TranslateAccelerator funkci Windows, která ji zpracuje, jako by byla normální klíčová zpráva místo systémového znakového klíče. To umožňuje použití kláves akcelerátoru s aktivním oknem i v případě, že aktivní okno nemá vstupní fokus.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice mohou podporovat bit rozšířené klávesy v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSysColorChange

Architektura volá tuto členovou funkci pro všechna okna nejvyšší úrovně při změně v nastavení barvy systému.

afx_msg void OnSysColorChange();

Poznámky

Systém Windows volá OnSysColorChange všechna okna, na která má vliv změna barvy systému.

Aplikace, které používají existující systémové barvy, by měly tyto štětce odstranit a znovu je vytvořit pomocí nových systémových barev.

CWnd::OnSysCommand

Architektura volá tuto členovou funkci, když uživatel vybere příkaz z nabídky Ovládací prvek nebo když uživatel vybere tlačítko Maximalizovat nebo Minimalizovat.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Parametry

nID
Určuje typ požadovaného systémového příkazu. Tento parametr může být libovolná z následujících hodnot:

  • SC_CLOSE Zavřete CWnd objekt.

  • SC_HOTKEYCWnd Aktivujte objekt přidružený k horkému klíči zadanému aplikací. Slovo s nízkým pořadím lParam identifikuje HWND okno, které se má aktivovat.

  • SC_HSCROLL Posunujte vodorovně.

  • SC_KEYMENU Načtěte nabídku pomocí stisknutí klávesy.

  • SC_MAXIMIZE (nebo SC_ZOOM) CWnd Maximalizujte objekt.

  • SC_MINIMIZE (nebo SC_ICON) CWnd Minimalizujte objekt.

  • SC_MOUSEMENU Načtěte nabídku kliknutím myší.

  • SC_MOVEPřesunutí objektu CWnd

  • SC_NEXTWINDOW Přechod na další okno

  • SC_PREVWINDOW Přechod na předchozí okno

  • SC_RESTORE Obnovte okno do normální polohy a velikosti.

  • SC_SCREENSAVE Spustí aplikaci spořič obrazovky zadanou v části SYSTEM.INI [boot] souboru.

  • SC_SIZE Velikost objektu CWnd .

  • SC_TASKLIST Spusťte nebo aktivujte aplikaci Správce úloh systému Windows.

  • SC_VSCROLL Posunujte svisle.

lParam
Pokud je příkaz nabídky Control vybrán myší, lParam obsahuje souřadnice kurzoru. Slovo s nízkým pořadím obsahuje souřadnici x a slovo s vysokým pořadím obsahuje souřadnici y. V opačném případě se tento parametr nepoužívá.

  • SC_HOTKEY Aktivujte okno přidružené k klávesové zkratce zadané aplikaci. Slovo s nízkým pořadím lParam identifikuje okno, které se má aktivovat.

  • SC_SCREENSAVESpusťte aplikaci pro ukládání obrazovky zadanou v části Plocha Ovládací panely.

Poznámky

Ve výchozím nastavení OnSysCommand provede požadavek control-menu pro předdefinované akce zadané v předchozí tabulce.

Vech WM_SYSCOMMANDnID Když aplikace testuje hodnotu nID, musí zkombinovat hodnotu 0xFFF0 s nID hodnotou pomocí bitové operátoru AND získat správný výsledek.

Položky nabídky v nabídce Ovládací prvek lze upravit pomocí GetSystemMenufunkcí , AppendMenu, InsertMenua ModifyMenu členské funkce. Aplikace, které upravují nabídku Řízení, musí zpracovávat WM_SYSCOMMAND zprávy a všechny WM_SYSCOMMAND zprávy, které aplikace nezpracovává, musí být předány do OnSysCommand. Všechny hodnoty příkazů přidané aplikací musí být zpracovány aplikací a nelze je předat OnSysCommand.

Aplikace může kdykoli provést jakýkoli systémový příkaz předáním WM_SYSCOMMAND zprávy .OnSysCommand

Klávesové zkratky (klávesové zkratky), které jsou definované pro výběr položek z nabídky Control, se překládají do OnSysCommand volání. Všechny ostatní klávesové zkratky se překládají do WM_COMMAND zpráv.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSysDeadChar

Architektura volá tuto členovou funkci, pokud CWnd objekt má vstupní fokus při OnSysKeyUp volání nebo OnSysKeyDown členské funkce.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje hodnotu znaku dead-key.

nRepCnt
Určuje počet opakování.

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota Význam
0-7 Skenování kódu (hodnota závislá na OEM) Nízký bajt slova s vysokým pořadím.
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč, jinak 0).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, jinak 0)
14 Předchozí stav klíče (1, pokud je klíč před voláním vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

Poznámky

Určuje hodnotu znaku mrtvého klíče.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSysKeyDown

Pokud má CWnd objekt vstupní fokus, volá se členová funkce rozhraním, OnSysKeyDown když uživatel drží stisknutou klávesu ALT a pak stiskne další klávesu.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje kód virtuálního klíče stisknuté klávesy. Seznam standardních kódů virtuálních klíčů najdete v tématu Winuser.h

nRepCnt
Určuje počet opakování.

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota Význam
0-7 Skenování kódu (hodnota závislá na OEM) Nízký bajt slova s vysokým pořadím.
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč, jinak 0).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, 0 jinak)
14 Předchozí stav klíče (1, pokud je klíč před odesláním zprávy vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

U OnSysKeyDown volání je bit přechodu klíče (bit 15) 0. Bit kontextového kódu (bit 13) je 1, pokud je klávesa ALT mimo provoz při stisknutí klávesy; je 0, pokud je zpráva odeslána do aktivního okna, protože žádné okno nemá vstupní fokus.

Poznámky

Pokud žádné okno aktuálně nemá vstupní fokus, volá se členská funkce aktivního OnSysKeyDown okna. Objekt CWnd , který obdrží zprávu, může rozlišovat mezi těmito dvěma kontexty tím, že zkontroluje kontextový kód v nFlags.

Když je kontextový kód 0, WM_SYSKEYDOWN může být zpráva přijatá OnSysKeyDown funkcí Systému Windows předána TranslateAccelerator , která ji zpracuje, jako by byla normální klíčová zpráva místo zprávy systémového klíče. To umožňuje použití kláves akcelerátoru s aktivním oknem i v případě, že aktivní okno nemá vstupní fokus.

Kvůli automatickému opakování může před přijetí zprávy dojít k WM_SYSKEYUP více než jednomu OnSysKeyDown volání. Předchozí stav klíče (bit 14) lze použít k určení, jestli OnSysKeyDown volání označuje první přechod dolů nebo opakovaný přechod dolů.

Pro klávesnice IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od číselné klávesnice; a lomítko (/) a klávesy ENTER v číselné klávesnici. Některé další klávesnice mohou podporovat bit rozšířené klávesy v nFlags.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnSysKeyUp

Pokud má CWnd objekt fokus, členová funkce je volána rozhraním, když uživatel uvolní klávesu, OnSysKeyUp která byla stisknuta, zatímco klávesa ALT byla přidržována.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Určuje kód virtuálního klíče stisknuté klávesy. Seznam standardních kódů virtuálních klíčů najdete v tématu . Winuser.h

nRepCnt
Určuje počet opakování.

nFlags
Určuje kód kontroly, kód přechodu klíče, předchozí stav klíče a kontextový kód, jak je znázorněno v následujícím seznamu:

Hodnota Význam
0-7 Skenování kódu (hodnota závislá na OEM) Nízký bajt slova s vysokým pořadím.
8 Rozšířená klávesa, například funkční klávesa nebo klávesa na numerické klávesnici (1, pokud se jedná o rozšířený klíč, jinak 0).
9-10 Nepoužívá se.
11-12 Interně používá systém Windows.
13 Kontextový kód (1, pokud je klávesa ALT při stisknutí klávesy stisknutá, 0 jinak)
14 Předchozí stav klíče (1, pokud je klíč před odesláním zprávy vypnutý, 0, pokud je klíč nahoru).
15 Stav přechodu (1, pokud je klávesa uvolněna, 0, pokud je stisknutá klávesa).

U OnSysKeyUp volání je bit přechodu mezi klíči (bit 15) 1. Bit kontextového kódu (bit 13) je 1, pokud je klávesa ALT mimo provoz při stisknutí klávesy; je 0, pokud je zpráva odeslána do aktivního okna, protože žádné okno nemá vstupní fokus.

Poznámky

Pokud žádné okno aktuálně nemá vstupní fokus, volá se členská funkce aktivního OnSysKeyUp okna. Objekt CWnd , který přijímá volání, může rozlišovat mezi těmito dvěma kontexty tím, že zkontroluje kontextový kód v nFlags.

Když je kontextový kód 0, WM_SYSKEYUP může být zpráva přijatá OnSysKeyUp funkcí Systému Windows předána TranslateAccelerator , která ji zpracuje, jako by byla normální klíčová zpráva místo zprávy systémového klíče. To umožňuje použití kláves akcelerátoru (klávesových zkratek) s aktivním oknem, i když aktivní okno nemá fokus vstupu.

U klávesnic IBM Enhanced 101- a 102-key jsou vylepšené klávesy vpravo ALT a pravé klávesy CTRL v hlavní části klávesnice; INS, DEL, HOME, END, PAGE UP, PAGE DOWN a šipkové klávesy v clusterech vlevo od numerické klávesnice; a lomítko (/) a klávesy ENTER na numerické klávesnici. Některé další klávesnice můžou podporovat bit rozšířených kláves v nFlags.

Pro jiné uživatele než USA Vylepšená klávesnice s 102 klávesami, pravá klávesa ALT se zpracovává jako kombinace kláves CTRL+ALT. Následuje posloupnost zpráv a volání, která vedou k tomu, že uživatel stiskne a uvolní tuto klávesu:

Sequence Přístup k funkci Zpráva byla předána.
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnTCard

Architektura volá tuto členovou funkci, když uživatel klikne na tlačítko s možností vytváření.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parametry

idAction
Označuje akci, která uživatel provedl. Tento parametr může být jednou z těchto hodnot:

  • IDABORT Uživatel klikl na tlačítko pro přerušení, které je možné vytvořit.

  • IDCANCEL Uživatel kliknul na tlačítko Zrušit, které je možné vytvořit.

  • IDCLOSE Uživatel zavřel trénovací kartu.

  • IDHELP Uživatel klikl na tlačítko vytvořitelné nápovědy systému Windows.

  • IDIGNORE Uživatel klikl na tlačítko Ignorovat s možností autora.

  • IDOK Uživatel klikl na tlačítko OK, které je možné vytvořit.

  • IDNO Uživatel klikl na tlačítko Ne, které je možné vytvořit.

  • IDRETRY Uživatel klikl na tlačítko opakovatelného opakování.

  • HELP_TCARD_DATA Uživatel klikl na tlačítko pro vytváření obsahu. Parametr dwActionData obsahuje dlouhé celé číslo určené autorem nápovědy.

  • HELP_TCARD_NEXT Uživatel klikl na tlačítko Další, které je možné vytvořit.

  • HELP_TCARD_OTHER_CALLER Jiná aplikace požádala o trénovací karty.

  • IDYES Uživatel klikl na tlačítko Ano, které je možné vytvořit.

dwActionData
Pokud idAction zadáte HELP_TCARD_DATA, tento parametr je dlouhé celé číslo určené autorem nápovědy. V opačném případě je tento parametr nula.

Poznámky

Tato funkce se volá pouze v případě, že aplikace iniciovala trénovací kartu pomocí nápovědy systému Windows. Aplikace inicializuje trénovací kartu zadáním HELP_TCARD příkazu ve volání WinHelp funkce.

CWnd::OnTimeChange

Architektura volá tuto členovou funkci po změně systémového času.

afx_msg void OnTimeChange();

Poznámky

Každou aplikaci, která změní systémový čas, odešle tuto zprávu do všech oken nejvyšší úrovně. K odeslání WM_TIMECHANGE zprávy do všech oken nejvyšší úrovně může aplikace použít SendMessage funkci Windows s jeho hwnd parametrem nastaveným na HWND_BROADCAST.

CWnd::OnTimer

Architektura volá tuto členovou funkci po každém intervalu zadaném SetTimer v členské funkci použité k instalaci časovače.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Parametry

nIDEvent
Určuje identifikátor časovače.

Poznámky

Funkce DispatchMessage Windows odešle WM_TIMER zprávu, pokud nejsou žádné jiné zprávy ve frontě zpráv aplikace.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

Příklad

Podívejte se na příklad v souboru CWnd::SetTimer.

CWnd::OnToolHitTest

Architektura volá tuto členovou funkci, která určuje, zda je bod v ohraničující obdélník zadaného nástroje.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parametry

point
Určuje souřadnici x a y kurzoru. Tyto souřadnice jsou vždy relativní vzhledem k levému hornímu rohu okna.

pTI
Ukazatel na TOOLINFO strukturu. Ve výchozím nastavení jsou nastaveny následující hodnoty struktury:

  • hwnd = m_hWnd Popisovač v okně

  • uId = (UINT)hWndChild Popisovač podřízeného okna

  • uFlags |= TTF_IDISHWND Popisovač nástroje

  • lpszText = LPSTR_TEXTCALLBACK Ukazatel na řetězec, který se má zobrazit v zadaném okně

Vrácená hodnota

Pokud byl nalezen ovládací prvek popisu, ID ovládacího prvku okna. Pokud nebyl nalezen ovládací prvek popisku, -1.

Poznámky

Pokud je bod v obdélníku, načte informace o nástroji.

Pokud oblast, ke které je popis přidružen, není tlačítko, OnToolHitTest nastaví příznak struktury na TTF_NOTBUTTON a TTF_CENTERTIP.

Přepsání OnToolHitTest za účelem poskytnutí různých informací, než je výchozí nastavení.

Další TOOLINFOinformace o struktuře naleznete v sadě Windows SDK.

CWnd::OnTouchInput

Zpracování jednoho vstupu z dotykového ovládání Windows

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parametry

pt
Bod, kde se obrazovka dotkla (v souřadnicích klienta).

nInputNumber
Počet dotykového vstupu

nInputsCount
Celkový počet dotykových vstupů

pInput
Ukazatel na TOUCHINPUT strukturu.

Vrácená hodnota

TRUE v případě, že aplikace zpracovává vstup dotykového ovládání systému Windows; jinak FALSE.

Poznámky

CWnd::OnTouchInputs

Zpracovává vstupy z dotykového ovládání Windows.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parametry

nInputsCount
Celkový počet vstupů dotykového ovládání Windows

pInputs
Pole .TOUCHINPUT

Vrácená hodnota

TRUE v případě, že aplikace zpracovává vstupy dotykového ovládání Systému Windows; jinak FALSE.

Poznámky

CWnd::OnUniChar

Architektura volá tuto členovou funkci při stisknutí klávesy. To znamená, že aktuální okno má fokus klávesnice a WM_KEYDOWN funkce přeloží TranslateMessage zprávu.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
[v] Určuje kód znaku stisknuté klávesy.

nRepCnt
[v] Určuje počet opakování pro aktuální zprávu. Hodnota je počet automatického stisknutí kláves v důsledku toho, že uživatel drží stisknutou klávesu. Pokud je stisknutí klávesy dostatečně dlouhé, odešle se více zpráv. Počet opakování ale není kumulativní.

nFlags
[v] Příznaky, které určují kód kontroly, rozšířený klíč, kontextový kód, předchozí stav klíče a stav přechodu, jak je znázorněno v následující tabulce:

Bity příznaků Popis
0-7 Určuje kód kontroly. Hodnota závisí na výrobci původního vybavení (OEM).
8 Určuje rozšířenou klávesu, například klávesy ALT a CTRL vpravo, které se zobrazí na rozšířené klávesnici 101 nebo 102 kláves. Příznak je 1, pokud je klíčem rozšířený klíč; jinak je to 0.
9-12 Interně používá systém Windows.
13 Určuje kontextový kód. Příznak je 1, pokud je klávesa ALT při stisknutí klávesy stisknuta. jinak je hodnota 0.
14 Určuje předchozí stav klíče. Příznak je 1, pokud je klíč před odesláním zprávy vypnutý, nebo 0, pokud je klíč nahoru.
15 Určuje stav přechodu. Příznak je 1, pokud je klávesa uvolněna, nebo 0, pokud je stisknutá klávesa.

Poznámky

Tato metoda obdrží WM_UNICHAR oznámení, které je popsáno v sadě Windows SDK. Zpráva WM_UNICHAR je navržená tak, aby do oken ANSI odesílala nebo posílala znaky Unicode. Je ekvivalentem WM_CHAR zprávy, ale používá kódování Unicode Transformation Format-32 (UTF-32), zatímco WM_CHAR zpráva používá UTF-16.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnUnInitMenuPopup

Architektura volá tuto členovou funkci, pokud byla zničena rozevírací nabídka nebo podnabídka.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parametry

pMenu
[v] Ukazatel na CMenu objekt, který představuje nabídku nebo podnabídku.

nFlags
[v] Nabídka, která byla zničena. V současné době se může jednat pouze o nabídku MF_SYSMENUokna .

Poznámky

Tato metoda obdrží WM_UNINITMENUPOPUP oznámení, které je popsáno v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnUpdateUIState

Volá se ke změně stavu uživatelského rozhraní pro zadané okno a všechna jeho podřízená okna.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Parametry

nAction
Určuje akci, která se má provést. Může to být jedna z následujících hodnot:

  • UIS_CLEAR Prvek stavu uživatelského rozhraní (určený nUIElement) by měl být skrytý.

  • UIS_INITIALIZE Prvek stavu uživatelského rozhraní (zadaný nUIElement) by měl být změněn na základě poslední vstupní události. Další informace naleznete v části Poznámky v části WM_UPDATEISTATE.

  • UIS_SET Měl by být viditelný prvek stavu uživatelského rozhraní (určený nUIElement) .

nUIElement
Určuje, které prvky stavu uživatelského rozhraní jsou ovlivněny, nebo styl ovládacího prvku. Může to být jedna z následujících hodnot:

  • UISF_HIDEACCEL Klávesové zkratky.

  • UISF_HIDEFOCUS Indikátory zaměření.

  • UISF_ACTIVE Windows XP: Ovládací prvek by měl být nakreslen ve stylu použitém pro aktivní ovládací prvky.

Poznámky

Tato členová funkce emuluje funkce WM_UPDATEUISTATE zprávy, jak je popsáno v sadě Windows SDK.

CWnd::OnUserChanged

Architektura volá tohoto člena pro všechna okna po přihlášení nebo vypnutí uživatele.

afx_msg void OnUserChanged();

Poznámky

Tato metoda obdrží WM_USERCHANGED zprávu s oznámením, která je popsána v sadě Windows SDK. Když se uživatel přihlásí nebo vypne, operační systém aktualizuje nastavení specifické pro uživatele. Systém tuto zprávu odešle okamžitě po aktualizaci nastavení.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnVKeyToItem

CWnd Pokud objekt vlastní seznam se stylemLBS_WANTKEYBOARDINPUT, odešle seznam WM_VKEYTOITEM zprávu v odpovědi na WM_KEYDOWN zprávu.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Parametry

nKey
Určuje kód virtuálního klíče klíče, který uživatel stiskl. Seznam standardních kódů virtuálních klíčů najdete v tématu . Winuser.h

pListBox
Určuje ukazatel na seznam. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

nIndex
Určuje aktuální pozici kurzoru.

Vrácená hodnota

Určuje akci, kterou aplikace prováděla v reakci na zprávu. Návratová hodnota -2 označuje, že aplikace zpracovala všechny aspekty výběru položky a nevyžaduje žádnou další akci v seznamu. Návratová hodnota -1 označuje, že seznam by měl provést výchozí akci v reakci na stisknutí klávesy. Návratová hodnota 0 nebo vyšší určuje index položky na základě nuly v seznamu a označuje, že seznam by měl provést výchozí akci pro stisknutí klávesy u dané položky.

Poznámky

Tato členová funkce je volána rozhraním pouze pro seznamy, které mají LBS_HASSTRINGS styl.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnVScroll

Architektura volá tuto členskou funkci, když uživatel klikne na svislý posuvník okna.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametry

nSBCode
Určuje posuvníkový kód, který označuje požadavek uživatele na posouvání. Tento parametr může být jeden z následujících:

  • SB_BOTTOM Posuňte se dolů.

  • SB_ENDSCROLL Ukončete posouvání.

  • SB_LINEDOWN Posuňte se o jeden řádek dolů.

  • SB_LINEUP Posuňte se o jeden řádek nahoru.

  • SB_PAGEDOWN Posuňte se o jednu stránku dolů.

  • SB_PAGEUP Posuňte se o jednu stránku nahoru.

  • SB_THUMBPOSITION Posuňte se na absolutní pozici. Aktuální pozice je uvedena v nPos.

  • SB_THUMBTRACK Přetáhněte posuvník na zadanou pozici. Aktuální pozice je uvedena v nPos.

  • SB_TOP Posuňte se nahoru.

nPos
Obsahuje aktuální pozici posuvníku, pokud je SB_THUMBPOSITION kód posuvníku nebo SB_THUMBTRACK; jinak se nepoužívá. V závislosti na počátečním rozsahu nPos posouvání může být záporné a v případě potřeby by mělo být přetypování na řadu int .

pScrollBar
Pokud zpráva posouvání pochází z ovládacího prvku posuvníku, obsahuje ukazatel na ovládací prvek. Pokud uživatel klikl na posuvník okna, je NULLtento parametr . Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

OnVScroll aplikace, které při přetahování posuvníku poskytují zpětnou vazbu, obvykle používají aplikace, které poskytují zpětnou vazbu.

Pokud OnVScroll se posune obsah objektu CWnd , musí také obnovit umístění posuvníku pomocí SetScrollPos členské funkce.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnVScrollClipboard

Členská funkce vlastníka OnVScrollClipboard schránky je volána prohlížečem schránky, pokud data schránky mají CF_OWNERDISPLAY formát a na svislém posuvníku prohlížeče schránky je událost.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametry

pClipAppWnd
Určuje ukazatel na okno prohlížeče schránky. Ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

nSBCode
Určuje jednu z následujících hodnot posuvníku:

  • SB_BOTTOM Posuňte se dolů.

  • SB_ENDSCROLL Ukončete posouvání.

  • SB_LINEDOWN Posuňte se o jeden řádek dolů.

  • SB_LINEUP Posuňte se o jeden řádek nahoru.

  • SB_PAGEDOWN Posuňte se o jednu stránku dolů.

  • SB_PAGEUP Posuňte se o jednu stránku nahoru.

  • SB_THUMBPOSITION Posuňte se na absolutní pozici. Aktuální pozice je uvedena v nPos.

  • SB_TOP Posuňte se nahoru.

nPos
Obsahuje pozici posuvníku, pokud je SB_THUMBPOSITIONkód posuvníku ; jinak nPos se nepoužívá.

Poznámky

Vlastník by měl posunout obrázek schránky, zneplatnit příslušný oddíl a aktualizovat hodnoty posuvníku.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnWindowMaximizedChanged

Architektura volá tohoto člena při maximalizaci aktuálního okna a okno se skládá správcem desktopových oken (DWM).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parametry

bIsMaximized
[v] TRUE pokud je aktuální okno maximalizované a FALSE pokud ne.

Poznámky

Tato metoda obdrží WM_DWMWINDOWMAXIMIZEDCHANGE zprávu s oznámením, která je popsána v sadě Windows SDK.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnWindowPosChanged

Architektura volá tuto členovou funkci, pokud se velikost, pozice nebo pořadí Z změnila v důsledku volání SetWindowPos členské funkce nebo jiné funkce správy oken.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Parametry

lpwndpos
Odkazuje na datovou WINDOWPOS strukturu, která obsahuje informace o nové velikosti a umístění okna.

Poznámky

Výchozí implementace odesílá zprávy WM_SIZEWM_MOVE do okna. Tyto zprávy se neodesílají, pokud aplikace zpracovává OnWindowPosChanged volání bez volání své základní třídy. Je efektivnější provádět jakékoli zpracování změn přesunutí nebo velikosti během volání OnWindowPosChanged bez volání své základní třídy.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnWindowPosChanging

Architektura volá tuto členovou funkci, pokud se velikost, pozice nebo pořadí Z mění v důsledku volání SetWindowPos členské funkce nebo jiné funkce správy oken.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Parametry

lpwndpos
Odkazuje na datovou WINDOWPOS strukturu, která obsahuje informace o nové velikosti a umístění okna.

Poznámky

Aplikace může zabránit změnám okna nastavením nebo vymazáním příslušných bitů ve členu flagsWINDOWPOS struktury.

U okna se WS_OVERLAPPED stylem nebo WS_THICKFRAME stylem odešle WM_GETMINMAXINFO výchozí implementace do okna zprávu. Tím ověříte novou velikost a umístění okna a vynutíte CS_BYTEALIGNCLIENT styly klienta CS_BYTEALIGN . Aplikace může tuto funkci přepsat tím, že nevolá svou základní třídu.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnWinIniChange

Architektura volá tuto členovou funkci po provedení změny v inicializačním souboru Systému Windows , WIN.INI.

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parametry

lpszSection
Odkazuje na řetězec, který určuje název oddílu, který se změnil. (Řetězec neobsahuje hranaté závorky, které ohraničují název oddílu.)

Poznámky

Funkce SystemParametersInfo Windows volá po OnWinIniChange aplikaci funkci ke změně nastavení v WIN.INI souboru.

K odeslání WM_WININICHANGE zprávy do všech oken nejvyšší úrovně může aplikace použít SendMessage funkci Windows s jeho hwnd parametrem nastaveným na HWND_BROADCAST.

Pokud aplikace současně změní mnoho různých oddílů WIN.INI , měla by aplikace odeslat jednu WM_WININICHANGE zprávu s nastaveným parametrem lpszSectionNULL. Jinak by aplikace měla posílat WM_WININICHANGE pokaždé, když provede změnu .WIN.INI

Pokud aplikace obdrží OnWinIniChange volání s nastaveným lpszSection nastavením NULL, měla by aplikace zkontrolovat všechny části win. INI, které ovlivňují aplikaci.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnWndMsg

Tato členová funkce je volána pomocí WindowProcfunkce , nebo je volána během reflexe zprávy.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Určuje zprávu, která se má odeslat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

pResult
Vrácená hodnota WindowProc. Závisí na zprávě; může být NULL.

Vrácená hodnota

TRUE, pokud byla zpráva zpracována; jinak NEPRAVDA.

Poznámky

OnWndMsg určuje typ zprávy a buď volá příslušnou funkci rozhraní (například OnCommand pro WM_COMMAND) nebo vyhledá příslušnou zprávu v mapě zprávy.

Další informace o reflexi zpráv naleznete v tématu Zpracování Reflexe ed Zprávy.

CWnd::OnXButtonDblClk

Architektura volá tuto členskou funkci, když uživatel poklikne XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL.

nButton
[v] Hodnota XBUTTON1 , pokud je první tlačítko Microsoft Intellimouse X poklikání nebo XBUTTON2, pokud je druhé tlačítko X poklikání.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_XBUTTONDBLCLK oznámení, které je popsáno v sadě Windows SDK. Pokud se myš nezachytí, zpráva se publikuje do okna pod kurzorem. V opačném případě se zpráva publikuje do okna, které zachytilo myš.

Parametr nFlags může být kombinací modifikačních kláves uvedených v následující tabulce. Další informace naleznete v tématu O vstupu myši.

Modifikační klávesa Popis
MK_CONTROL Stisknete klávesu CTRL.
MK_LBUTTON Levé tlačítko myši se stiskne.
MK_MBUTTON Prostřední tlačítko myši se stiskne.
MK_RBUTTON Pravé tlačítko myši se stiskne.
MK_SHIFT Stisknete klávesu SHIFT.
MK_XBUTTON1 Stisknete XBUTTON1 tlačítko myši microsoft IntelliMouse.
MK_XBUTTON2 Stisknete XBUTTON2 tlačítko myši microsoft IntelliMouse.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnXButtonDown

Architektura volá tuto členskou funkci, když uživatel stiskne XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL.

nButton
[v] Hodnota XBUTTON1 , jestli bylo na první tlačítko Microsoft Intellimouse X kliknuto nebo XBUTTON2 jestli bylo na druhé tlačítko X kliknuto.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_XBUTTONDOWN oznámení, které je popsáno v sadě Windows SDK. Pokud se myš nezachytí, zpráva se publikuje do okna pod kurzorem. V opačném případě se zpráva publikuje do okna, které zachytilo myš.

Parametr nFlags může být kombinací modifikačních kláves uvedených v následující tabulce. Další informace naleznete v tématu O vstupu myši.

Modifikační klávesa Popis
MK_CONTROL Stisknete klávesu CTRL.
MK_LBUTTON Levé tlačítko myši se stiskne.
MK_MBUTTON Prostřední tlačítko myši se stiskne.
MK_RBUTTON Pravé tlačítko myši se stiskne.
MK_SHIFT Stisknete klávesu SHIFT.
MK_XBUTTON1 Stisknete XBUTTON1 tlačítko myši microsoft IntelliMouse.
MK_XBUTTON2 Stisknete XBUTTON2 tlačítko myši microsoft IntelliMouse.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OnXButtonUp

Architektura volá tuto členskou funkci, když uživatel uvolní XBUTTON1 nebo XBUTTON2 když je kurzor v klientské oblasti okna.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[v] Bitové kombinace (OR) příznaků, které označují, které modifikační klávesy jsou stisknuty. Příznak například označuje, MK_CONTROL že je stisknuta klávesa CTRL.

nButton
[v] Hodnota XBUTTON1 , jestli bylo poklikáním na první tlačítko Microsoft Intellimouse X nebo XBUTTON2 poklikáním na druhé tlačítko X.

point
[v] Objekt CPoint , který určuje x a y souřadnice kurzoru vzhledem k levému hornímu rohu klientské oblasti.

Poznámky

Tato metoda obdrží WM_XBUTTONUP oznámení, které je popsáno v sadě Windows SDK. Pokud se myš nezachytí, zpráva se publikuje do okna pod kurzorem. V opačném případě se zpráva publikuje do okna, které zachytilo myš.

Parametr nFlags může být kombinací modifikačních kláves uvedených v následující tabulce. Další informace naleznete v tématu O vstupu myši.

Modifikační klávesa Popis
MK_CONTROL Stisknete klávesu CTRL.
MK_LBUTTON Levé tlačítko myši se stiskne.
MK_MBUTTON Prostřední tlačítko myši se stiskne.
MK_RBUTTON Pravé tlačítko myši se stiskne.
MK_SHIFT Stisknete klávesu SHIFT.
MK_XBUTTON1 Stisknete XBUTTON1 tlačítko myši microsoft IntelliMouse.
MK_XBUTTON2 Stisknete XBUTTON2 tlačítko myši microsoft IntelliMouse.

Poznámka

Tato členová funkce je volána architekturou, která vaší aplikaci umožní zpracovat zprávu systému Windows. Parametry předané vaší funkci odrážejí parametry přijaté architekturou při přijetí zprávy. Pokud zavoláte implementaci této funkce základní třídy, použije tato implementace parametry, které byly původně předány se zprávou, a ne parametry, které do funkce zadáte.

CWnd::OpenClipboard

Otevře schránku.

BOOL OpenClipboard();

Vrácená hodnota

Nenulové, pokud je schránka otevřena prostřednictvím CWndnebo 0, pokud je otevřená jiná aplikace nebo okno.

Poznámky

Jiné aplikace nebudou moci upravovat schránku, dokud CloseClipboard nebude volána funkce Systému Windows.

Aktuální CWnd objekt se nestane vlastníkem schránky, dokud EmptyClipboard nebude volána funkce Systému Windows.

Příklad

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

Tento operátor slouží k získání popisovače objektu CWnd .

operator HWND() const;

CWnd::operator !=

Porovná dva CWnd objekty a určí, zda nemají stejné m_hWnd.

BOOL operator!=(const CWnd& wnd) const;

Parametry

wnd
Odkaz na CWnd objekt.

Vrácená hodnota

Nenulová, pokud je rovna; jinak 0.

CWnd::operator ==

Porovná dva CWnd objekty a určí, zda mají stejné m_hWnd.

BOOL operator==(const CWnd& wnd) const;

Parametry

wnd
Odkaz na CWnd objekt.

Vrácená hodnota

Nenulová, pokud je rovna; jinak 0.

CWnd::PaintWindowlessControls

Nakreslí ovládací prvky bez oken v kontejneru ovládacího prvku.

BOOL PaintWindowlessControls(CDC* pDC);

Parametry

pDC
Kontext zařízení, na kterém chcete kreslit ovládací prvky bez oken.

Vrácená hodnota

Vrátí TRUE , pokud je kontejner ovládacího prvku a ovládací prvky bez oken jsou úspěšně vykresleny, jinak FALSE.

CWnd::PostMessage

Umístí zprávu do fronty zpráv okna a pak se vrátí bez čekání na zpracování zprávy odpovídajícím oknem.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

message
Určuje zprávu, která se má publikovat.

wParam
Určuje další informace o zprávě. Obsah tohoto parametru závisí na publikované zprávě.

lParam
Určuje další informace o zprávě. Obsah tohoto parametru závisí na publikované zprávě.

Vrácená hodnota

Nenulové, pokud je zpráva publikována; jinak 0.

Poznámky

Zprávy ve frontě zpráv se načítají voláním GetMessage funkce systému Windows.PeekMessage

Funkci Windows PostMessage lze použít pro přístup k jiné aplikaci.

Příklad

Podívejte se na příklad pro AfxGetMainWnd.

CWnd::PostNcDestroy

Volané podle výchozí OnNcDestroy členské funkce po zničení okna.

virtual void PostNcDestroy();

Poznámky

Odvozené třídy mohou tuto funkci použít pro vlastní vyčištění, jako je odstranění this ukazatele.

CWnd::PreCreateWindow

Volá se rozhraním před vytvořením okna Windows připojeného k tomuto CWnd objektu.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parametry

cs
Struktura CREATESTRUCT .

Vrácená hodnota

Nenulové, pokud by vytváření okna mělo pokračovat; 0 značí selhání vytváření.

Poznámky

Upozorňující

CWnd::PreCreateWindow nyní přiřadí člen cs hMenu ukazatel this , pokud je NULL nabídka a styl obsahuje WS_CHILD. Pro správné funkce se ujistěte, že ovládací prvek dialogového okna má ID, které není NULL.

Tato změna opravuje chybové ukončení ve scénářích spravované/nativní spolupráce. Prohlášení TRACE v CWnd::Create upozorněních vývojáře problému.

Tuto funkci nikdy nevolejte přímo.

Výchozí implementace této funkce zkontroluje NULL název třídy okna a nahradí odpovídající výchozí hodnotu. Přepište tuto členovou funkci tak, aby před vytvořením okna změnila CREATESTRUCT strukturu.

Každá třída odvozená z CWnd přidává své vlastní funkce k přepsání PreCreateWindow. Tyto odvození PreCreateWindow nejsou záměrně zdokumentovány. Chcete-li určit styly vhodné pro každou třídu a vzájemné závislosti mezi styly, můžete prozkoumat zdrojový kód MFC pro základní třídu vaší aplikace. Pokud se rozhodnete přepsat PreCreateWindow, , můžete určit, zda styly použité v základní třídě vaší aplikace poskytují funkce, které potřebujete, pomocí informací shromážděných ze zdrojového kódu MFC.

Další informace o změně stylů oken naleznete v tématu Změna stylů okna vytvořeného prostředím MFC.

Příklad

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

Tato členová funkce je volána rozhraním, aby před podtřídou bylo možné provést další nezbytné podtřídy.

virtual void PreSubclassWindow();

Poznámky

Přepsání této členské funkce umožňuje dynamické podtřídy ovládacích prvků. Jedná se o pokročilou přepisovatelnou.

CWnd::PreTranslateMessage

CWinApp Třída slouží k překladu zpráv oken před jejich odesláním TranslateMessage do funkcí systému Windows a DispatchMessage Windows.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

pMsg
Odkazuje na MSG strukturu, která obsahuje zprávu ke zpracování.

Vrácená hodnota

Nenulové, pokud byla zpráva přeložena a neměla by být odeslána; 0, pokud zpráva nebyla přeložena a měla by být odeslána.

CWnd::Print

Voláním této členské funkce nakreslete aktuální okno v zadaném kontextu zařízení, které je nejčastěji v kontextu zařízení tiskárny.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Parametry

pDC
Ukazatel na kontext zařízení.

dwFlags
Určuje možnosti výkresu. Tento parametr může být jeden nebo více z těchto příznaků:

  • PRF_CHECKVISIBLE Nakreslete okno jenom v případě, že je viditelné.

  • PRF_CHILDREN Kreslete všechna viditelná podřízená okna.

  • PRF_CLIENT Nakreslete oblast klienta okna.

  • PRF_ERASEBKGND Před nakreslením okna vymažte pozadí.

  • PRF_NONCLIENT Nakreslete oblast bez klienta okna.

  • PRF_OWNED Nakreslete všechna vlastněná okna.

Poznámky

CWnd::DefWindowProc funkce zpracuje tuto zprávu na základě zadané možnosti výkresu:

  • Pokud PRF_CHECKVISIBLE je zadané a okno není viditelné, nic nedělejte.

  • Pokud PRF_NONCLIENT je zadáno, nakreslete oblast nonclient v daném kontextu zařízení.

  • Pokud PRF_ERASEBKGND je zadáno, odešlete okno WM_ERASEBKGND zprávu.

  • Pokud PRF_CLIENT je zadáno, odešlete okno WM_PRINTCLIENT zprávu.

  • Pokud PRF_CHILDREN je nastavené, odešlete každé viditelné podřízené okno WM_PRINT zprávu.

  • Pokud PRF_OWNED je nastavené, pošlete každému viditelnému WM_PRINT okně zprávu.

CWnd::PrintClient

Voláním této členské funkce nakreslete jakékoli okno v zadaném kontextu zařízení (obvykle kontext zařízení tiskárny).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Parametry

pDC
Ukazatel na kontext zařízení.

dwFlags
Určuje možnosti kreslení. Tento parametr může být jeden nebo více z těchto příznaků:

  • PRF_CHECKVISIBLE Nakreslete okno jenom v případě, že je viditelné.

  • PRF_CHILDREN Kreslete všechna viditelná podřízená okna.

  • PRF_CLIENT Nakreslete oblast klienta okna.

  • PRF_ERASEBKGND Před nakreslením okna vymažte pozadí.

  • PRF_NONCLIENT Nakreslete oblast bez klienta okna.

  • PRF_OWNED Nakreslete všechna vlastněná okna.

CWnd::PrintWindow

Zkopíruje okno vizuálu do zadaného kontextu zařízení, obvykle řadiče domény tiskárny.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parametry

pDC
Ukazatel na kontext zařízení, na který se má vytisknout.

nFlags
Určuje možnosti výkresu. Seznam možných hodnot najdete v tématu PrintWindow.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce PrintWindow, jak je popsáno v sadě Windows SDK.

CWnd::RedrawWindow

Aktualizace zadaného obdélníku nebo oblasti v klientské oblasti daného okna.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parametry

lpRectUpdate
Odkazuje na RECT strukturu obsahující souřadnice obdélníku aktualizace. Tento parametr se ignoruje, pokud prgnUpdate obsahuje platný popisovač oblasti.

prgnUpdate
Identifikuje oblast aktualizace. Pokud se jedná o obojí prgnUpdate , lpRectUpdateNULLpřidá se do oblasti aktualizace celá oblast klienta.

flags
K zneplatnění okna se používají následující příznaky:

  • RDW_ERASE Způsobí, že okno obdrží WM_ERASEBKGND zprávu při opětovném nakreslení okna. Příznak RDW_INVALIDATE musí být zadán také; jinak RDW_ERASE nemá žádný vliv.

  • RDW_FRAME Způsobí, že jakákoli část oblasti mimo klient okna, která protíná oblast aktualizace, aby obdržela WM_NCPAINT zprávu. Příznak RDW_INVALIDATE musí být zadán také. Jinak RDW_FRAME nemá žádný vliv.

  • RDW_INTERNALPAINTWM_PAINT Způsobí, že se zpráva odešle do okna bez ohledu na to, jestli okno obsahuje neplatnou oblast.

  • RDW_INVALIDATE Zneplatnění lpRectUpdate nebo prgnUpdate (pouze jeden nemusí být NULL). Pokud se jedná NULLo obojí, celé okno se zneplatní.

K ověření okna se používají následující příznaky:

  • RDW_NOERASE Potlačí všechny čekající WM_ERASEBKGND zprávy.

  • RDW_NOFRAME Potlačí všechny čekající WM_NCPAINT zprávy. Tento příznak musí být použit s RDW_VALIDATE a obvykle se používá s RDW_NOCHILDREN. Tato možnost by měla být použita s opatrností, protože by mohla zabránit správnému malování částí okna.

  • RDW_NOINTERNALPAINT Potlačí všechny čekající interní WM_PAINT zprávy. Tento příznak nemá vliv na WM_PAINT zprávy vyplývající z neplatných oblastí.

  • RDW_VALIDATElpRectUpdate Ověřuje nebo prgnUpdate (pouze jeden nemusí NULLbýt ). Pokud se jedná NULLo obojí, ověří se celé okno. Tento příznak nemá vliv na interní WM_PAINT zprávy.

Následující příznaky určují, kdy dojde k překreslení. Malování není funkce provedenaRedrawWindow, pokud není zadán jeden z těchto bitů.

  • RDW_ERASENOW Způsobí, že ovlivněná okna (specifikovaná příznakem RDW_ALLCHILDREN a RDW_NOCHILDREN příznakem) budou v případě potřeby přijímat WM_NCPAINT a WM_ERASEBKGND hlásit zprávy před vrácením funkce. WM_PAINT zprávy jsou odloženy.

  • RDW_UPDATENOW Způsobí, že ovlivněná okna (jak jsou zadány RDW_ALLCHILDREN příznaky RDW_NOCHILDREN ) přijímat WM_NCPAINT, WM_ERASEBKGNDa WM_PAINT zprávy, pokud je to nutné, před vrácením funkce.

Ve výchozím nastavení okna ovlivněná RedrawWindow funkcí závisí na tom, jestli má zadané okno WS_CLIPCHILDREN styl. Podřízená okna WS_CLIPCHILDREN oken nejsou ovlivněna. Tato okna, která nejsou WS_CLIPCHILDREN windows, se však rekurzivně ověřují nebo zneplatní, dokud WS_CLIPCHILDREN se nezobrazí okno. Následující příznaky řídí, která okna jsou ovlivněna RedrawWindow funkcí:

  • RDW_ALLCHILDREN Zahrnuje podřízená okna, pokud existuje, v operaci překreslení.

  • RDW_NOCHILDREN Vyloučí podřízená okna, pokud existují, z operace překreslení.

Vrácená hodnota

Nenulové, pokud bylo okno úspěšně překresleno; jinak 0.

Poznámky

Pokud se RedrawWindow členová funkce používá k zneplatnění části okna plochy, toto okno neobdrží WM_PAINT zprávu. K opětovnému nakreslení plochy by měla aplikace používat CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, nebo RedrawWindow

CWnd::ReflectChildNotify

Tato funkce zprávy je volána architekturou z OnChildNotify.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Určuje zprávu, která se má promítnout.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

pResult
Výsledek vygenerovaný podřízeným oknem, který má vrátit nadřazené okno. Může to být NULL.

Vrácená hodnota

TRUE pokud se zpráva projevila; jinak FALSE.

Poznámky

Jedná se o pomocnou funkci, která odráží message jeho zdroj.

Reflexe zprávy se odesílají přímo do CWnd::OnWndMsg nebo CCmdTarget::OnCmdMsg.

Další informace o reflexi zpráv naleznete v tématu Zpracování Reflexe ed Zprávy.

CWnd::ReflectLastMsg

Tato členová funkce je volána rozhraním, aby odrážela poslední zprávu do podřízeného okna.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parametry

hWndChild
Popisovač podřízeného okna

pResult
Výsledek vygenerovaný podřízeným oknem, který má vrátit nadřazené okno. Může to být NULL.

Vrácená hodnota

Nenulové, pokud byla zpráva zpracována; jinak 0.

Poznámky

Tato členová funkce volá SendChildNotifyLastMsg , pokud je okno identifikované hWndChild ovládacím prvku OLE nebo okno v trvalé mapě.

Další informace o reflexi zpráv naleznete v tématu Zpracování Reflexe ed Zprávy.

CWnd::ReleaseDC

Uvolní kontext zařízení a uvolní ho pro použití jinými aplikacemi.

int ReleaseDC(CDC* pDC);

Parametry

pDC
Identifikuje kontext zařízení, který se má uvolnit.

Vrácená hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Účinek ReleaseDC členské funkce závisí na typu kontextu zařízení.

Aplikace musí volat ReleaseDC členovu funkci pro každé volání GetWindowDC členské funkce a pro každé volání GetDC členské funkce.

CWnd::RepositionBars

Volá se změna umístění a změna velikosti řídicích pruhů v klientské oblasti okna.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Parametry

nIDFirst
ID prvního řídicího pruhu v rozsahu ovládacích pruhů pro změnu umístění a změnu velikosti.

nIDLast
ID posledního řídicího pruhu v rozsahu ovládacích pruhů pro změnu umístění a změnu velikosti.

nIDLeftOver
Určuje ID podokna, které vyplní zbytek klientské oblasti.

nFlag
Může mít jednu z následujících hodnot:

  • CWnd::reposDefault Provede rozložení řídicích pruhů. lpRectParam se nepoužívá a může být NULL.

  • CWnd::reposQuery Rozložení řídicích pruhů není hotové; místo toho lpRectParam se inicializuje s velikostí klientské oblasti, jako by rozložení skutečně proběhlo.

  • CWnd::reposExtra Přidá hodnoty lpRectParam do klientské oblasti nIDLast a také provede rozložení.

lpRectParam
Odkazuje na RECT strukturu; použití, které závisí na hodnotě nFlag.

lpRectClient
Odkazuje na RECT strukturu obsahující dostupnou oblast klienta. Pokud NULLse použije oblast klienta okna.

bStretch
Určuje, zda má být pruh roztažen na velikost rámečku.

Poznámky

nIDLast Parametry nIDFirst definují rozsah ID řídicích pruhů, které se mají přemístit v klientské oblasti. Parametr nIDLeftOver určuje ID podřízeného okna (obvykle zobrazení), které je přemísťováno a změněno tak, aby vyplnilo zbytek klientské oblasti, které nejsou vyplněny ovládacími pruhy.

CWnd::RunModalLoop

Voláním této členské funkce načtete, přeložíte nebo odešlete zprávy, dokud ContinueModal se nevrátí FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parametry

dwFlags
Určuje zprávu systému Windows, která se má odeslat. Může to být jedna z následujících hodnot:

  • MLF_NOIDLEMSG Neodesílejte WM_ENTERIDLE zprávy nadřazené sadě.

  • MLF_NOKICKIDLE Neodesílejte WM_KICKIDLE zprávy do okna.

  • MLF_SHOWONIDLE Zobrazit okno, když fronta zpráv přestane být nečinná.

Vrácená hodnota

Určuje hodnotu parametru nResult předaného EndModalLoop členské funkci, která se pak použije k ukončení modální smyčky.

Poznámky

Ve výchozím nastavení ContinueModal se vrátí FALSE po EndModalLoop zavolání. Vrátí hodnotu zadanou jako nResultEndModalLoop.

CWnd::ScreenToClient

Převede souřadnice obrazovky daného bodu nebo obdélníku na displeji na souřadnice klienta.

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

Parametry

lpPoint
Odkazuje na CPoint objekt nebo POINT strukturu , která obsahuje souřadnice obrazovky, které se mají převést.

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která obsahuje souřadnice obrazovky, které se mají převést.

Poznámky

Členská ScreenToClient funkce nahrazuje souřadnice obrazovky zadané v lpPoint souřadnicích klienta nebo lpRect souřadnice klienta. Nové souřadnice jsou relativní vzhledem k levému hornímu CWnd rohu klientské oblasti.

Příklad

Podívejte se na příklad pro CListCtrl::GetItemRect.

CWnd::ScrollWindow

Posune obsah klientské oblasti aktuálního CWnd objektu.

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Parametry

xAmount
Určuje množství vodorovného posouvání v jednotkách zařízení. Tento parametr musí být záporná hodnota, která se má posunout doleva.

yAmount
Určuje velikost vertikálního posouvání v jednotkách zařízení. Tento parametr musí být záporná hodnota, která se má posunout nahoru.

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která určuje část klientské oblasti, která se má posunout. Pokud lpRect ano NULL, posune se celá oblast klienta. Kurzor se přemísťuje, pokud obdélník kurzoru protíná obdélník posuvníku.

lpClipRect
Odkazuje na CRect objekt nebo RECT strukturu, která určuje obdélník výřezu, který se má posunout. Posunou se jenom bity uvnitř tohoto obdélníku. Bity mimo tento obdélník nejsou ovlivněny, i když jsou v obdélníku lpRect . Pokud lpClipRect ano NULL, na obdélníku posuvníku se neprovádí žádné výřezy.

Poznámky

Pokud je stříška v CWnd posouvání, automaticky skryje stříšku, ScrollWindow aby se zabránilo vymazání stříšky a potom po dokončení posouvání obnoví stříšku. Pozice stříšky se odpovídajícím způsobem upraví.

Oblast odkrytá ScrollWindow členskou funkcí se nepřekreslí, ale zkombinuje se do oblasti aktualizace aktuálního CWnd objektu. Aplikace nakonec obdrží zprávu s oznámením WM_PAINT , že oblast potřebuje překreslit. Chcete-li znovu nakreslit odkrytou oblast současně se posouváním, zavolejte UpdateWindow člena funkce ihned po volání ScrollWindow.

Pokud lpRect ano NULL, pozice všech podřízených oken v okně jsou posunuty o množství určené xAmount a yAmounta všechny neplatné (nezarovnané) oblasti v tomto CWnd okně jsou také posunu. ScrollWindow je rychlejší, pokud lpRect je NULL.

Pokud lpRect není NULL, pozice podřízených oken se nezmění a neplatné oblasti CWnd nejsou posunuty. Chcete-li zabránit aktualizaci problémů, pokud lpRect není NULL, zavolejte UpdateWindow členské funkce, aby se před voláním ScrollWindowznovu nakreslily CWnd .

CWnd::ScrollWindowEx

Posune obsah klientské oblasti okna.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Parametry

dx
Určuje množství vodorovného posouvání v jednotkách zařízení. Aby se tento parametr mohl posunout doleva, musí mít zápornou hodnotu.

dy
Určuje velikost vertikálního posouvání v jednotkách zařízení. Aby se tento parametr mohl posunout nahoru, musí mít zápornou hodnotu.

lpRectScroll
Odkazuje na RECT strukturu , která určuje část klientské oblasti, která se má posunout. Pokud je NULLtento parametr, posune se celá oblast klienta.

lpRectClip
Odkazuje na RECT strukturu, která určuje obdélník výřezu, který se má posunout. Tato struktura má přednost před obdélníkem, na který lpRectScrollodkazuje . Posunou se jenom bity uvnitř tohoto obdélníku. Bity mimo tento obdélník nejsou ovlivněny, i když jsou v obdélníku lpRectScroll . Pokud je NULLtento parametr, neprovádí se žádný výřez na obdélníku posuvníku.

prgnUpdate
Identifikuje oblast upravenou tak, aby oblast byla zrušena posouváním. Tento parametr může být NULL.

lpRectUpdate
Odkazuje na RECT strukturu, která obdrží hranice obdélníku zneplatněné posouváním. Tento parametr může být NULL.

flags
Může mít jednu z následujících hodnot:

  • SW_ERASE Když zadáte SW_INVALIDATEpomocí příkazu , vymaže nově neplatnou oblast odesláním WM_ERASEBKGND zprávy do okna.

  • SW_INVALIDATE Oblast identifikovaná prgnUpdate po posouvání zneplatní.

  • SW_SCROLLCHILDREN Posune všechna podřízená okna, která protínají obdélník, na který lpRectScroll odkazuje počet pixelů zadaných v dx a dy. Systém Windows odešle WM_MOVE zprávu do všech podřízených oken, která protínají , i když se nepřesouvají lpRectScroll. Kurzor se přemísťuje při posouvání podřízeného okna a obdélník kurzoru protíná obdélník posuvníku.

Vrácená hodnota

Návratová hodnota je SIMPLEREGION (obdélníková neplatná oblast), COMPLEXREGION (nerectangulovaná neplatná oblast; překrývající se obdélníky) nebo NULLREGION (bez neplatných oblastí), pokud je funkce úspěšná; v opačném případě je ERRORvrácená hodnota .

Poznámky

Tato funkce je podobná ScrollWindow funkci s některými dalšími funkcemi.

Pokud SW_INVALIDATE a SW_ERASE nejsou zadány, ScrollWindowEx členová funkce zneplatní oblast, která je posunována směrem od. Pokud je některý z těchto příznaků nastavený, ScrollWindowEx zneplatní tuto oblast. Oblast se neaktualizuje, dokud aplikace nevolá UpdateWindow členovou funkci, zavolá RedrawWindow členovou funkci (určení RDW_UPDATENOW nebo RDW_ERASENOW) nebo načte WM_PAINT zprávu z fronty aplikace.

Pokud má WS_CLIPCHILDREN okno styl, vrácené oblasti určené prgnUpdate a lpRectUpdate představují celkovou oblast posuvného okna, která musí být aktualizována, včetně všech oblastí v podřízených oknech, které potřebují aktualizaci.

SW_SCROLLCHILDREN Pokud je příznak zadán, Systém Windows nebude správně aktualizovat obrazovku, pokud se část podřízeného okna posune. Část posuvného podřízeného okna, která leží mimo zdrojový obdélník, nebude vymazána a nebude správně překreslena v jeho novém cíli. DeferWindowPos Pomocí funkce Windows můžete přesouvat podřízená okna, která nejsou zcela v obdélníkulpRectScroll. Kurzor se přemísťuje, pokud SW_SCROLLCHILDREN je příznak nastaven a stříšku obdélník protíná obdélník posuvníku.

Všechny vstupní a výstupní souřadnice (pro lpRectScroll, lpRectClip, lpRectUpdatea prgnUpdate) se předpokládají v souřadnicích klienta bez ohledu na to, zda má okno CS_OWNDC styl nebo CS_CLASSDC třídy. LPtoDP V případě potřeby můžete pomocí funkcí Windows DPtoLP převést na logické souřadnice a z logických souřadnic.

CWnd::SendChildNotifyLastMsg

Tato členová funkce je volána architekturou, která poskytuje podřízené okno oznámení z nadřazeného okna, takže podřízené okno může zpracovat úlohu.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parametry

pResult
Výsledek vygenerovaný podřízeným oknem, který má vrátit nadřazené okno.

Vrácená hodnota

Nenulové, pokud podřízené okno zpracovalo zprávu poslanou do nadřazeného objektu; jinak 0.

Poznámky

SendChildNotifyLastMsg pokud se jedná o zprávu, která se projeví, odešle aktuální zprávu do zdroje.

Další informace o reflexi zpráv naleznete v tématu Zpracování Reflexe ed Zprávy.

CWnd::SendDlgItemMessage

Odešle zprávu ovládacímu prvku.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

nID
Určuje identifikátor ovládacího prvku dialogového okna, který zprávu obdrží.

message
Určuje zprávu, která se má odeslat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

Vrácená hodnota

Určuje hodnotu vrácenou procedurou okna ovládacího prvku nebo 0, pokud ovládací prvek nebyl nalezen.

Poznámky

Členová SendDlgItemMessage funkce se nevrátí, dokud nebude zpráva zpracována.

Použití SendDlgItemMessage je stejné jako získání CWnd* pro daný ovládací prvek a volání SendMessage členské funkce.

Příklad

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

Odešle zadanou zprávu do tohoto okna.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

message
Určuje zprávu, která se má odeslat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

Vrácená hodnota

Výsledek zpracování zprávy; jeho hodnota závisí na odeslané zprávě.

Poznámky

Člen SendMessage funkce volá proceduru okna přímo a nevrací, dokud tato procedura okna nezpracovala zprávu. To je na rozdíl od PostMessage členské funkce, která zprávu umístí do fronty zpráv okna a vrátí okamžitě.

Příklad

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

Voláním této členské funkce odešlete zadanou zprávu systému Windows do všech následnických oken.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Parametry

message
Určuje zprávu, která se má odeslat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

bDeep
Určuje úroveň, do které se má hledat. Pokud TRUE, rekurzivně hledat všechny děti; pokud FALSE, hledat pouze okamžité děti.

bOnlyPerm
Určuje, zda bude zpráva přijata dočasnými okny. Pokud TRUE, dočasná okna mohou přijmout zprávu; pokud FALSE, pouze trvalá okna obdrží zprávu. Další informace o dočasných oknech naleznete v technické poznámce 3.

Poznámky

Pokud bDeep ano FALSE, zpráva se odešle pouze do bezprostředních podřízených položek okna. V opačném případě se zpráva odešle do všech následnických oken.

Pokud bDeep a bOnlyPerm jsou TRUE, hledání pokračuje pod dočasnými okny. V tomto případě se při hledání zobrazí pouze trvalá okna. Pokud bDeep ano FALSE, zpráva se odešle pouze do bezprostředních podřízených položek okna.

Příklad

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

Odešle zadanou zprávu do okna.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parametry

message
Určuje zprávu, která se má odeslat.

wParam
Určuje další informace závislé na zprávách.

lParam
Určuje další informace závislé na zprávách.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Pokud bylo okno vytvořeno volajícím vláknem, volá proceduru okna pro okno a nevrátí se, SendNotifyMessage dokud procedura okna nezpracovala zprávu. Pokud okno vytvořilo jiné vlákno, SendNotifyMessage předá zprávu do procedury okna a vrátí se okamžitě. Nečeká, až proces okna dokončí zpracování zprávy.

CWnd::SetActiveWindow

Nastaví CWnd aktivní okno.

CWnd* SetActiveWindow();

Vrácená hodnota

Okno, které bylo dříve aktivní.

Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Členová SetActiveWindow funkce by se měla používat opatrně, protože umožňuje aplikaci libovolně převzít aktivní okno a vstupní fokus. Za normálních okolností se Systém Windows postará o veškerou aktivaci.

CWnd::SetCapture

Způsobí odeslání veškerého následného vstupu myši do aktuálního CWnd objektu bez ohledu na pozici kurzoru.

CWnd* SetCapture();

Vrácená hodnota

Ukazatel na objekt okna, který dříve přijal veškerý vstup myši. NULL Je to, pokud tam není takové okno. Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Pokud CWnd už nepotřebujete všechny vstupy myši, aplikace by měla volat ReleaseCapture funkci, aby ostatní okna mohly přijímat vstup myši.

Při zachycení vstupu myší se do aktivního okna neposílají žádné WM_NCHITTEST zprávy nebo WM_SETCURSOR zprávy.

CWnd::SetCaretPos

Nastaví pozici kurzoru.

static void PASCAL SetCaretPos(POINT point);

Parametry

point
Určuje nové souřadnice x a y (v souřadnicích klienta) stříšky.

Poznámky

Členová SetCaretPos funkce přesune stříšku pouze v případě, že je vlastníkem okna v aktuálním úkolu. SetCaretPos přesune stříšku bez ohledu na to, zda je stříška skrytá.

Stříškou je sdílený prostředek. Okno by nemělo přesouvat stříšku, pokud nevlastní stříšku.

Příklad

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

Přidá toto okno do řetězu oken, která jsou upozorněna (prostřednictvím WM_DRAWCLIPBOARD zprávy) při každé změně obsahu schránky.

HWND SetClipboardViewer();

Vrácená hodnota

Popisovač dalšího okna v řetězu prohlížeče schránky v případě úspěchu. Aplikace by měly tento popisovač uložit (lze ho uložit jako členovou proměnnou) a použít ho při odpovídání na řetězové zprávy prohlížeče schránky.

Poznámky

Okno, které je součástí řetězce prohlížeče schránky, musí reagovat na WM_DRAWCLIPBOARD, WM_CHANGECBCHAINa WM_DESTROY zprávy a předat zprávu do dalšího okna v řetězci.

Tato členová funkce odešle WM_DRAWCLIPBOARD zprávu do okna. Vzhledem k tomu, že popisovač dalšího okna v řetězu prohlížeče schránky ještě nebyl vrácen, aplikace by neměla předat WM_DRAWCLIPBOARD zprávu, kterou obdrží během volání SetClipboardViewer.

Aby se aplikace odebrala z řetězu prohlížečů schránky, musí volat členovou ChangeClipboardChain funkci.

CWnd::SetDlgCtrlID

Nastaví ID okna nebo ID ovládacího prvku pro okno na novou hodnotu.

int SetDlgCtrlID(int nID);

Parametry

nID
Nová hodnota, která se nastaví pro identifikátor ovládacího prvku.

Vrácená hodnota

Předchozí identifikátor okna, pokud byl úspěšný; jinak 0.

Poznámky

Toto okno může být libovolné podřízené okno, nejen ovládací prvek v dialogovém okně. Okno nemůže být okno nejvyšší úrovně.

CWnd::SetDlgItemInt

Nastaví text daného ovládacího prvku v dialogovém okně na řetězcovou reprezentaci zadané celočíselné hodnoty.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parametry

nID
Určuje celočíselné ID ovládacího prvku, který se má změnit.

nValue
Určuje celočíselnou hodnotu použitou k vygenerování textu položky.

bSigned
Určuje, zda je celočíselná hodnota podepsána nebo bez znaménka. Pokud je TRUEtento parametr , nValue je podepsán. Pokud je TRUE tento parametr menší nValue než 0, před první číslici v řetězci se umístí znaménko minus. Pokud je FALSEtento parametr , nValue je nepodepsaný.

Poznámky

SetDlgItemIntWM_SETTEXT odešle zprávu danému ovládacímu prvku.

Příklad

Podívejte se na příklad pro CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Nastaví popis nebo text ovládacího prvku vlastněného oknem nebo dialogovým oknem.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parametry

nID
Identifikuje ovládací prvek, jehož text má být nastaven.

lpszString
Odkazuje na CString objekt nebo řetězec ukončený hodnotou null, který obsahuje text, který se má zkopírovat do ovládacího prvku.

Poznámky

SetDlgItemTextWM_SETTEXT odešle zprávu danému ovládacímu prvku.

Příklad

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

Vloží vlákno, které vytvořilo okno do popředí a aktivuje okno.

BOOL SetForegroundWindow();

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Vstup pomocí klávesnice se směruje do okna a pro uživatele se mění různé vizuální pomůcky. Okno popředí je okno, se kterým uživatel právě pracuje. Okno popředí se vztahuje pouze na okna nejvyšší úrovně (rámečková okna nebo dialogová okna).

Příklad

Podívejte se na příklad pro CWnd::FindWindow.

CWnd::SetFocus

Deklaruje vstupní fokus.

CWnd* SetFocus();

Vrácená hodnota

Ukazatel na objekt okna, který dříve měl vstupní fokus. NULL Je to, pokud tam není takové okno. Vrácený ukazatel může být dočasný a neměl by být uložen.

Poznámky

Fokus vstupu směruje všechny následné vstupy klávesnice do tohoto okna. Jakékoli okno, které dříve mělo vstupní fokus, ho ztratí.

Členová SetFocus funkce odešle WM_KILLFOCUS zprávu do okna, které ztratí vstupní fokus a WM_SETFOCUS zprávu do okna, které obdrží vstupní fokus. Aktivuje se také okno nebo nadřazený objekt.

Pokud je aktuální okno aktivní, ale nemá fokus (to znamená, že fokus neobsahuje žádné okno), při stisknutí libovolné klávesy se vytvoří zprávy WM_SYSCHAR, WM_SYSKEYDOWNnebo WM_SYSKEYUP.

CWnd::SetFont

WM_SETFONT Odešle zprávu do okna, aby používalo zadané písmo.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Parametry

pFont
Ukazatel na CFont objekt.

bRedraw
TRUE pro okno překreslit ihned po zpracování WM_SETFONT zprávy; jinak FALSE.

Poznámky

Tato metoda nemá žádný vliv, pokud okno nezisekuje WM_SETFONT zprávu. Mnoho tříd MFC odvozených z CWnd procesu této zprávy, protože jsou připojeny k předdefinované třídě okna, která obsahuje obslužnou rutinu zprávy pro WM_SETFONT zprávu. Chcete-li použít tuto metodu, třídy odvozené z CWnd musí definovat obslužnou rutinu WM_SETFONT metody pro zprávu.

CWnd::SetIcon

Voláním této členské funkce nastavíte popisovač na konkrétní ikonu, jak je identifikováno hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parametry

hIcon
Popisovač předchozí ikony

bBigIcon
Určuje ikonu 32 pixelů o 32 pixelů, pokud TRUE; určuje ikonu 16 pixelů o 16 pixelů, pokud FALSE.

Vrácená hodnota

Úchyt ikony.

Poznámky

Když je třída okna zaregistrovaná, vybere ikonu.

Příklad

Podívejte se na příklad pro CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Nastaví barevný klíč neprůhlednosti a průhlednosti vrstveného okna.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parametry

crKey
Ukazatel na COLORREF hodnotu, která určuje barevný klíč průhlednosti, který se má použít při vytváření vrstveného okna. Všechny pixely malované oknem v této barvě budou průhledné. K vygenerování COLORREFRGB použijte makro.

bAlpha
Alfa hodnota použitá k popisu neprůhlednosti vrstveného okna. Další informace najdete v SourceConstantAlpha členu BLENDFUNCTION struktury. Když bAlpha je 0, okno je zcela průhledné. Když bAlpha je 255, okno je neprůžné.

dwFlags
Určuje akci, která se má provést. Tento parametr může být jedna nebo více následujících hodnot. Seznam možných hodnot najdete v tématu SetLayeredWindowAttributes.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce SetLayeredWindowAttributes, jak je popsáno v sadě Windows SDK.

CWnd::SetMenu

Nastaví aktuální nabídku na zadanou nabídku.

BOOL SetMenu(CMenu* pMenu);

Parametry

pMenu
Identifikuje novou nabídku. Pokud je NULLtento parametr , aktuální nabídka se odebere.

Vrácená hodnota

Nenulové, pokud je nabídka změněna; jinak 0.

Poznámky

Způsobí překreslení okna tak, aby odráželo změnu nabídky.

SetMenu nezničí předchozí nabídku. Aplikace by měla volat členovou CMenu::DestroyMenu funkci, která tuto úlohu provede.

Příklad

Podívejte se na příklad pro CMenu::LoadMenu.

CWnd::SetOwner

Nastaví vlastníka aktuálního okna na zadaný objekt okna.

void SetOwner(CWnd* pOwnerWnd);

Parametry

pOwnerWnd
Identifikuje nového vlastníka objektu okna. Pokud je NULLtento parametr, objekt okna nemá žádného vlastníka.

Poznámky

Tento vlastník pak může přijímat zprávy příkazů z aktuálního objektu okna. Ve výchozím nastavení je nadřazeným objektem aktuálního okna jeho vlastník.

Často je užitečné vytvářet propojení mezi objekty okna, které nesouvisejí s hierarchií oken. Například CToolBar odesílá oznámení vlastníkovi místo nadřazeného objektu. Díky tomu se panel nástrojů stane podřízeným oknem jednoho okna (například okno aplikace kontejneru OLE) při odesílání oznámení do jiného okna (například v místním okně rámečku). Kromě toho, když je okno serveru deaktivováno nebo aktivováno během místních úprav, je jakékoli okno vlastněné oknem rámečku skryté nebo zobrazené. Toto vlastnictví je explicitně nastaveno voláním SetOwner.

Koncept vlastnictví této funkce se liší od konceptu GetWindowvlastnictví .

CWnd::SetParent

Změní nadřazené okno podřízeného okna.

CWnd* SetParent(CWnd* pWndNewParent);

Parametry

pWndNewParent
Identifikuje nové nadřazené okno.

Vrácená hodnota

Ukazatel na předchozí nadřazený objekt okna, pokud byl úspěšný. Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

Pokud je podřízené okno viditelné, windows provede příslušné překreslení a překreslení.

CWnd::SetProperty

Voláním této členské funkce nastavíte vlastnost ovládacího prvku OLE určenou parametrem dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parametry

dwDispID
Identifikuje vlastnost, která se má nastavit.

vtProp
Určuje typ vlastnosti, která se má nastavit. Možné hodnoty naleznete v části Poznámky pro COleDispatchDriver::InvokeHelper.

...
Jeden parametr typu určeného parametrem vtProp.

Poznámky

Poznámka

Tato funkce by měla být volána pouze u objektu CWnd , který představuje ovládací prvek OLE.

Další informace o použití této členské funkce s kontejnery ovládacích prvků OLE naleznete v článku technologie ActiveX Řídicí kontejnery: Programování technologie ActiveX ovládacích prvků v kontejneru ovládacího prvku technologie ActiveX.

CWnd::SetRedraw

Volání aplikace SetRedraw umožňující překreslit změny nebo zabránit překreslení změn.

void SetRedraw(BOOL bRedraw = TRUE);

Parametry

bRedraw
Určuje stav překreslení příznaku. Pokud je TRUEtento parametr , překreslit příznak je nastaven; pokud FALSE, příznak je vymazán.

Poznámky

Tato členová funkce nastaví nebo vymaže příznak překreslení. Zatímco překreslit příznak je vymazán, obsah se po každé změně neaktualizuje a nebude znovu nakreslen, dokud není nastaven příznak překreslení. Například aplikace, která potřebuje přidat několik položek do seznamu, může vymazat překreslit příznak, přidat položky a pak nastavit překreslit příznak. Aplikace může nakonec volat Invalidate funkci nebo InvalidateRect člena, aby se seznam překresloval.

Příklad

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

Voláním této členské funkce nastavíte informace, které SCROLLINFO struktura udržuje o posuvníku.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parametry

nBar
Určuje, jestli je posuvník ovládací prvek nebo část oblasti bez klienta okna. Pokud je součástí jiné oblasti než klient, nBar také označuje, zda je posuvník umístěn vodorovně, svisle nebo obojí. Musí to být jedna z těchto věcí:

  • SB_CTL Obsahuje parametry pro ovládací prvek posuvníku. Datový m_hWnd člen musí být úchytem ovládacího prvku posuvníku.

  • SB_HORZ Určuje, že okno je vodorovný posuvník.

  • SB_VERT Určuje, že okno je svislý posuvník.

lpScrollInfo
Ukazatel na SCROLLINFO strukturu. Další informace o této struktuře najdete v sadě Windows SDK.

bRedraw
Určuje, zda má být posuvník překreslen tak, aby odrážel novou pozici. Pokud bRedraw ano TRUE, posuvník je překreslen. Pokud ano FALSE, není překreslená. Posuvník se ve výchozím nastavení překreslí.

Vrácená hodnota

V případě úspěchu je TRUEvrácena hodnota . Jinak je FALSEto .

Poznámky

Struktura SCROLLINFO obsahuje informace o posuvníku, včetně minimální a maximální pozice posouvání, velikosti stránky a pozice posuvníku (palce). SCROLLINFO Další informace o změně výchozích hodnot struktury najdete v tématu struktury v sadě Windows SDK.

Obslužné rutiny zpráv MFC systému Windows označující pozici CWnd::OnHScroll posuvníku a CWnd::OnVScrollposkytují pouze 16 bitů dat o poloze. GetScrollInfo a SetScrollInfo poskytuje 32 bitů dat o poloze posuvníku. Aplikace tedy může volat GetScrollInfo při zpracování nebo CWnd::OnHScrollCWnd::OnVScroll získání 32bitových dat umístění posuvníku.

Poznámka

CWnd::GetScrollInfo umožňuje aplikacím používat 32bitové pozice posuvníku.

CWnd::SetScrollPos

Nastaví aktuální pozici posuvníku a v případě potřeby překreslí posuvník tak, aby odrážel nové umístění posuvníku.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parametry

nBar
Určuje posuvník, který se má nastavit. Tento parametr může být následující:

  • SB_HORZ Nastaví pozici posuvníku na vodorovném posuvníku okna.

  • SB_VERT Nastaví pozici posuvníku ve svislém posuvníku okna.

nPos
Určuje nové umístění posuvníku. Musí být v rozsahu posouvání.

bRedraw
Určuje, jestli se má posuvník překreslit tak, aby odrážel novou pozici posuvníku. Pokud je TRUEtento parametr , posuvník se překreslí; pokud FALSEse posuvník nepřekreslí.

Vrácená hodnota

Předchozí pozice posuvníku.

Poznámky

FALSE Nastavení bRedraw je užitečné pokaždé, když se posuvník překreslí následným voláním jiné funkce.

CWnd::SetScrollRange

Nastaví minimální a maximální hodnoty pozice pro daný posuvník.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parametry

nBar
Určuje posuvník, který se má nastavit. Tento parametr může být některou z následujících hodnot:

  • SB_HORZ Nastaví rozsah vodorovného posuvníku okna.

  • SB_VERT Nastaví rozsah svislého posuvníku okna.

nMinPos
Určuje minimální pozici posouvání.

nMaxPos
Určuje maximální pozici posouvání.

bRedraw
Určuje, jestli má být posuvník překreslen tak, aby odrážel změnu. Pokud bRedraw je TRUE, posuvník je překreslen; pokud FALSE, posuvník není překreslen.

Poznámky

Dá se také použít ke skrytí nebo zobrazení standardních posuvníků.

Aplikace by neměla tuto funkci volat, aby při zpracování zprávy s oznámením na posuvníku skryla posuvník.

Pokud volání bezprostředně následuje za voláním SetScrollRangeSetScrollPos členské funkce, měl by být parametr v SetScrollPos členské funkci 0, bRedraw aby se posuvník nekreslil dvakrát.

Výchozí rozsah standardního posuvníku je 0 až 100. Výchozí oblast ovládacího prvku posuvníku je prázdná (obě nMinPos hodnoty nMaxPos jsou 0). Rozdíl mezi hodnotami zadanými nMinPos a nMaxPos nesmí být větší než INT_MAX.

CWnd::SetTimer

Nainstaluje systémový časovač.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Parametry

nIDEvent
Určuje nenulový identifikátor časovače. Pokud je identifikátor časovače jedinečný, vrátí tato stejná hodnota SetTimer. SetTimer V opačném případě určuje novou jedinečnou hodnotu a vrátí ji. U časovače okna (který má funkci zpětného NULL volání) musí být hodnota jedinečná pouze pro jiné časovače oken, které jsou přidružené k aktuálnímu okně. U časovače zpětného volání musí být hodnota jedinečná pro všechny časovače ve všech procesech. Proto při vytváření časovače zpětného volání je pravděpodobnější, že vrácená hodnota se může lišit od zadané hodnoty.

nElapse
Určuje hodnotu časového limitu nebo interval v milisekundách.

lpfnTimer
Určuje adresu funkce zpětného volání zadanou TimerProc aplikací, která zpracovává WM_TIMER zprávy. Pokud je NULLtento parametr , WM_TIMER zprávy se umístí do fronty zpráv aplikace a zpracovává objekt CWnd .

Vrácená hodnota

Identifikátor časovače nového časovače, pokud je funkce úspěšná. Tato hodnota se může nebo nemusí rovnat hodnotě předávané prostřednictvím parametru nIDEvent . Aplikace by měla vždy předat návratovou hodnotu KillTimer členské funkci k ukončení časovače. Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Je zadána hodnota intervalu a pokaždé, když interval uplyne, systém odešle WM_TIMER zprávu do instalační fronty zpráv instalační aplikace nebo předá zprávu do funkce zpětného volání definované TimerProc aplikací.

lpfnTimer Funkci zpětného volání není nutné pojmenovatTimerProc, ale musí být deklarována jako statická a definovaná následujícím způsobem.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Příklad

V tomto příkladu se používá CWnd::SetTimer, CWnd::OnTimera CWnd::KillTimer ke zpracování WM_TIMER zpráv. První časovač je nastaven tak, aby odeslal WM_TIMER zprávu do okna hlavního rámce každých 2 sekundy v OnStartTimer. Obslužná rutina OnTimer události zpracovává WM_TIMER zprávy pro hlavní okno rámce. Tato metoda způsobí, že reproduktor počítače každých 2 sekundy pípá. Druhý časovač odešle zprávu funkci zpětného volání každých 3,75 sekund. OnStopTimer zastaví obě časovače voláním CWnd::KillTimer pro každé ID časovače.

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

Voláním této členské funkce přidružíte identifikátor kontextu nápovědy k zadanému okně.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parametry

dwContextHelpId
Identifikátor kontextu nápovědy.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Pokud podřízené okno nemá identifikátor kontextu nápovědy, dědí identifikátor nadřazeného okna. Podobně pokud vlastní okno nemá identifikátor kontextu nápovědy, dědí identifikátor okna vlastníka. Tato dědičnost identifikátorů kontextu nápovědy umožňuje aplikaci nastavit pouze jeden identifikátor dialogového okna a všech jeho ovládacích prvků.

Příklad

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

Nastaví stav zobrazení a normální (obnovené), minimalizované a maximalizované pozice pro okno.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Parametry

lpwndpl
Odkazuje na WINDOWPLACEMENT strukturu, která určuje nový stav a pozice zobrazení.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

CWnd::SetWindowPos

Změní velikost, umístění a pořadí Z podřízených oken, automaticky otevíraných oken a oken nejvyšší úrovně.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parametry

pWndInsertAfter
CWnd Identifikuje objekt, který bude před tímto objektem (vyšší než) CWnd v pořadí Z. Tento parametr může být ukazatel na CWnd jednu z následujících hodnot nebo ukazatel na jednu z následujících hodnot:

  • wndBottom Umístí okno v dolní části pořadí Z. Pokud se jedná CWnd o první okno, okno ztratí svůj nejvyšší stav; systém umístí okno do dolní části všech ostatních oken.

  • wndTop Umístí okno v horní části pořadí Z.

  • wndTopMost Umístí okno nad všechna nevrchnější okna. Okno udržuje nejvyšší pozici, i když je deaktivováno.

  • wndNoTopMost Přemísťuje okno na začátek všech nevrchných oken (to znamená za všechna horní okna). Tento příznak nemá žádný vliv, pokud je okno již úplně nahoře.

Pravidla týkající se použití tohoto parametru najdete v části Poznámky v tomto tématu.

x
Určuje nové umístění levé strany okna.

y
Určuje nové umístění horní části okna.

cx
Určuje novou šířku okna.

cy
Určuje novou výšku okna.

nFlags
Určuje nastavení velikosti a umístění. Tento parametr může být kombinací následujících příznaků:

  • SWP_DRAWFRAME Nakreslí rámeček (definovaný při vytvoření okna) kolem okna.

  • SWP_FRAMECHANGEDWM_NCCALCSIZE Odešle zprávu do okna, i když se velikost okna nezmění. Pokud tento příznak není zadaný, WM_NCCALCSIZE odešle se pouze při změně velikosti okna.

  • SWP_HIDEWINDOW Skryje okno.

  • SWP_NOACTIVATE Neaktivuje okno. Pokud tento příznak není nastavený, aktivuje se okno a přesune se do horní části nejvyšší nebo nejaktivnější skupiny (v závislosti na nastavení parametru pWndInsertAfter ).

  • SWP_NOCOPYBITS Zahodí celý obsah klientské oblasti. Pokud tento příznak není zadaný, platný obsah klientské oblasti se uloží a zkopíruje zpět do klientské oblasti po nastavení velikosti nebo umístění okna.

  • SWP_NOMOVEZachová aktuální pozici (ignoruje x parametry).y

  • SWP_NOOWNERZORDER Nezmění pozici okna vlastníka v pořadí Z.

  • SWP_NOREDRAW Nepřekresluje změny. Pokud je tento příznak nastavený, nedojde k žádnému překreslení jakéhokoli druhu. To platí pro klientskou oblast, oblast mimo klient (včetně nadpisu a posuvníků) a libovolnou část nadřazeného okna, která byla v důsledku přesunutého okna odhalena. Při nastavení tohoto příznaku musí aplikace explicitně zneplatnit nebo překreslit všechny části okna a nadřazené okno, které musí být překresleny.

  • SWP_NOREPOSITION Stejné jako SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Zabrání tomu, aby okno přijímalo WM_WINDOWPOSCHANGING zprávu.

  • SWP_NOSIZEZachová aktuální velikost (ignoruje parametrycx).cy

  • SWP_NOZORDER Zachová aktuální řazení (ignoruje pWndInsertAfter).

  • SWP_SHOWWINDOW Zobrazí okno.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak, 0.

Poznámky

Okna jsou na obrazovce seřazena podle jejich pořadí Z; okno v horní části pořadí Z se zobrazí nad všemi ostatními okny v pořadí.

Všechny souřadnice podřízených oken jsou souřadnice klienta (vzhledem k levému hornímu rohu klientské oblasti nadřazeného okna).

Okno lze přesunout do horní části pořadí pWndInsertAfter Z nastavením parametru &wndTopMostSWP_NOZORDER a zajištěním, že příznak není nastavený, nebo nastavením pořadí vykreslování okna tak, aby byl nad všemi stávajícími horními okny. Když je nejvrchnější okno nahoře, jeho vlastněná okna jsou také vyrobena topmost. Vlastníci se nezměnili.

Horní okno už není nahoře, pokud je přemísťováno do dolní části&wndBottom () pořadí Z nebo za jakékoli nejvrchnější okno. Když je nejvrchnější okno, všichni jeho vlastníci a vlastní okna jsou také vyrobena nejvrchnější okna.

SWP_NOACTIVATE Pokud ani SWP_NOZORDER není zadána (to znamená, že aplikace požaduje, aby okno bylo aktivováno současně a umístěné v zadaném pořadí Z), použije se hodnota zadaná pWndInsertAfter pouze za následujících okolností:

  • &wndNoTopMost Ani &wndTopMost není zadán v parametrupWndInsertAfter.

  • Toto okno není aktivním oknem.

Aplikace nemůže aktivovat neaktivní okno, aniž by ho také přenesla na začátek pořadí Z. Aplikace můžou změnit pořadí Z aktivovaného okna bez omezení.

Nejvrchnější okno může vlastnit horní okno, ale ne naopak. Jakékoli okno (například dialogové okno) vlastněné hlavním oknem se vytvoří úplně nahoře, aby se zajistilo, že všechna vlastněná okna zůstanou nad svým vlastníkem.

Ve verzích Windows 3.1 a novějších je možné windows přesunout na začátek pořadí Z a uzamknout je tak, že nastavíte jejich WS_EX_TOPMOST styly. Takové horní okno udržuje nejvyšší pozici i v případě deaktivace. Když například vyberete příkaz WinHelp AlwaysOn Top, zobrazí se okno nápovědy úplně nahoře a po návratu do aplikace zůstane viditelné.

Chcete-li vytvořit horní okno, zavolejte SetWindowPos s pWndInsertAfter parametrem, který se rovná &wndTopMost, nebo nastavte WS_EX_TOPMOST styl při vytváření okna.

Pokud pořadí Z obsahuje všechna okna se WS_EX_TOPMOST stylem, přesune se okno s &wndTopMost hodnotou do horní části všech nejvrchnějších oken, ale pod všemi nejvrchnějšími okny. Když aplikace aktivuje neaktivní okno bez bitu WS_EX_TOPMOST , okno se přesune nad všechna nesvrchnější okna, ale pod všemi nejvyššími okny.

Pokud SetWindowPos se volá, pWndInsertAfter když je &wndBottom parametr a CWnd je nejvyšší okno, okno ztratí nejvyšší stav (WS_EX_TOPMOST je vymazáno) a systém umístí okno do dolní části pořadí Z.

Příklad

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

Voláním této členské funkce nastavíte oblast okna.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parametry

hRgn
Popisovač oblasti.

bRedraw
Pokud TRUEoperační systém překreslí okno po nastavení oblasti, jinak ne. Obvykle je nastaveno bRedraw , TRUE pokud je okno viditelné. Pokud je tato možnost nastavená TRUE, systém odešle WM_WINDOWPOSCHANGING zprávy WM_WINDOWPOSCHANGED do okna.

Vrácená hodnota

Pokud je funkce úspěšná, je návratová hodnota nenulová. Pokud funkce selže, návratová hodnota je nula.

Poznámky

Souřadnice oblasti okna okna jsou relativní vzhledem k levému hornímu rohu okna, nikoli k oblasti klienta okna.

Po úspěšném volání SetWindowRgnvlastní operační systém oblast určenou popisovačem hRgnoblasti . Operační systém nevytvírá kopii oblasti, proto neprovádí žádná další volání funkce s popisovačem této oblasti a nezavírejte tento popisovač oblasti.

CWnd::SetWindowText

Nastaví název okna na zadaný text.

void SetWindowText(LPCTSTR lpszString);

Parametry

lpszString
Odkazuje na CString objekt nebo řetězec ukončený hodnotou null, který se má použít jako nový název nebo text ovládacího prvku.

Poznámky

Pokud je okno ovládací prvek, nastaví se text v ovládacím prvku.

Tato funkce způsobí WM_SETTEXT odeslání zprávy do tohoto okna.

Příklad

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

Zobrazuje kurzor na obrazovce na aktuální pozici kurzoru.

void ShowCaret();

Poznámky

Po zobrazení začne stříška blikat automaticky.

Členová ShowCaret funkce zobrazuje stříšku pouze v případě, že má aktuální obrazec a nebyl skryt dvakrát nebo vícekrát po sobě. Pokud stříšku nepatří do tohoto okna, nezobrazí se stříška.

Skrytí stříšky je kumulativní. HideCaret Pokud byla členová funkce volána pětkrát po sobě, musí být volána pětkrát, ShowCaret aby se zobrazila stříška.

Stříškou je sdílený prostředek. Okno by mělo zobrazovat stříšku jenom v případě, že má vstupní fokus nebo je aktivní.

Příklad

Podívejte se na příklad pro CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Zobrazí nebo skryje všechna automaticky otevíraná okna vlastněná tímto oknem.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parametry

bShow
Určuje, jestli se mají automaticky otevíraná okna zobrazit nebo skrýt. Pokud je TRUEtento parametr, zobrazí se všechna skrytá automaticky otevíraná okna. Pokud je FALSEtento parametr, jsou všechna viditelná automaticky otevíraná okna skrytá.

Příklad

Podívejte se na příklad pro CWnd::SetWindowPos.

CWnd::ShowScrollBar

Zobrazí nebo skryje posuvník.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parametry

nBar
Určuje, jestli je posuvník ovládací prvek nebo část oblasti bez klienta okna. Pokud je součástí jiné oblasti než klient, označuje také, nBar zda je posuvník umístěn vodorovně, svisle nebo obojí. Musí to být jedna z těchto věcí:

  • SB_BOTH Určuje vodorovné a svislé posuvníky okna.

  • SB_HORZ Určuje, že okno je vodorovný posuvník.

  • SB_VERT Určuje, že okno je svislý posuvník.

bShow
Určuje, jestli se ve Windows zobrazuje nebo skryje posuvník. Pokud je TRUEtento parametr, zobrazí se posuvník. V opačném případě je posuvník skrytý.

Poznámky

Aplikace by neměla volat ShowScrollBar , aby při zpracování zprávy s oznámením na posuvníku skrývala posuvník.

CWnd::ShowWindow

Nastaví stav viditelnosti okna.

BOOL ShowWindow(int nCmdShow);

Parametry

nCmdShow
Určuje, jak CWnd se má zobrazit. Musí to být jedna z následujících hodnot:

  • SW_HIDE Skryje toto okno a předá aktivaci do jiného okna.

  • SW_MINIMIZE Minimalizuje okno a aktivuje okno nejvyšší úrovně v seznamu systému.

  • SW_RESTORE Aktivuje a zobrazí okno. Pokud je okno minimalizované nebo maximalizované, Windows ho obnoví na původní velikost a pozici.

  • SW_SHOW Aktivuje okno a zobrazí ho v aktuální velikosti a poloze.

  • SW_SHOWMAXIMIZED Aktivuje okno a zobrazí ho jako maximalizované okno.

  • SW_SHOWMINIMIZED Aktivuje okno a zobrazí ho jako ikonu.

  • SW_SHOWMINNOACTIVE Zobrazí okno jako ikonu. Okno, které je aktuálně aktivní, zůstane aktivní.

  • SW_SHOWNA Zobrazí okno v aktuálním stavu. Okno, které je aktuálně aktivní, zůstane aktivní.

  • SW_SHOWNOACTIVATE Zobrazí okno v nejnovější velikosti a pozici. Okno, které je aktuálně aktivní, zůstane aktivní.

  • SW_SHOWNORMAL Aktivuje a zobrazí okno. Pokud je okno minimalizované nebo maximalizované, Windows ho obnoví na původní velikost a pozici.

Vrácená hodnota

Nenulové, pokud bylo okno dříve viditelné; 0, pokud CWnd byl dříve skrytý.

Poznámky

ShowWindow musí být volána pouze jednou pro aplikaci pro hlavní okno s CWinApp::m_nCmdShow. Další volání, která ShowWindow musí použít jednu z výše uvedených hodnot místo těch, které CWinApp::m_nCmdShowurčí .

Příklad

Podívejte se na příklad pro CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Voláním této členské funkce "dynamicky podtřídy" ovládacího prvku vytvořeného ze šablony dialogového okna a jeho připojením k tomuto CWnd objektu.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parametry

nID
ID ovládacího prvku.

pParent
Nadřazený prvek ovládacího prvku (obvykle dialogové okno)

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Pokud je ovládací prvek dynamicky podtříděn, zprávy windows budou směrovány přes CWndmapu zpráv a volání obslužných rutin zpráv ve CWndtřídě první. Zprávy předané základní třídě budou předány výchozí obslužné rutině zprávy v ovládacím prvku.

Tato členská funkce připojí ovládací prvek Windows k objektu CWnd a nahradí jeho WndProcAfxWndProc funkce. Funkce ukládá starou verzi WndProc do umístění vráceného členkou GetSuperWndProcAddr funkce.

Příklad

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

Voláním této členské funkce "dynamicky podtřídy" okno a připojte ji k tomuto CWnd objektu.

BOOL SubclassWindow(HWND hWnd);

Parametry

hWnd
Popisovač okna.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Když je okno dynamicky podtříděno, zprávy oken budou směrovány přes CWndmapu zpráv a volání obslužných rutin zpráv ve CWndtřídě první. Zprávy předané základní třídě budou předány výchozí obslužné rutině zprávy v okně.

Tato členská funkce připojí ovládací prvek Windows k objektu CWnd a nahradí WndProcAfxWndProc jeho funkce. Funkce uloží ukazatel na starý WndProc objekt CWnd .

Poznámka

Okno již nesmí být připojeno k objektu MFC, pokud je volána tato funkce.

Příklad

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

Voláním této členské funkce odemknete okno, které bylo uzamčeno CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Poznámky

K uzamčení lze použít LockWindowUpdatepouze jedno okno. Další CWnd::LockWindowUpdate informace o zamykání oken naleznete nebo funkci LockWindowUpdate Win32.

CWnd::UnsubclassWindow

Voláním této členské funkce nastavíte WndProc zpět původní hodnotu a odpojíte okno identifikované HWND z objektu CWnd .

HWND UnsubclassWindow();

Vrácená hodnota

Popisovač okna bez podtřídy.

Příklad

Podívejte se na příklad pro CWnd::SubclassWindow.

CWnd::UpdateData

Voláním této členské funkce inicializujete data v dialogovém okně nebo chcete načíst a ověřit data dialogového okna.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parametry

bSaveAndValidate
Příznak označující, jestli se dialogové okno inicializuje (FALSE) nebo data se načítají (TRUE).

Vrácená hodnota

Nenulové, pokud je operace úspěšná; jinak 0. Pokud bSaveAndValidate ano TRUE, pak návratová hodnota nenulového znamená, že data jsou úspěšně ověřena.

Poznámky

Architektura automaticky volá UpdateData s nastavenou bSaveAndValidateFALSE na při modální dialogové okno je vytvořeno ve výchozí implementaci CDialog::OnInitDialog. Volání nastane před zobrazením dialogového okna. Výchozí implementace CDialog::OnOK volání této členské funkce s nastavenou bSaveAndValidate na TRUE načtení dat a v případě úspěchu dialogové okno zavře. (Pokud v dialogovém okně kliknete na tlačítko Storno, dialogové okno se zavře bez načtení dat.)

CWnd::UpdateDialogControls

Voláním této členské funkce aktualizujte stav tlačítek dialogového okna a dalších ovládacích prvků v dialogovém okně nebo okně, které používají mechanismus zpětného ON_UPDATE_COMMAND_UI volání.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parametry

pTarget
Odkazuje na okno hlavního rámce aplikace a slouží ke směrování aktualizačních zpráv.

bDisableIfNoHndler
Příznak označující, jestli má ovládací prvek, který nemá žádnou obslužnou rutinu aktualizace, by se měl automaticky zobrazit jako zakázaný.

Poznámky

Pokud podřízený ovládací prvek nemá obslužnou rutinu a bDisableIfNoHndler je TRUE, podřízený ovládací prvek bude zakázán.

Architektura volá tuto členskou funkci pro ovládací prvky v dialogových panelech nebo panelech nástrojů jako součást zpracování nečinnosti aplikace.

CWnd::UpdateLayeredWindow

Aktualizace umístění, velikosti, tvaru, obsahu a průsvitnosti vrstveného okna.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Parametry

pDCDst
Ukazatel na kontext zařízení pro obrazovku Používá se pro porovnávání barev palet při aktualizaci obsahu okna. Pokud pDCDst ano NULL, použije se výchozí paleta.

Pokud pDCSrc je NULL, pDCDst musí být NULL.

pptDst
Ukazatel na POINT strukturu určující novou pozici obrazovky ve vrstveném okně. Pokud se aktuální pozice nezmění, pptDst může to být NULL.

psize
Ukazatel na SIZE strukturu, která určuje novou velikost vrstveného okna. Pokud se velikost okna nezmění, psize může to být NULL.

Pokud pDCSrc je NULL, psize musí být NULL.

pDCSrc
Ukazatel na řadič domény pro povrch, který definuje vrstvené okno. Pokud se obrazec a vizuální kontext okna nezmění, pDCSrc může to být NULL.

pptSrc
Ukazatel na POINT strukturu, která určuje umístění vrstvy v kontextu zařízení.

Pokud pDCSrc je NULL, pptSrc měla by být NULL.

crKey
Ukazatel na COLORREF hodnotu, která určuje barevný klíč průhlednosti, který se má použít při vytváření vrstveného okna. Všechny pixely malované oknem v této barvě budou průhledné. Chcete-li vygenerovat COLORREFmakro RGB, použijte makro RGB.

pblend
Ukazatel na BLENDFUNCTION strukturu, která určuje hodnotu průhlednosti, která se má použít při vytváření vrstveného okna.

dwFlags
Určuje akci, která se má provést. Tento parametr může být jedna nebo více následujících hodnot. Seznam možných hodnot najdete v tématu UpdateLayeredWindow.

Vrácená hodnota

Nenulové, pokud je funkce úspěšná; jinak 0.

Poznámky

Tato členová funkce emuluje funkce funkce UpdateLayeredWindow, jak je popsáno v sadě Windows SDK.

CWnd::UpdateWindow

Aktualizace klientské oblasti odesláním WM_PAINT zprávy, pokud oblast aktualizace není prázdná.

void UpdateWindow();

Poznámky

Členová UpdateWindow funkce odešle WM_PAINT zprávu přímo a vynechá frontu aplikace. Pokud je oblast aktualizace prázdná, WM_PAINT neodesílají se.

Příklad

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

Ověří oblast klienta v daném obdélníku odebráním obdélníku z oblasti aktualizace okna.

void ValidateRect(LPCRECT lpRect);

Parametry

lpRect
Odkazuje na CRect objekt nebo RECT strukturu , která obsahuje souřadnice klienta obdélníku, který se má odebrat z oblasti aktualizace. Pokud lpRect ano NULL, ověří se celé okno.

Poznámky

Členská BeginPaint funkce automaticky ověří celou oblast klienta. ValidateRectValidateRgn Pokud je potřeba WM_PAINT před dalším vygenerování ověřit část oblasti aktualizace, neměla by se volat ani členová funkce.

Systém Windows bude dál generovat WM_PAINT zprávy, dokud se neověří aktuální oblast aktualizace.

CWnd::ValidateRgn

Ověří oblast klienta v dané oblasti odebráním oblasti z aktuální oblasti aktualizace okna.

void ValidateRgn(CRgn* pRgn);

Parametry

pRgn
Ukazatel na CRgn objekt, který identifikuje oblast, která definuje oblast, která se má odebrat z oblasti aktualizace. Pokud je NULLtento parametr, odebere se celá oblast klienta.

Poznámky

Daná oblast musí být vytvořena dříve funkcí oblasti. Předpokládá se, že souřadnice oblasti jsou souřadnicemi klienta.

Členská BeginPaint funkce automaticky ověří celou oblast klienta. ValidateRect Pokud se před vygenerování další WM_PAINT zprávy musí ověřit část oblasti aktualizace, ValidateRgn neměla by se volat ani členová funkce.

CWnd::WindowFromPoint

Načte okno, které obsahuje zadaný bod; point musí určit souřadnice obrazovky bodu na obrazovce.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parametry

point
Určuje CPoint objekt nebo POINT datovou strukturu, která definuje bod, který se má zkontrolovat.

Vrácená hodnota

Ukazatel na objekt okna, ve kterém bod leží. NULL Pokud v daném bodě neexistuje žádné okno. Vrácený ukazatel může být dočasný a neměl by být uložen pro pozdější použití.

Poznámky

WindowFromPoint nenačte skryté nebo zakázané okno, i když je bod v okně. Aplikace by měla používat ChildWindowFromPoint členovou funkci pro nevýkonné vyhledávání.

CWnd::WindowProc

Poskytuje proceduru systému Windows (WindowProc) pro CWnd objekt.

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

Parametry

message
Určuje zprávu systému Windows, která se má zpracovat.

wParam
Poskytuje další informace použité při zpracování zprávy. Hodnota parametru závisí na zprávě.

lParam
Poskytuje další informace použité při zpracování zprávy. Hodnota parametru závisí na zprávě.

Vrácená hodnota

Vrácená hodnota závisí na zprávě.

Poznámky

Odesílá zprávy prostřednictvím mapy zpráv okna.

CWnd::WinHelp

Volá se k inicializaci aplikace WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parametry

dwData
Určuje další data. Použitá hodnota závisí na hodnotě parametru nCmd .

nCmd
Určuje typ požadované nápovědy. Seznam možných hodnot a jejich vliv na dwData parametr najdete WinHelp ve funkci Windows v sadě Windows SDK.

Poznámky

Další informace naleznete v tématu CWinApp::WinHelp.

CWnd::RegisterTouchWindow

Zaregistruje nebo zruší registraci podpory dotykového ovládání Windows.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parametry

bRegister
TRUE označuje registraci podpory dotykového ovládání systému Windows; FALSE Jinak.

ulFlags
Sada bitových příznaků, které určují volitelné úpravy. Toto pole může obsahovat 0 nebo jednu z následujících hodnot: TWF_FINETOUCH, TWF_WANTPALM.

Vrácená hodnota

TRUE v případě úspěchu; jinak FALSE.

Poznámky

CWnd::ResizeDynamicLayout

Volá se podle architektury, když se velikost okna změní tak, aby se upravilo rozložení podřízených oken, pokud je pro okno povolené dynamické rozložení.

virtual void ResizeDynamicLayout();

Poznámky

Viz také

CCmdTarget Třída
Graf hierarchie
CFrameWnd Třída
CView Třída