CWnd Klasa

Udostępnia podstawowe funkcje wszystkich klas okien w bibliotece klas programu Microsoft Foundation.

Składnia

class CWnd : public CCmdTarget

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CWnd::CWnd CWnd Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CWnd::accDoDefaultAction Wywoływana przez strukturę w celu wykonania domyślnej akcji obiektu.
CWnd::accHitTest Wywoływana przez platformę w celu pobrania elementu podrzędnego lub obiektu podrzędnego w danym punkcie na ekranie.
CWnd::accLocation Wywoływana przez platformę w celu pobrania bieżącej lokalizacji ekranu określonego obiektu.
CWnd::accNavigate Wywoływana przez platformę, aby przejść do innego elementu interfejsu użytkownika w kontenerze i, jeśli to możliwe, pobierz obiekt.
CWnd::accSelect Wywoływana przez strukturę w celu zmodyfikowania zaznaczenia lub przeniesienia fokusu klawiatury określonego obiektu.
CWnd::AnimateWindow Animuje skojarzony obiekt okna.
CWnd::ArrangeIconicWindows Rozmieszcza wszystkie zminimalizowane (kultowe) okna podrzędne.
CWnd::Attach Dołącza uchwyt systemu Windows do CWnd obiektu.
CWnd::BeginModalState Wywołaj tę funkcję składową, aby utworzyć modalne okno ramowe.
CWnd::BeginPaint CWnd Przygotowuje się do malowania.
CWnd::BindDefaultProperty Tworzy powiązanie domyślnej prostej właściwości powiązanej obiektu wywołującego, oznaczonej w bibliotece typów, do kursora skojarzonego z kontrolką źródła danych.
CWnd::BindProperty Tworzy powiązanie właściwości kursora w kontrolce powiązanej z danymi z kontrolką źródła danych i rejestruje relację z menedżerem powiązań MFC.
CWnd::BringWindowToTop Prowadzi CWnd do góry stosu nakładających się okien.
CWnd::CalcWindowRect Wywoływana w celu obliczenia prostokąta okna z prostokąta klienta.
CWnd::CancelToolTips Wyłącza kontrolkę etykietki narzędzia.
CWnd::CenterWindow Wyśrodkuje okno względem jego elementu nadrzędnego.
CWnd::ChangeClipboardChain Usuwa CWnd z łańcucha osób przeglądających Schowek.
CWnd::CheckDlgButton Umieszcza znacznik wyboru obok lub usuwa znacznik wyboru z kontrolki przycisku.
CWnd::CheckRadioButton Sprawdza określony przycisk radiowy i usuwa znacznik wyboru ze wszystkich innych przycisków radiowych w określonej grupie przycisków.
CWnd::ChildWindowFromPoint Określa, który, jeśli istnieje, okna podrzędne zawiera określony punkt.
CWnd::ClientToScreen Konwertuje współrzędne klienta danego punktu lub prostokąta na ekranie na współrzędne ekranu.
CWnd::CloseWindow Minimalizuje okno.
CWnd::ContinueModal Kontynuuje stan modalny okna.
CWnd::Create Tworzy i inicjuje okno podrzędne skojarzone z obiektem CWnd .
CWnd::CreateAccessibleProxy Tworzy aktywny serwer proxy ułatwień dostępu dla określonego obiektu.
CWnd::CreateCaret Tworzy nowy kształt karetki systemowej i uzyskuje własność karetki.
CWnd::CreateControl Utwórz kontrolkę ActiveX, która będzie reprezentowana w programie MFC przez CWnd obiekt.
CWnd::CreateEx Tworzy nakładające się okna, wyskakujące lub podrzędne okno i dołącza je do CWnd obiektu.
CWnd::CreateGrayCaret Tworzy szary blok dla karetki systemu i otrzymuje własność karetki.
CWnd::CreateSolidCaret Tworzy solidny blok dla karetki systemu i dostaje własność karetki.
CWnd::DeleteTempMap Wywoływana CWinApp automatycznie przez program obsługi bezczynności i usuwa wszystkie obiekty tymczasowe CWnd utworzone przez FromHandleprogram .
CWnd::DestroyWindow Niszczy dołączone okno systemu Windows.
CWnd::Detach Odłącza uchwyt systemu Windows od CWnd obiektu i zwraca uchwyt.
CWnd::DlgDirList Wypełnia pole listy list z listą plików lub katalogów.
CWnd::DlgDirListComboBox Wypełnia pole listy pola kombi listą plików lub katalogów.
CWnd::DlgDirSelect Pobiera bieżące zaznaczenie z pola listy.
CWnd::DlgDirSelectComboBox Pobiera bieżące zaznaczenie z pola listy pola kombi.
CWnd::DragAcceptFiles Wskazuje, że okno będzie akceptował przeciągane pliki.
CWnd::DragDetect Przechwytuje mysz i śledzi jego ruch, aż użytkownik zwolni lewy przycisk, naciśnie klawisz ESC lub przesuwa mysz poza prostokąt przeciągania wokół określonego punktu.
CWnd::DrawAnimatedRects Rysuje prostokąt z ramką z drutu i animuje go, aby wskazać otwarcie ikony lub zminimalizowanie lub maksymalizację okna.
CWnd::DrawCaption Rysuje podpis.
CWnd::DrawMenuBar Ponownie rysuje pasek menu.
CWnd::EnableActiveAccessibility Włącza funkcje zdefiniowane przez Active Accessibility użytkownika.
CWnd::EnableDynamicLayout Umożliwia dynamiczne dostosowywanie położenia i rozmiaru okien podrzędnych, gdy użytkownik zmienia rozmiar okna.
CWnd::EnableD2DSupport Włącza lub wyłącza obsługę okien D2D . Wywołaj tę metodę przed zainicjowanym głównym oknem.
CWnd::EnableScrollBar Włącza lub wyłącza jedną lub obie strzałki paska przewijania.
CWnd::EnableScrollBarCtrl Włącza lub wyłącza równorzędną kontrolkę paska przewijania.
CWnd::EnableToolTips Włącza kontrolkę etykietki narzędzia.
CWnd::EnableTrackingToolTips Włącza kontrolkę etykietki narzędzia w trybie śledzenia.
CWnd::EnableWindow Włącza lub wyłącza wprowadzanie myszy i klawiatury.
CWnd::EndModalLoop Kończy stan modalny okna.
CWnd::EndModalState Wywołaj tę funkcję składową, aby zmienić okno ramki z modalnego na bez moderowania.
CWnd::EndPaint Oznacza koniec malowania.
CWnd::ExecuteDlgInit Inicjuje zasób okna dialogowego.
CWnd::FilterToolTipMessage Pobiera tytuł lub tekst skojarzony z kontrolką w oknie dialogowym.
CWnd::FindWindow Zwraca uchwyt okna, który jest identyfikowany przez jego nazwę okna i klasę okien.
CWnd::FindWindowEx Zwraca uchwyt okna, który jest identyfikowany przez jego nazwę okna i klasę okien.
CWnd::FlashWindow Miga okno raz.
CWnd::FlashWindowEx Miga okno z dodatkową funkcjonalnością.
CWnd::FromHandle Zwraca wskaźnik do CWnd obiektu, gdy dany uchwyt do okna. CWnd Jeśli obiekt nie jest dołączony do uchwytu, zostanie utworzony i dołączony obiekt tymczasowyCWnd.
CWnd::FromHandlePermanent Zwraca wskaźnik do CWnd obiektu, gdy dany uchwyt do okna.
CWnd::get_accChild Wywoływana przez strukturę w celu pobrania adresu interfejsu IDispatch dla określonego elementu podrzędnego.
CWnd::get_accChildCount Wywoływana przez strukturę w celu pobrania liczby elementów podrzędnych należących do tego obiektu.
CWnd::get_accDefaultAction Wywoływana przez platformę w celu pobrania ciągu opisującego domyślną akcję obiektu.
CWnd::get_accDescription Wywoływana przez platformę w celu pobrania ciągu opisującego wygląd wizualizacji określonego obiektu.
CWnd::get_accFocus Wywoływana przez strukturę w celu pobrania obiektu, który ma fokus klawiatury.
CWnd::get_accHelp Wywoływana przez platformę w celu pobrania ciągu właściwości Pomocy obiektu.
CWnd::get_accHelpTopic Wywoływana przez platformę w celu pobrania pełnej ścieżki WinHelp pliku skojarzonego z określonym obiektem i identyfikatora odpowiedniego tematu w tym pliku.
CWnd::get_accKeyboardShortcut Wywoływana przez strukturę w celu pobrania klawisza skrótu określonego obiektu lub klucza dostępu.
CWnd::get_accName Wywoływana przez strukturę w celu pobrania nazwy określonego obiektu.
CWnd::get_accParent Wywoływana przez strukturę w celu pobrania IDispatch interfejsu obiektu nadrzędnego obiektu.
CWnd::get_accRole Wywoływana przez platformę w celu pobrania informacji opisujących rolę określonego obiektu.
CWnd::get_accSelection Wywoływana przez strukturę w celu pobrania wybranych elementów podrzędnych tego obiektu.
CWnd::get_accState Wywoływana przez strukturę w celu pobrania bieżącego stanu określonego obiektu.
CWnd::get_accValue Wywoływana przez strukturę w celu pobrania wartości określonego obiektu.
CWnd::GetActiveWindow Pobiera aktywne okno.
CWnd::GetAncestor Pobiera obiekt okna przodka określonego okna.
CWnd::GetCapture Pobiera element CWnd z przechwyceniem myszy.
CWnd::GetCaretPos Pobiera współrzędne klienta bieżącej pozycji karetki.
CWnd::GetCheckedRadioButton Zwraca identyfikator aktualnie zaznaczonego przycisku radiowego w grupie przycisków.
CWnd::GetClientRect Pobiera wymiary CWnd obszaru klienta.
CWnd::GetClipboardOwner Pobiera wskaźnik do bieżącego właściciela Schowka.
CWnd::GetClipboardViewer Pobiera wskaźnik do pierwszego okna w łańcuchu osób przeglądających Schowek.
CWnd::GetControlUnknown Pobiera wskaźnik do nieznanej kontrolki ActiveX.
CWnd::GetDC Pobiera kontekst wyświetlania dla obszaru klienta.
CWnd::GetDCEx Pobiera kontekst wyświetlania dla obszaru klienta i umożliwia wycinek podczas rysowania.
CWnd::GetDCRenderTarget Pobiera docelowy element docelowy renderowania kontekstu urządzenia (DC) dla CWnd okna.
CWnd::GetDescendantWindow Wyszukuje wszystkie okna potomne i zwraca okno o określonym identyfikatorze.
CWnd::GetDesktopWindow Pobiera okno pulpitu systemu Windows.
CWnd::GetDlgCtrlID CWnd Jeśli element jest oknem podrzędnym, wywołanie tej funkcji zwraca wartość identyfikatora.
CWnd::GetDlgItem Pobiera kontrolkę z określonym identyfikatorem z określonego okna dialogowego.
CWnd::GetDlgItemInt Tłumaczy tekst kontrolki w danym oknie dialogowym na wartość całkowitą.
CWnd::GetDlgItemText Pobiera podpis lub tekst skojarzony z kontrolką.
CWnd::GetDSCCursor Pobiera wskaźnik do bazowego kursora zdefiniowanego przez właściwości DataSource, UserName, Password i SQL kontrolki źródła danych.
CWnd::GetDynamicLayout Pobiera wskaźnik do obiektu menedżera układu dynamicznego.
CWnd::GetExStyle Zwraca styl rozszerzony okna.
CWnd::GetFocus CWnd Pobiera aktualnie fokus wejściowy.
CWnd::GetFont Pobiera bieżącą czcionkę.
CWnd::GetForegroundWindow Zwraca wskaźnik do okna pierwszego planu (okno najwyższego poziomu, z którym użytkownik aktualnie pracuje).
CWnd::GetIcon Pobiera uchwyt do ikony.
CWnd::GetLastActivePopup Określa, które okno podręczne należące do użytkownika CWnd było ostatnio aktywne.
CWnd::GetLayeredWindowAttributes Pobiera nieprzezroczystość i klucz koloru przezroczystości okna warstwowego.
CWnd::GetMenu Pobiera wskaźnik do określonego menu.
CWnd::GetNextDlgGroupItem Wyszukuje następną (lub poprzednią) kontrolkę w grupie kontrolek.
CWnd::GetNextDlgTabItem Pobiera pierwszą kontrolkę ze WS_TABSTOP stylem, który następuje (lub poprzedza) określoną kontrolkę.
CWnd::GetNextWindow Zwraca następne (lub poprzednie) okno na liście menedżera okien.
CWnd::GetOleControlSite Pobiera witrynę niestandardową dla określonej kontrolki ActiveX.
CWnd::GetOpenClipboardWindow Pobiera wskaźnik do okna, w którym jest obecnie otwarty Schowek.
CWnd::GetOwner Pobiera wskaźnik do właściciela obiektu CWnd.
CWnd::GetParent Pobiera okno nadrzędne CWnd (jeśli istnieje).
CWnd::GetParentFrame CWnd Pobiera nadrzędne okno ramki obiektu.
CWnd::GetParentOwner Zwraca wskaźnik do okna nadrzędnego okna podrzędnego.
CWnd::GetProperty Pobiera właściwość kontrolki ActiveX.
CWnd::GetRenderTarget Pobiera element docelowy renderowania skojarzony z tym oknem.
CWnd::GetSafeHwnd Zwraca wartość m_hWnd, lub wartość NULL, jeśli this wskaźnik ma wartość NULL.
CWnd::GetSafeOwner Pobiera bezpiecznego właściciela dla danego okna.
CWnd::GetScrollBarCtrl Zwraca kontrolkę paska przewijania elementu równorzędnego.
CWnd::GetScrollBarInfo Pobiera informacje o określonym pasku przewijania.
CWnd::GetScrollInfo Pobiera informacje, które SCROLLINFO struktura utrzymuje na pasku przewijania.
CWnd::GetScrollLimit Pobiera limit paska przewijania.
CWnd::GetScrollPos Pobiera bieżącą pozycję pola przewijania.
CWnd::GetScrollRange Kopiuje bieżące minimalne i maksymalne pozycje paska przewijania dla danego paska przewijania.
CWnd::GetStyle Zwraca bieżący styl okna.
CWnd::GetSystemMenu Umożliwia aplikacji dostęp do menu Kontrola na potrzeby kopiowania i modyfikowania.
CWnd::GetTitleBarInfo Pobiera informacje o określonym pasku tytułu.
CWnd::GetTopLevelFrame Pobiera okno ramki najwyższego poziomu.
CWnd::GetTopLevelOwner Pobiera okno najwyższego poziomu.
CWnd::GetTopLevelParent Pobiera element nadrzędny najwyższego poziomu okna.
CWnd::GetTopWindow Zwraca pierwsze okno podrzędne należące do elementu CWnd.
CWnd::GetUpdateRect Pobiera współrzędne najmniejszego prostokąta, który całkowicie otacza CWnd region aktualizacji.
CWnd::GetUpdateRgn CWnd Pobiera region aktualizacji.
CWnd::GetWindow Zwraca okno z określoną relacją z tym oknem.
CWnd::GetWindowContextHelpId Pobiera identyfikator kontekstu pomocy.
CWnd::GetWindowDC Pobiera kontekst wyświetlania dla całego okna, w tym pasek podpis, menu i paski przewijania.
CWnd::GetWindowedChildCount Zwraca liczbę skojarzonych okien podrzędnych.
CWnd::GetWindowInfo Zwraca informacje o oknie.
CWnd::GetWindowlessChildCount Zwraca liczbę skojarzonych okien podrzędnych bez okien podrzędnych.
CWnd::GetWindowPlacement Pobiera stan wyświetlania i normalne (przywrócone), zminimalizowane i zmaksymalizowane pozycje okna.
CWnd::GetWindowRect Pobiera współrzędne ekranu .CWnd
CWnd::GetWindowRgn Pobiera kopię obszaru okna okna.
CWnd::GetWindowText Zwraca tekst okna lub tytuł podpis (jeśli ma go).
CWnd::GetWindowTextLength Zwraca długość tekstu okna lub tytuł podpis.
CWnd::HideCaret Ukrywa daszek, usuwając go z ekranu wyświetlania.
CWnd::HiliteMenuItem Wyróżnia lub usuwa wyróżnianie z elementu menu najwyższego poziomu (pasek menu).
CWnd::HtmlHelp Wywołana w celu zainicjowania aplikacji HTMLHelp.
CWnd::Invalidate Unieważnia cały obszar klienta.
CWnd::InvalidateRect Unieważnia obszar klienta w danym prostokątze, dodając ten prostokąt do bieżącego regionu aktualizacji.
CWnd::InvalidateRgn Unieważnia obszar klienta w danym regionie przez dodanie tego regionu do bieżącego regionu aktualizacji.
CWnd::InvokeHelper Wywołuje metodę lub właściwość kontrolki ActiveX.
CWnd::IsChild Wskazuje, czy CWnd jest to okno podrzędne, czy inny bezpośredni element potomny określonego okna.
CWnd::IsD2DSupportEnabled Określa, czy obsługa D2D jest włączona.
CWnd::IsDialogMessage Określa, czy dany komunikat jest przeznaczony dla okna dialogowego bez moderowania, a jeśli tak, przetwarza go.
CWnd::IsDlgButtonChecked Określa, czy kontrolka przycisku jest zaznaczona.
CWnd::IsDynamicLayoutEnabled Określa, czy układ dynamiczny jest włączony w tym oknie. Jeśli układ dynamiczny jest włączony, pozycja i rozmiar okien podrzędnych mogą ulec zmianie, gdy użytkownik zmieni rozmiar okna nadrzędnego.
CWnd::IsIconic Określa, czy CWnd jest zminimalizowana (kultowa).
CWnd::IsTouchWindow Określa, czy CWnd ma obsługę dotykową.
CWnd::IsWindowEnabled Określa, czy okno jest włączone dla wprowadzania myszy i klawiatury.
CWnd::IsWindowVisible Określa, czy okno jest widoczne.
CWnd::IsZoomed Określa, czy CWnd jest zmaksymalizowana.
CWnd::KillTimer Zabija czasomierz systemowy.
CWnd::LockWindowUpdate Wyłącza lub przywraca rysunek w danym oknie.
CWnd::MapWindowPoints Konwertuje (mapy) zestaw punktów z przestrzeni współrzędnej obiektu na przestrzeń współrzędną CWnd innego okna.
CWnd::MessageBox Tworzy i wyświetla okno zawierające komunikat dostarczony przez aplikację i podpis.
CWnd::ModifyStyle Modyfikuje bieżący styl okna.
CWnd::ModifyStyleEx Modyfikuje rozszerzony styl okna.
CWnd::MoveWindow Zmienia położenie i wymiary elementu CWnd.
CWnd::NotifyWinEvent Sygnalizuje, że wystąpiło wstępnie zdefiniowane zdarzenie.
CWnd::OnAmbientProperty Zaimplementuj wartości właściwości otoczenia.
CWnd::OnDrawIconicThumbnailOrLivePreview Wywoływana przez platformę, gdy musi uzyskać mapę bitową, która ma być wyświetlana na miniaturze karty systemu Windows 7 lub na kliencie, aby wyświetlić podgląd aplikacji.
CWnd::OnHelp Obsługuje pomoc F1 w aplikacji (przy użyciu bieżącego kontekstu).
CWnd::OnHelpFinder ID_HELP_FINDER Obsługuje polecenia iID_DEFAULT_HELP.
CWnd::OnHelpIndex ID_HELP_INDEX Obsługuje polecenie i udostępnia domyślny temat Pomocy.
CWnd::OnHelpUsing ID_HELP_USING Obsługuje polecenie .
CWnd::OnToolHitTest Określa, czy punkt znajduje się w prostokątze ograniczenia określonego narzędzia i pobiera informacje o narzędziu.
CWnd::OpenClipboard Otwiera Schowek. Inne aplikacje nie będą mogły modyfikować Schowka do momentu wywołania funkcji systemu Windows CloseClipboard .
CWnd::PaintWindowlessControls Rysuje kontrolki bez okien w kontenerze sterowania.
CWnd::PostMessage Umieszcza komunikat w kolejce aplikacji, a następnie zwraca komunikat bez oczekiwania na przetworzenie komunikatu przez okno.
CWnd::PreCreateWindow Wywołana przed utworzeniem okna systemu Windows dołączonego do tego CWnd obiektu.
CWnd::PreSubclassWindow Umożliwia wykonanie innych niezbędnych podklas przed SubclassWindow wywołaniem.
CWnd::PreTranslateMessage CWinApp Służy do filtrowania komunikatów okien przed ich wysłaniem TranslateMessage do funkcji systemu i DispatchMessage Windows.
CWnd::Print Rysuje bieżące okno w określonym kontekście urządzenia.
CWnd::PrintClient Rysuje dowolne okno w określonym kontekście urządzenia (zazwyczaj kontekst urządzenia drukarki).
CWnd::PrintWindow Kopiuje okno wizualizacji do określonego kontekstu urządzenia, zazwyczaj kontrolera domeny drukarki.
CWnd::RedrawWindow Aktualizacje określony prostokąt lub region w obszarze klienta.
CWnd::RegisterTouchWindow Rejestrowanie/wyrejestrowywanie obsługi dotyku systemu Windows.
CWnd::ReleaseDC Zwalnia konteksty urządzeń klienckich i okien, zwalniając je do użytku przez inne aplikacje.
CWnd::RepositionBars Zmienia położenie pasków sterowania w obszarze klienta.
CWnd::RunModalLoop Pobiera, tłumaczy lub wysyła komunikaty dla okna, które jest w stanie modalnym.
CWnd::ScreenToClient Konwertuje współrzędne ekranu danego punktu lub prostokąta na ekranie na współrzędne klienta.
CWnd::ScrollWindow Przewija zawartość obszaru klienta.
CWnd::ScrollWindowEx Przewija zawartość obszaru klienta. Podobnie jak w przypadku ScrollWindowfunkcji dodatkowych.
CWnd::SendChildNotifyLastMsg Dostarcza komunikat powiadomienia do okna podrzędnego z okna nadrzędnego, dzięki czemu okno podrzędne może obsłużyć zadanie.
CWnd::SendDlgItemMessage Wysyła komunikat do określonej kontrolki.
CWnd::SendMessage Wysyła komunikat do CWnd obiektu i nie zwraca się, dopóki nie przetworzy komunikatu.
CWnd::SendMessageToDescendants Wysyła wiadomość do wszystkich okien potomnych okna okna.
CWnd::SendNotifyMessage Wysyła określony komunikat do okna i zwraca go tak szybko, jak to możliwe, w zależności od tego, czy wątek wywołujący utworzył okno.
CWnd::SetActiveWindow Aktywuje okno.
CWnd::SetCapture Powoduje wysłanie wszystkich kolejnych danych wejściowych myszy do elementu CWnd.
CWnd::SetCaretPos Przenosi daszek do określonej pozycji.
CWnd::SetClipboardViewer Dodaje CWnd do łańcucha okien, które są powiadamiane za każdym razem, gdy zawartość Schowka zostanie zmieniona.
CWnd::SetDlgCtrlID Ustawia identyfikator okna lub kontrolki dla okna (które może być dowolnym oknem podrzędnym, a nie tylko kontrolką w oknie dialogowym).
CWnd::SetDlgItemInt Ustawia tekst kontrolki na ciąg reprezentujący wartość całkowitą.
CWnd::SetDlgItemText Ustawia podpis lub tekst kontrolki w określonym oknie dialogowym.
CWnd::SetFocus Twierdzi, że fokus danych wejściowych.
CWnd::SetFont Ustawia bieżącą czcionkę.
CWnd::SetForegroundWindow Umieszcza wątek, który utworzył okno na pierwszym planie i aktywuje okno.
CWnd::SetIcon Ustawia uchwyt na określoną ikonę.
CWnd::SetLayeredWindowAttributes Ustawia nieprzezroczystość i klucz koloru przezroczystości okna warstwowego.
CWnd::SetMenu Ustawia menu na określone menu.
CWnd::SetOwner Zmienia właściciela obiektu CWnd.
CWnd::SetParent Zmienia okno nadrzędne.
CWnd::SetProperty Ustawia właściwość kontrolki ActiveX.
CWnd::SetRedraw Umożliwia ponowne rysowanie zmian CWnd lub uniemożliwia ponowne rysowanie zmian.
CWnd::SetScrollInfo Ustawia informacje o pasku przewijania.
CWnd::SetScrollPos Ustawia bieżące położenie pola przewijania, a w razie określenia ponownie rysuje pasek przewijania, aby odzwierciedlić nową pozycję.
CWnd::SetScrollRange Ustawia wartości minimalnej i maksymalnej pozycji dla danego paska przewijania.
CWnd::SetTimer Instaluje czasomierz systemowy, który wysyła WM_TIMER komunikat po wyzwoleniu.
CWnd::SetWindowContextHelpId Ustawia identyfikator kontekstu pomocy.
CWnd::SetWindowPlacement Ustawia stan wyświetlania i normalne (przywrócone), zminimalizowane i zmaksymalizowane pozycje dla okna.
CWnd::SetWindowPos Zmienia rozmiar, położenie i kolejność okien podrzędnych, wyskakujących i najwyższego poziomu.
CWnd::SetWindowRgn Ustawia region okna.
CWnd::SetWindowText Ustawia tekst okna lub tytuł podpis (jeśli ma go) na określony tekst.
CWnd::ShowCaret Pokazuje karetki na wyświetlaczu na bieżącej pozycji karetki. Po pokazaniu karetki zaczynają migać automatycznie.
CWnd::ShowOwnedPopups Wyświetla lub ukrywa wszystkie wyskakujące okna należące do okna.
CWnd::ShowScrollBar Wyświetla lub ukrywa pasek przewijania.
CWnd::ShowWindow Wyświetla lub ukrywa okno.
CWnd::SubclassDlgItem Dołącza kontrolkę CWnd systemu Windows do obiektu i umożliwia kierowanie komunikatów przez CWndmapę komunikatów.
CWnd::SubclassWindow Dołącza okno do CWnd obiektu i powoduje kierowanie komunikatów przez CWndmapę komunikatów.
CWnd::UnlockWindowUpdate Odblokowuje okno, które zostało zablokowane za pomocą CWnd::LockWindowUpdatepolecenia .
CWnd::UnsubclassWindow Odłącza okno od CWnd obiektu
CWnd::UpdateData Inicjuje lub pobiera dane z okna dialogowego.
CWnd::UpdateDialogControls Wywołaj metodę , aby zaktualizować stan przycisków okna dialogowego i innych kontrolek.
CWnd::UpdateLayeredWindow Aktualizacje położenie, rozmiar, kształt, zawartość i przezroczystość okna warstwowego.
CWnd::UpdateWindow Aktualizacje obszaru klienta.
CWnd::ValidateRect Weryfikuje obszar klienta w danym prostokątze, usuwając prostokąt z bieżącego regionu aktualizacji.
CWnd::ValidateRgn Weryfikuje obszar klienta w danym regionie, usuwając region z bieżącego regionu aktualizacji.
CWnd::WindowFromPoint Identyfikuje okno zawierające dany punkt.
CWnd::WinHelp Wywołana w celu zainicjowania aplikacji WinHelp.

Metody chronione

Nazwa/nazwisko opis
CWnd::Default Wywołuje domyślną procedurę okna, która zapewnia domyślne przetwarzanie wszystkich komunikatów okna, których aplikacja nie przetwarza.
CWnd::DefWindowProc Wywołuje domyślną procedurę okna, która zapewnia domyślne przetwarzanie wszystkich komunikatów okna, których aplikacja nie przetwarza.
CWnd::DoDataExchange W przypadku wymiany i walidacji danych okna dialogowego. Wywoływane przez UpdateData.
CWnd::GetCurrentMessage Zwraca wskaźnik do komunikatu, który jest obecnie przetwarzany. Powinna być wywoływana tylko wtedy, gdy w OnMessage funkcji składowej programu obsługi komunikatów.
CWnd::InitDynamicLayout Wywoływana przez platformę w celu zainicjowania układu dynamicznego okna.
CWnd::LoadDynamicLayoutResource Ładuje dynamiczne informacje o układzie z pliku zasobu.
CWnd::OnActivate Wywoływana, gdy CWnd jest aktywowana lub dezaktywowana.
CWnd::OnActivateApp Wywoływana, gdy aplikacja ma zostać aktywowana lub dezaktywowana.
CWnd::OnAppCommand Wywoływana, gdy użytkownik generuje zdarzenie polecenia aplikacji.
CWnd::OnAskCbFormatName Wywoływana przez aplikację przeglądarki Schowka, gdy właściciel Schowka wyświetli zawartość Schowka.
CWnd::OnCancelMode Wywoływane w celu umożliwienia CWnd anulowania jakichkolwiek trybów wewnętrznych, takich jak przechwytywanie myszy.
CWnd::OnCaptureChanged Wysyła komunikat do okna, które traci przechwytywanie myszy.
CWnd::OnChangeCbChain Powiadamia o usunięciu określonego okna z łańcucha.
CWnd::OnChangeUIState Wywoływana, gdy należy zmienić stan interfejsu użytkownika.
CWnd::OnChar Wywoływana, gdy naciśnięcie klawisza przekłada się na znak niesystemowy.
CWnd::OnCharToItem Wywoływane przez podrzędne pole listy ze LBS_WANTKEYBOARDINPUT stylem WM_CHAR w odpowiedzi na komunikat.
CWnd::OnChildActivate Wywoływane dla wielu okien podrzędnych CWnd interfejsu dokumentu (MDI) za każdym razem, gdy rozmiar lub pozycja zmian lub CWnd jest aktywowany.
CWnd::OnChildNotify Wywoływana przez okno nadrzędne w celu nadania kontrolce powiadamiania szansę na udzielenie odpowiedzi na powiadomienie sterujące.
CWnd::OnClipboardUpdate Wywoływana, gdy zawartość schowka uległa zmianie.
CWnd::OnClose Wywoływana jako sygnał, który CWnd należy zamknąć.
CWnd::OnColorizationColorChanged Wywoływane, gdy zasady renderowania dla obszaru innego niż klient uległy zmianie.
CWnd::OnCommand Wywoływana, gdy użytkownik wybierze polecenie.
CWnd::OnCompacting Wywoływana, gdy system Windows wykrywa, że pamięć systemowa jest niska.
CWnd::OnCompareItem Wywoływana w celu określenia względnej pozycji nowego elementu w posortowanym polu kombi lub polu listy właściciela posortowanego właściciela.
CWnd::OnCompositionChanged Wywoływane dla wszystkich okien najwyższego poziomu, gdy kompozycja Menedżera okien pulpitu (DWM) jest włączona lub wyłączona.
CWnd::OnContextMenu Wywoływana, gdy użytkownik kliknie prawy przycisk myszy w oknie.
CWnd::OnCopyData Kopiuje dane z jednej aplikacji do innej.
CWnd::OnCreate Wywoływana jako część tworzenia okna.
CWnd::OnCtlColor Wywoływana, jeśli CWnd jest elementem nadrzędnym kontrolki, gdy kontrolka ma zostać narysowana.
CWnd::OnDeadChar Wywoływana, gdy naciśnięcie klawiszy przekłada się na nieusystemowy martwy znak (na przykład znaki wyróżniające).
CWnd::OnDeleteItem Wywoływana, gdy pole listy podrzędnej lub pole kombi jest niszczone przez właściciela lub gdy elementy zostaną usunięte z kontrolki.
CWnd::OnDestroy Wywoływana, gdy CWnd jest niszczona.
CWnd::OnDestroyClipboard Wywoływana, gdy Schowek jest opróżniany przez wywołanie funkcji systemu Windows EmptyClipboard .
CWnd::OnDeviceChange Powiadamia aplikację lub sterownik urządzenia o zmianie konfiguracji sprzętowej urządzenia lub komputera.
CWnd::OnDevModeChange Wywołana dla wszystkich okien najwyższego poziomu, gdy użytkownik zmieni ustawienia trybu urządzenia.
CWnd::OnDrawClipboard Wywoływana, gdy zawartość Schowka ulegnie zmianie.
CWnd::OnDrawItem Wywoływana, gdy należy narysować element wizualny kontrolki przycisku podrzędnego właściciela, kontrolki pola kombi, kontrolki pola listy lub menu.
CWnd::OnDropFiles Wywoływana, gdy użytkownik zwalnia lewy przycisk myszy nad oknem, które zarejestrowało się jako odbiorca porzuconych plików.
CWnd::OnEnable Wywoływana, gdy CWnd jest włączona lub wyłączona.
CWnd::OnEndSession Wywoływana po zakończeniu sesji.
CWnd::OnEnterIdle Wywoływana w celu poinformowania głównej procedury okna aplikacji, że modalne okno dialogowe lub menu wprowadza stan bezczynności.
CWnd::OnEnterMenuLoop Wywoływana po wprowadzeniu pętli modalnej menu.
CWnd::OnEnterSizeMove Wywołana po przejściu okna, którego dotyczy problem, wchodzi w ruch lub zmienia rozmiar pętli modalnej.
CWnd::OnEraseBkgnd Wywoływana, gdy tło okna wymaga wymazywania.
CWnd::OnExitMenuLoop Wywoływana, gdy pętla modalna menu została zakończona.
CWnd::OnExitSizeMove Wywoływane po zakończeniu okna, którego dotyczy problem, powoduje zamknięcie ruchomej lub zmiany rozmiaru pętli modalnej.
CWnd::OnFontChange Wywoływana, gdy zmienia się pula zasobów czcionek.
CWnd::OnGetDlgCode Wywoływana dla kontrolki, aby kontrolka mogła przetwarzać dane wejściowe klawisza strzałki i klawisza TAB.
CWnd::OnGetMinMaxInfo Wywoływane za każdym razem, gdy system Windows musi znać zmaksymalizowaną pozycję lub wymiary albo minimalny lub maksymalny rozmiar śledzenia.
CWnd::OnHelpInfo Wywoływana przez platformę, gdy użytkownik naciska klawisz F1.
CWnd::OnHotKey Wywoływana, gdy użytkownik naciska klawisz hot o szerokości systemu.
CWnd::OnHScroll Wywoływana, gdy użytkownik kliknie poziomy pasek przewijania .CWnd
CWnd::OnHScrollClipboard Wywoływana, gdy właściciel Schowka powinien przewijać obraz Schowka, unieważniać odpowiednią sekcję i aktualizować wartości paska przewijania.
CWnd::OnIconEraseBkgnd Wywoływana, gdy CWnd jest zminimalizowana (ikona), a tło ikony musi być wypełnione przed malowaniem ikony.
CWnd::OnInitMenu Wywoływane, gdy menu ma stać się aktywne.
CWnd::OnInitMenuPopup Wywoływane, gdy menu podręczne ma stać się aktywne.
CWnd::OnInputDeviceChange Wywoływana po dodaniu lub usunięciu urządzenia we/wy z systemu.
CWnd::OnInputLangChange Wywoływane po zmianie języka wejściowego aplikacji.
CWnd::OnInputLangChangeRequest Wywoływana, gdy użytkownik wybierze nowy język wejściowy.
CWnd::OnKeyDown Wywoływana po naciśnięciu klawisza niesystemowego.
CWnd::OnKeyUp Wywoływana po wydaniu klucza niesystemowego.
CWnd::OnKillFocus Wywołana bezpośrednio przed CWnd utratą fokusu wejściowego.
CWnd::OnLButtonDblClk Wywoływana, gdy użytkownik kliknie dwukrotnie lewy przycisk myszy.
CWnd::OnLButtonDown Wywoływana, gdy użytkownik naciska lewy przycisk myszy.
CWnd::OnLButtonUp Wywoływana, gdy użytkownik zwalnia lewy przycisk myszy.
CWnd::OnMButtonDblClk Wywołana, gdy użytkownik kliknie dwukrotnie środkowy przycisk myszy.
CWnd::OnMButtonDown Wywoływana, gdy użytkownik naciska środkowy przycisk myszy.
CWnd::OnMButtonUp Wywoływana, gdy użytkownik zwalnia środkowy przycisk myszy.
CWnd::OnMDIActivate Wywoływana, gdy okno podrzędne MDI jest aktywowane lub dezaktywowane.
CWnd::OnMeasureItem Wywołana dla pola kombi rysowania właściciela podrzędnego, pola listy lub elementu menu po utworzeniu kontrolki. CWnd informuje system Windows o wymiarach kontrolki.
CWnd::OnMenuChar Wywoływana, gdy użytkownik naciska znak mnemonic menu, który nie pasuje do żadnego ze wstępnie zdefiniowanych mnemonics w bieżącym menu.
CWnd::OnMenuDrag Wywoływana, gdy użytkownik zacznie przeciągać element menu.
CWnd::OnMenuGetObject Wywoływana, gdy kursor myszy wprowadza element menu lub przenosi się z środka elementu do góry lub dolnej części elementu.
CWnd::OnMenuRButtonUp Wywoływana, gdy użytkownik zwolni prawy przycisk myszy, gdy kursor znajduje się w elemencie menu.
CWnd::OnMenuSelect Wywoływana, gdy użytkownik wybierze element menu.
CWnd::OnMouseActivate Wywoływana, gdy kursor znajduje się w nieaktywnym oknie, a użytkownik naciska przycisk myszy.
CWnd::OnMouseHover Wywoływana, gdy kursor najecha kursorem na obszar klienta okna przez okres określony w poprzednim wywołaniu metody TrackMouseEvent.
CWnd::OnMouseHWheel Wywoływany, gdy kółko przewijania myszy jest przechylone lub obracane.
CWnd::OnMouseLeave Wywoływana, gdy kursor opuszcza obszar klienta okna określonego w poprzednim wywołaniu metody TrackMouseEvent.
CWnd::OnMouseMove Wywoływana po przesunięciu kursora myszy.
CWnd::OnMouseWheel Wywoływana, gdy użytkownik obraca koło myszy. Używa obsługi komunikatów systemu Windows NT 4.0.
CWnd::OnMove Wywoływana po zmianie położenia elementu CWnd .
CWnd::OnMoving Wskazuje, że użytkownik przenosi CWnd obiekt.
CWnd::OnNcActivate Wywoływana, gdy obszar inny niż klient musi zostać zmieniony, aby wskazać stan aktywny lub nieaktywny.
CWnd::OnNcCalcSize Wywoływana, gdy należy obliczyć rozmiar i położenie obszaru klienta.
CWnd::OnNcCreate Wywoływane OnCreate przed utworzeniem obszaru innego niż klient.
CWnd::OnNcDestroy Wywoływana, gdy obszar niekliencki jest niszczony.
CWnd::OnNcHitTest Wywoływana przez system Windows za każdym razem, gdy mysz zostanie przeniesiona, jeśli CWnd zawiera kursor lub przechwycił dane wejściowe myszy za pomocą polecenia SetCapture.
CWnd::OnNcLButtonDblClk Wywoływana, gdy użytkownik dwukrotnie klika lewy przycisk myszy, gdy kursor znajduje się w obszarze innego niż CWndklient .
CWnd::OnNcLButtonDown Wywoływana, gdy użytkownik naciska lewy przycisk myszy, gdy kursor znajduje się w obszarze innego niż klient .CWnd
CWnd::OnNcLButtonUp Wywoływana, gdy użytkownik zwalnia lewy przycisk myszy, gdy kursor znajduje się w obszarze innego niż klient .CWnd
CWnd::OnNcMButtonDblClk Wywoływana, gdy użytkownik dwukrotnie klika środkowy przycisk myszy, gdy kursor znajduje się w obszarze innego niż CWndklient .
CWnd::OnNcMButtonDown Wywoływana, gdy użytkownik naciska środkowy przycisk myszy, gdy kursor znajduje się w obszarze innego niż CWndklient .
CWnd::OnNcMButtonUp Wywoływana, gdy użytkownik zwalnia środkowy przycisk myszy, gdy kursor znajduje się w obszarze niekliencką CWnd.
CWnd::OnNcMouseHover Wywoływana, gdy kursor najecha kursorem na obszar inny niż klient okna przez okres określony w poprzednim wywołaniu metody TrackMouseEvent.
CWnd::OnNcMouseLeave Struktura wywołuje tę funkcję składową, gdy kursor opuszcza obszar poza klientem okna określonego w poprzednim wywołaniu metody TrackMouseEvent.
CWnd::OnNcMouseMove Wywoływana, gdy kursor jest przenoszony w obszarze innego niż klient .CWnd
CWnd::OnNcPaint Wywoływane, gdy obszar niekliencki wymaga malowania.
CWnd::OnNcRButtonDblClk Wywoływana, gdy użytkownik klika dwukrotnie prawym przyciskiem myszy, gdy kursor znajduje się w obszarze innego niż CWndklient .
CWnd::OnNcRButtonDown Wywoływana, gdy użytkownik naciska prawy przycisk myszy, gdy kursor znajduje się w obszarze innego niż klient .CWnd
CWnd::OnNcRButtonUp Wywoływana, gdy użytkownik zwalnia prawy przycisk myszy, gdy kursor znajduje się w obszarze innego niż klient .CWnd
CWnd::OnNcRenderingChanged Wywoływane, gdy zasady renderowania dla obszaru innego niż klient uległy zmianie.
CWnd::OnNcXButtonDblClk Wywoływana, gdy użytkownik kliknie XBUTTON1 dwukrotnie lub XBUTTON2 gdy kursor znajduje się w obszarze innym niż klient okna.
CWnd::OnNcXButtonDown Wywoływana, gdy użytkownik naciska XBUTTON1 lub XBUTTON2 myszy, gdy kursor znajduje się w obszarze innym niż klient okna.
CWnd::OnNcXButtonUp Wywoływana, gdy użytkownik zwalnia XBUTTON1 lub XBUTTON2 myszy, gdy kursor znajduje się w obszarze innym niż klient okna.
CWnd::OnNextMenu Wywoływana, gdy klawisz strzałki w prawo lub w lewo służy do przełączania się między paskiem menu a menu systemowym.
CWnd::OnNotify Wywoływana przez platformę w celu poinformowania okna nadrzędnego o wystąpieniu zdarzenia w jednej z jego kontrolek lub o tym, że kontrolka potrzebuje informacji.
CWnd::OnNotifyFormat Wywoływane w celu określenia, czy bieżące okno akceptuje struktury ANSI lub Unicode w WM_NOTIFY komunikacie powiadomienia.
CWnd::OnPaint Wywoływana w celu przemalowania części okna.
CWnd::OnPaintClipboard Wywoływana, gdy obszar klienta przeglądarki Schowka wymaga przemalowania.
CWnd::OnPaletteChanged Wywoływane w celu umożliwienia okien korzystających z palety kolorów do realizacji palet logicznych i aktualizowania obszarów klienta.
CWnd::OnPaletteIsChanging Informuje inne aplikacje, gdy aplikacja będzie realizować paletę logiczną.
CWnd::OnParentNotify Wywoływana, gdy okno podrzędne jest tworzone lub niszczone, lub gdy użytkownik kliknie przycisk myszy, gdy kursor znajduje się nad oknem podrzędnym.
CWnd::OnPowerBroadcast Wywoływana w przypadku wystąpienia zdarzenia zarządzania energią.
CWnd::OnQueryDragIcon Wywoływana, gdy użytkownik ma przeciągać zminimalizowane (kultowe). CWnd
CWnd::OnQueryEndSession Wywoływana, gdy użytkownik zdecyduje się zakończyć sesję systemu Windows.
CWnd::OnQueryNewPalette CWnd Informuje o otrzymaniu fokusu danych wejściowych.
CWnd::OnQueryOpen Wywoływana, gdy CWnd jest ikoną, a użytkownik żąda, aby ikona została otwarta.
CWnd::OnQueryUIState Wywoływana w celu pobrania stanu interfejsu użytkownika dla okna.
CWnd::OnRawInput Wywołana, gdy bieżące okno pobiera nieprzetworzone dane wejściowe.
CWnd::OnRButtonDblClk Wywoływana, gdy użytkownik kliknie dwukrotnie prawym przyciskiem myszy.
CWnd::OnRButtonDown Wywoływana, gdy użytkownik naciska prawy przycisk myszy.
CWnd::OnRButtonUp Wywoływana, gdy użytkownik zwolni prawy przycisk myszy.
CWnd::OnRenderAllFormats Wywoływana, gdy aplikacja właściciela jest niszczona i musi renderować wszystkie jej formaty.
CWnd::OnRenderFormat Wywołano właściciela schowka, gdy należy renderować określony format z opóźnionym renderowaniem.
CWnd::OnSessionChange Wywoływana w celu powiadomienia o zastosowaniu zmiany stanu sesji.
CWnd::OnSetCursor Wywoływana, jeśli dane wejściowe myszy nie są przechwytywane, a mysz powoduje ruch kursora w oknie.
CWnd::OnSetFocus Wywołana po CWnd dokonaniu fokusu danych wejściowych.
CWnd::OnSettingChange Wywoływana, gdy funkcja Win32 SystemParametersInfo zmienia ustawienie całego systemu.
CWnd::OnShowWindow Wywoływane, gdy CWnd ma być ukryte lub wyświetlane.
CWnd::OnSize Wywołana po zmianie rozmiaru CWnd elementu.
CWnd::OnSizeClipboard Wywoływana po zmianie rozmiaru obszaru klienta okna Schowka przeglądarki.
CWnd::OnSizing Wskazuje, że użytkownik zmienia rozmiar prostokąta.
CWnd::OnSpoolerStatus Wywoływane z Menedżera wydruku przy każdym dodaniu lub usunięciu zadania z kolejki Menedżera wydruku.
CWnd::OnStyleChanged Wskazuje, że SetWindowLong funkcja systemu Windows zmieniła co najmniej jeden styl okna.
CWnd::OnStyleChanging Wskazuje, że SetWindowLong funkcja systemu Windows ma zmienić co najmniej jeden styl okna.
CWnd::OnSysChar Wywoływana, gdy naciśnięcie klawisza przekłada się na znak systemowy.
CWnd::OnSysColorChange Wywoływane dla wszystkich okien najwyższego poziomu, gdy zmiana zostanie wprowadzona w ustawieniu koloru systemu.
CWnd::OnSysCommand Wywoływana, gdy użytkownik wybierze polecenie z menu Kontrolka lub gdy użytkownik wybierze przycisk Maksymalizuj lub Minimalizuj.
CWnd::OnSysDeadChar Wywoływana, gdy naciśnięcie klawiszy przekłada się na nieaktywny znak systemu (na przykład znaki wyróżniające).
CWnd::OnSysKeyDown Wywoływana, gdy użytkownik przytrzymuje klawisz ALT, a następnie naciska inny klawisz.
CWnd::OnSysKeyUp Wywoływana, gdy użytkownik zwalnia klawisz, który został naciśnięty, gdy klawisz ALT został przytrzymyany.
CWnd::OnTCard Wywoływana, gdy użytkownik kliknie przycisk z możliwością tworzenia.
CWnd::OnTimeChange Wywołana dla wszystkich okien najwyższego poziomu po zmianie czasu systemu.
CWnd::OnTimer Wywoływane po każdym interwale określonym w pliku SetTimer.
CWnd::OnTouchInput Przetwarzanie pojedynczych danych wejściowych z poziomu dotyku systemu Windows.
CWnd::OnTouchInputs Przetwarzanie danych wejściowych za pomocą dotyku systemu Windows.
CWnd::OnUniChar Wywoływana po naciśnięciu klawisza. Oznacza to, że bieżące okno ma fokus klawiatury, a WM_KEYDOWN komunikat jest tłumaczony przez TranslateMessage funkcję.
CWnd::OnUnInitMenuPopup Wywoływane, gdy menu rozwijane lub podmenu zostało zniszczone.
CWnd::OnUpdateUIState Wywoływana w celu zmiany stanu interfejsu użytkownika dla określonego okna i wszystkich okien podrzędnych.
CWnd::OnUserChanged Wywołana po zalogowaniu lub wyłączeniu użytkownika.
CWnd::OnVKeyToItem Wywoływane przez pole listy należące do elementu CWnd w odpowiedzi na WM_KEYDOWN komunikat.
CWnd::OnVScroll Wywoływana, gdy użytkownik kliknie pionowy pasek przewijania okna.
CWnd::OnVScrollClipboard Wywoływana, gdy właściciel powinien przewinąć obraz Schowka, unieważnić odpowiednią sekcję i zaktualizować wartości paska przewijania.
CWnd::OnWindowPosChanged Wywoływane, gdy rozmiar, pozycja lub kolejność Z uległy zmianie w wyniku wywołania funkcji SetWindowPos lub innej funkcji zarządzania oknami.
CWnd::OnWindowPosChanging Wywoływane, gdy rozmiar, pozycja lub kolejność Z mają ulec zmianie w wyniku wywołania funkcji SetWindowPos lub innej funkcji zarządzania oknami.
CWnd::OnWinIniChange Wywołana dla wszystkich okien najwyższego poziomu po zmianie pliku inicjowania systemu Windows. WIN.INI
CWnd::OnWndMsg Wskazuje, czy komunikat systemu Windows został obsłużony.
CWnd::OnXButtonDblClk Wywoływana, gdy użytkownik kliknie XBUTTON1 dwukrotnie lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.
CWnd::OnXButtonDown Wywoływana, gdy użytkownik naciska XBUTTON1 lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.
CWnd::OnXButtonUp Wywoływana, gdy użytkownik zwalnia XBUTTON1 lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.
CWnd::PostNcDestroy Ta funkcja wirtualna jest wywoływana przez domyślną funkcję OnNcDestroy po zniszczeniu okna.
CWnd::ReflectChildNotify Funkcja pomocnika, która odzwierciedla komunikat w źródle.
CWnd::ReflectLastMsg Emocje ostatni komunikat do okna podrzędnego.
CWnd::ResizeDynamicLayout Wywoływana przez platformę, gdy rozmiar okna zmienia się w celu dostosowania układu okien podrzędnych, jeśli dynamiczny układ jest włączony dla okna.
CWnd::WindowProc Zawiera procedurę okna dla elementu CWnd. Domyślnie wysyła komunikaty za pośrednictwem mapy komunikatów.

Operatory publiczne

Nazwa/nazwisko opis
CWnd::operator HWND Wywołaj metodę , aby uzyskać dojście do okna.
CWnd::operator != Określa, czy okno nie jest takie samo jak okno, którego uchwyt to m_hWnd.
CWnd::operator == Określa, czy okno jest takie samo jak okno, którego uchwyt to m_hWnd.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
CWnd::m_hWnd Wskazuje identyfikator HWND dołączony do tego CWndelementu .

Uwagi

CWnd Obiekt różni się od okna systemu Windows, ale te dwa są ściśle połączone. CWnd Obiekt jest tworzony lub niszczony przez CWnd konstruktora i destruktora. Z drugiej strony okno systemu Windows jest strukturą danych wewnętrzną dla systemu Windows, która jest tworzona przez funkcję składową Create i niszczona przez CWnd wirtualny destruktor. Funkcja DestroyWindow niszczy okno systemu Windows bez niszczenia obiektu.

Klasa CWnd i mechanizm mapy komunikatów ukrywają WndProc funkcję. Przychodzące komunikaty powiadomień systemu Windows są automatycznie kierowane przez mapę komunikatów do odpowiednich funkcji elementów członkowskich komunikatów.CWnd Zastąpisz funkcję składową Wwiadomości , aby obsłużyć określony komunikat elementu członkowskiego w klasach pochodnych.

Klasa CWnd umożliwia również utworzenie okna podrzędnego systemu Windows dla aplikacji. Utwórz klasę z CWndklasy , a następnie dodaj zmienne składowe do klasy pochodnej, aby przechowywać dane specyficzne dla aplikacji. Zaimplementuj funkcje składowe programu obsługi komunikatów i mapę komunikatów w klasie pochodnej, aby określić, co się stanie, gdy komunikaty są kierowane do okna.

Okno podrzędne zostanie utworzone w dwóch krokach. Najpierw wywołaj konstruktor CWnd , aby skonstruować CWnd obiekt, a następnie wywołaj Create funkcję składową, aby utworzyć okno podrzędne i dołączyć go do CWnd obiektu.

Gdy użytkownik zakończy okno podrzędne, zniszczy CWnd obiekt lub wywoła DestroyWindow funkcję składową, aby usunąć okno i zniszczyć jego struktury danych.

W bibliotece klas programu Microsoft Foundation kolejne klasy pochodzą z CWnd , aby zapewnić określone typy okien. Wiele z tych klas, w tym CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CViewi CDialog, jest przeznaczonych do dalszego wyprowadzania. Klasy kontrolek pochodzące z CWndklasy , takich jak CButton, mogą być używane bezpośrednio lub mogą służyć do dalszego wyprowadzania klas.

Aby uzyskać więcej informacji na temat korzystania z CWndobiektów , zobacz Frame Windows i Window Objects (Obiekty okien).

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

Wymagania

Nagłówek: afxwin.h

CWnd::accDoDefaultAction

Wywoływana przez strukturę w celu wykonania domyślnej akcji obiektu.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parametry

varChild
Określa, czy domyślną akcją do wywołania jest akcja obiektu, czy jeden z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby wykonać domyślną akcję obiektu) lub identyfikator podrzędny (aby wykonać domyślną akcję jednego z elementów podrzędnych obiektu).

Wartość zwracana

Zwraca S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w funkcji IAccessible::accDoDefaultAction w zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby wykonać domyślną akcję obiektu. Aby uzyskać więcej informacji, zobacz IAccessible::accDoDefaultAction w zestawie Windows SDK.

CWnd::accHitTest

Wywoływana przez platformę w celu pobrania elementu podrzędnego lub obiektu podrzędnego w danym punkcie na ekranie.

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

Parametry

xLeft
Współrzędna X punktu do trafienia (w jednostkach ekranu).

yTop
Współrzędna Y punktu do przetestowania (w jednostkach ekranu).

pvarChild
Odbiera informacje identyfikujące obiekt w punkcie określonym przez xLeft i yTop. Zobacz pvarID w IAccessible::accHitTest zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::accHitTest zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::accHitTest w zestawie Windows SDK.

CWnd::accLocation

Wywoływana przez platformę w celu pobrania bieżącej lokalizacji ekranu określonego obiektu.

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

Parametry

pxLeft
Odbiera współrzędną x lewego górnego rogu obiektu (w jednostkach ekranu).

pyTop
Odbiera współrzędną y lewego górnego rogu obiektu (w jednostkach ekranu).

pcxWidth
Odbiera szerokość obiektu (w jednostkach ekranu).

pcyHeight
Otrzymuje wysokość obiektu (w jednostkach ekranu).

varChild
Określa, czy lokalizacja do pobrania jest lokalizacja obiektu, czy jeden z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

Wartość zwracana

Zwraca S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::accLocation zestawie Windows SDK.

Uwagi

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::accLocation w zestawie Windows SDK.

CWnd::accNavigate

Wywoływana przez platformę, aby przejść do innego elementu interfejsu użytkownika w kontenerze i, jeśli to możliwe, pobierz obiekt.

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

Parametry

navDir
Określa kierunek nawigacji. Zobacz navDir w IAccessible::accNavigate zestawie Windows SDK.

varStart
Określa obiekt początkowy. Zobacz varStart w IAccessible::accNavigate zestawie Windows SDK.

pvarEndUpAt
Odbiera informacje o docelowym obiekcie interfejsu użytkownika. Zobacz pvarEnd w IAccessible::accNavigate zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::accNavigate zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::accNavigate w zestawie Windows SDK.

CWnd::accSelect

Wywoływana przez strukturę w celu zmodyfikowania zaznaczenia lub przeniesienia fokusu klawiatury określonego obiektu.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Parametry

flagsSelect
Określa sposób zmiany bieżącego zaznaczenia lub fokusu. Zobacz flagsSelect w IAccessible::accSelect zestawie Windows SDK.

varChild
Określa obiekt do wybrania. Ten parametr może mieć wartość CHILDID_SELF (aby wybrać sam obiekt) lub identyfikator podrzędny (aby wybrać jeden z elementów podrzędnych obiektu).

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::accSelect zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::accSelect w zestawie Windows SDK.

CWnd::AnimateWindow

Tworzy efekty specjalne podczas pokazywania lub ukrywania okien.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parametry

dwTime
Określa, jak długo trwa odtwarzanie animacji w milisekundach. Zazwyczaj animacja zajmuje 200 milisekund do odtwarzania.

dwFlags
Określa typ animacji. Aby uzyskać pełną listę możliwych wartości, zobacz AnimateWindow.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji AnimateWindow, zgodnie z opisem w zestawie Windows SDK.

CWnd::ArrangeIconicWindows

Rozmieszcza wszystkie zminimalizowane (kultowe) okna podrzędne.

UINT ArrangeIconicWindows();

Wartość zwracana

Wysokość jednego wiersza ikon, jeśli funkcja zakończy się pomyślnie; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa rozmieszcza również ikony w oknie pulpitu, który obejmuje cały ekran. Funkcja GetDesktopWindow składowa pobiera wskaźnik do obiektu okna pulpitu.

Aby rozmieścić kultowe okna podrzędne MDI w oknie klienta MDI, wywołaj metodę CMDIFrameWnd::MDIIconArrange.

Przykład

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

Dołącza okno systemu Windows do CWnd obiektu.

BOOL Attach(HWND hWndNew);

Parametry

hWndNew
Określa dojście do okna systemu Windows.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Przykład

W tym przykładzie pokazano, jak używać interfejsu Attach i Detach mapować je na okno 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

Wywołaj tę funkcję składową, aby utworzyć modalne okno ramowe.

virtual void BeginModalState();

CWnd::BeginPaint

CWnd Przygotowuje się do malowania i wypełnia PAINTSTRUCT strukturę danych informacjami o obrazie.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parametry

lpPaint
PAINTSTRUCT Wskazuje strukturę, która ma odbierać informacje o obrazie.

Wartość zwracana

Identyfikuje kontekst urządzenia dla elementu CWnd. Wskaźnik może być tymczasowy i nie powinien być przechowywany poza zakresem .EndPaint

Uwagi

Struktura farby zawiera RECT strukturę danych, która ma najmniejszy prostokąt, który całkowicie otacza region aktualizacji i flagę określającą, czy tło zostało wymazane.

Region aktualizacji jest ustawiany przez Invalidatefunkcje , InvalidateRectlub InvalidateRgn składowe i przez system po jego rozmiarze, przenosi, tworzy, przewija lub wykonuje dowolną inną operację, która ma wpływ na obszar klienta. Jeśli region aktualizacji jest oznaczony do wymazywania, BeginPaint wysyła WM_ONERASEBKGND komunikat.

Nie należy wywoływać funkcji składowej BeginPaint z wyjątkiem w odpowiedzi na WM_PAINT komunikat. Każde wywołanie funkcji składowej BeginPaint musi mieć zgodne wywołanie funkcji składowej EndPaint . Jeśli daszek znajduje się w obszarze do malowania, BeginPaint funkcja składowa automatycznie ukrywa daszek, aby zapobiec jego wymazaniu.

Przykład

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

Tworzy powiązanie domyślnej prostej właściwości powiązanej obiektu wywołującego (na przykład kontrolki edycji) oznaczonej w bibliotece typów do bazowego kursora zdefiniowanego przez DataSourcekontrolkę źródła danych , UserName, Passwordi SQL .

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

Parametry

dwDispID
Określa DISPID właściwość kontrolki powiązanej z danymi, która ma być powiązana z kontrolką źródła danych.

vtProp
Określa typ właściwości, która ma być powiązana. Na przykład , VT_BSTRVT_VARIANTi tak dalej.

szFieldName
Określa nazwę kolumny w kursorze dostarczonym przez kontrolkę źródła danych, z którą będzie powiązana właściwość.

pDSCWnd
Wskazuje okno, które hostuje kontrolkę źródła danych, do której będzie powiązana właściwość. Wywołaj metodę GetDlgItem za pomocą identyfikatora zasobu okna hosta usługi DCS, aby pobrać ten wskaźnik.

Uwagi

Obiekt CWnd , na którym wywołujesz tę funkcję, musi być formantem powiązanym z danymi.

Przykład

BindDefaultProperty może być używany w następującym kontekście:

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

Wiąże właściwość związaną kursorem z kontrolką związaną z danymi (na przykład kontrolką siatki) do kontrolki źródła danych i rejestruje relację z menedżerem powiązań MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parametry

dwDispId
Określa DISPID właściwość kontrolki powiązanej z danymi, która ma być powiązana z kontrolką źródła danych.

pWndDSC
Wskazuje okno, które hostuje kontrolkę źródła danych, do której będzie powiązana właściwość. Wywołaj metodę GetDlgItem za pomocą identyfikatora zasobu okna hosta usługi DCS, aby pobrać ten wskaźnik.

Uwagi

Obiekt CWnd , na którym wywołujesz tę funkcję, musi być formantem powiązanym z danymi.

Przykład

BindProperty może być używany w następującym kontekście:

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

CWnd::BringWindowToTop

Prowadzi CWnd do góry stosu nakładających się okien.

void BringWindowToTop();

Uwagi

Ponadto BringWindowToTop aktywuje wyskakujące okna podręczne, najwyższego poziomu i podrzędne mdI. Funkcja BringWindowToTop składowa powinna służyć do odkrywania każdego okna, które jest częściowo lub całkowicie zasłonięte przez wszelkie nakładające się okna.

Ta funkcja po prostu wywołuje funkcję Win32 BringWindowToTop . Wywołaj SetWindowPos funkcję , aby zmienić położenie okna w kolejności Z. Funkcja BringWindowToTop nie zmienia stylu okna, aby była oknem najwyższego poziomu. Aby uzyskać więcej informacji, zobacz Co to jest różnica między elementami HWND_TOP i HWND_TOPMOST

Przykład

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

Oblicza prostokąt okna, który może zawierać określony prostokąt klienta.

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

Parametry

lpClientRect
[in, out] Wskaźnik do struktury prostokąta. W danych wejściowych ta struktura zawiera prostokąt klienta. Po zakończeniu metody ta struktura zawiera prostokąt okna, który może zawierać określony prostokąt klienta.

nAdjustType
[in] Użyj CWnd::adjustBorder polecenia , aby obliczyć współrzędne okna bez WS_EX_CLIENTEDGE stylu; w przeciwnym razie użyj polecenia CWnd::adjustOutside.

Uwagi

Rozmiar prostokąta okna obliczeniowego nie zawiera miejsca na pasku menu.

Aby uzyskać więcej ograniczeń użycia, zobacz AdjustWindowRectEx.

Przykład

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

Wywołaj tę funkcję składową, aby usunąć poradę narzędzia z ekranu, jeśli jest obecnie wyświetlana porada narzędzia.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parametry

bKeys
TRUE aby anulować porady dotyczące narzędzi po naciśnięciu klawisza i ustawić tekst paska stanu na wartość domyślną; w przeciwnym razie FALSE.

Uwagi

Uwaga

Korzystanie z tej funkcji składowej nie ma wpływu na wskazówki dotyczące narzędzi zarządzanych przez kod. Ma to wpływ tylko na kontrolkę porad narzędzia zarządzaną przez CWnd::EnableToolTipsprogram .

Przykład

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

Wyśrodkuje okno względem jego elementu nadrzędnego.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parametry

pAlternateOwner
Wskaźnik do alternatywnego okna względem którego zostanie wyśrodkowany (poza oknem nadrzędnym).

Uwagi

Zwykle wywoływane z CDialog::OnInitDialog do środka okien dialogowych względem głównego okna aplikacji. Domyślnie okna podrzędne funkcji są wyśrodkowane względem okna nadrzędnego i wyskakujące okna względem ich właściciela. Jeśli okno podręczne nie jest własnością, jest wyśrodkowane względem ekranu. Aby wyśrodkować okno względem określonego okna, które nie jest właścicielem lub elementem nadrzędnym, pAlternateOwner parametr może być ustawiony na prawidłowe okno. Aby wymusić wyśrodkowanie względem ekranu, przekaż wartość zwróconą przez CWnd::GetDesktopWindow wartość jako pAlternateOwner.

Przykład

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

CWnd Usuwa z łańcucha widzów Schowka i sprawia, że okno określone przez hWndNext element potomny CWnd przodka w łańcuchu.

BOOL ChangeClipboardChain(HWND hWndNext);

Parametry

hWndNext
Identyfikuje okno, które następuje CWnd w łańcuchu Schowek-viewer.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

CWnd::CheckDlgButton

Wybiera (umieszcza znacznik wyboru obok) lub czyści (usuwa znacznik wyboru) przycisk lub zmienia stan przycisku trójstanowego.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Parametry

nIDButton
Określa przycisk, który ma zostać zmodyfikowany.

nCheck
Określa akcję do wykonania. Jeśli nCheck jest niezerowa, funkcja składowa CheckDlgButton umieszcza znacznik wyboru obok przycisku; jeśli 0, znacznik wyboru zostanie usunięty. W przypadku przycisków trójstanowych, jeśli nCheck jest to 2, stan przycisku jest nieokreślony.

Uwagi

Funkcja CheckDlgButton wysyła BM_SETCHECK komunikat do określonego przycisku.

Przykład

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

Wybiera (dodaje znacznik wyboru) dany przycisk radiowy w grupie i czyści (usuwa znacznik wyboru) wszystkie inne przyciski radiowe w grupie.

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

Parametry

nIDFirstButton
Określa identyfikator liczb całkowitych pierwszego przycisku radiowego w grupie.

nIDLastButton
Określa identyfikator całkowity ostatniego przycisku radiowego w grupie.

nIDCheckButton
Określa identyfikator liczb całkowitych przycisku radiowego do sprawdzenia.

Uwagi

Funkcja CheckRadioButton wysyła BM_SETCHECK komunikat do określonego przycisku radiowego.

Przykład

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

CWnd::ChildWindowFromPoint

Określa, które okna podrzędne należące do CWnd elementu podrzędnego zawierają określony punkt.

CWnd* ChildWindowFromPoint(POINT point) const;

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

Parametry

point
Określa współrzędne klienta punktu do przetestowania.

nflags
Określa, które okna podrzędne mają być pomijane. Ten parametr może być kombinacją następujących wartości:

Wartość Znaczenie
CWP_ALL Nie pomijaj żadnych okien podrzędnych
CWP_SKIPINVISIBLE Pomiń niewidoczne okna podrzędne
CWP_SKIPDISABLED Pomiń wyłączone okna podrzędne
CWP_SKIPTRANSPARENT Pomiń przezroczyste okna podrzędne

Wartość zwracana

Identyfikuje okno podrzędne zawierające punkt. Jeśli NULL dany punkt znajduje się poza obszarem klienta. Jeśli punkt znajduje się w obszarze klienta, ale nie znajduje się w żadnym oknie podrzędnym, CWnd zostanie zwrócony.

Ta funkcja składowa zwróci ukryte lub wyłączone okno podrzędne zawierające określony punkt.

Więcej niż jedno okno może zawierać dany punkt. Jednak ta funkcja zwraca tylko CWndwartość * pierwszego napotkanego okna zawierającego punkt.

Zwrócony CWnd* może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Przykład

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

Konwertuje współrzędne klienta danego punktu lub prostokąta na ekranie na współrzędne ekranu.

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

Parametry

lpPoint
POINT Wskazuje strukturę lub CPoint obiekt zawierający współrzędne klienta, które mają zostać przekonwertowane.

lpRect
RECT Wskazuje strukturę lub CRect obiekt zawierający współrzędne klienta, które mają zostać przekonwertowane.

Uwagi

Funkcja ClientToScreen składowa używa współrzędnych klienta w POINT strukturze lub RECT lub CPointCRect obiektu wskazywanego przez lpPoint lub lpRect do obliczania nowych współrzędnych ekranu; następnie zastępuje współrzędne w strukturze nowymi współrzędnymi. Współrzędne nowego ekranu są względne względem lewego górnego rogu ekranu systemu.

Funkcja ClientToScreen składowa zakłada, że dany punkt lub prostokąt znajduje się we współrzędnych klienta.

Przykład

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

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji CloseWindow, zgodnie z opisem w zestawie Windows SDK.

CWnd::ContinueModal

Ta funkcja składowa jest wywoływana przez RunModalLoop program w celu określenia, kiedy należy zamknąć stan modalny.

virtual BOOL ContinueModal();

Wartość zwracana

Niezerowe, jeśli pętla modalna ma być kontynuowana; 0, gdy EndModalLoop jest wywoływany.

Uwagi

Domyślnie zwraca wartość inną niż zero, dopóki EndModalLoop nie zostanie wywołana.

CWnd::Create

Tworzy określone okno podrzędne i dołącza je do CWnd obiektu.

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

Parametry

lpszClassName
[in] Wskaźnik do ciągu zakończonego wartością null, który zawiera nazwę zarejestrowanej klasy okien systemowych; lub nazwa wstępnie zdefiniowanej klasy okna systemowego.

lpszWindowName
[in] Wskaźnik do ciągu zakończonego wartości null, który zawiera nazwę wyświetlaną okna; w przeciwnym razie NULL nie ma nazwy wyświetlanej okna.

dwStyle
[in] Kombinacja bitowa (OR) stylów okna. Opcja WS_POPUP nie jest prawidłowym stylem.

rect
[in] Rozmiar i lokalizacja okna względem lewego górnego rogu okna nadrzędnego.

pParentWnd
[in] Wskaźnik do okna nadrzędnego.

nID
[in] Identyfikator okna.

pContext
[in] Wskaźnik do CCreateContext struktury używanej do dostosowywania architektury widoku dokumentów dla aplikacji.

Wartość zwracana

TRUE jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FALSE.

Uwagi

Ostrzeżenie

CWnd::PreCreateWindow teraz przypisuje hMenu element członkowski jego CREATESTRUCT parametru this do wskaźnika, jeśli menu to NULL , a styl zawiera WS_CHILD. Aby uzyskać odpowiednie funkcje, upewnij się, że kontrolka okna dialogowego ma identyfikator, który nie NULLjest .

Ta zmiana naprawia awarię w scenariuszach międzyoperacyjności zarządzanej/natywnej. Instrukcja TRACE w CWnd::Create alertach dla dewelopera problemu.

AfxRegisterWndClass Użyj funkcji , aby zarejestrować klasy okien. Klasy okien zdefiniowanych przez użytkownika są dostępne w module, w którym są zarejestrowane.

Metoda jest wywoływana CWnd::OnCreate przed zwróceniem Create metody i zanim okno stanie się widoczne.

Przykład

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

Tworzy aktywny serwer proxy ułatwień dostępu dla określonego obiektu.

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

Parametry

wParam
Identyfikuje obiekt, do których uzyskuje dostęp serwer proxy aktywnych ułatwień dostępu. Może być jedną z następujących wartości

Wartość Znaczenie
OBJID_CLIENT Odwołuje się do obszaru klienta okna.

lParam
Udostępnia dodatkowe informacje zależne od komunikatów.

pResult
Wskaźnik do elementu LRESULT , który przechowuje kod wyniku.

Uwagi

Tworzy aktywny serwer proxy ułatwień dostępu dla określonego obiektu.

CWnd::CreateCaret

Tworzy nowy kształt karetki systemowej i przejmuje własność karetki.

void CreateCaret(CBitmap* pBitmap);

Parametry

pBitmap
Identyfikuje mapę bitową definiującą kształt karetki.

Uwagi

Mapa bitowa musi zostać wcześniej utworzona przez funkcję składową CBitmap::CreateBitmap , CreateDIBitmap funkcję systemu Windows lub funkcję składową CBitmap::LoadBitmap .

CreateCaret automatycznie niszczy poprzedni kształt karetki, jeśli istnieje, niezależnie od tego, które okno jest właścicielem karetki. Po utworzeniu karetki są początkowo ukryte. Aby pokazać daszek, ShowCaret należy wywołać funkcję składową.

Daszek systemowy jest zasobem udostępnionym. CWnd powinien utworzyć daszek tylko wtedy, gdy ma fokus wejściowy lub jest aktywny. Powinien zniszczyć karetki, zanim utraci fokus wejściowy lub staje się nieaktywny.

Przykład

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

Użyj tej funkcji składowej, aby utworzyć kontrolkę ActiveX, która będzie reprezentowana w programie MFC przez CWnd obiekt.

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
Ten ciąg może zawierać "krótką nazwę" OLE (ProgID) dla klasy. Na przykład "CIRC3.Circ3Ctrl.1". Nazwa musi być zgodna z tą samą nazwą zarejestrowaną przez kontrolkę. Alternatywnie ciąg może zawierać postać ciągu , zawartą CLSIDw nawiasach klamrowych. Na przykład "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". W obu przypadkach CreateControl konwertuje ciąg na odpowiadający mu identyfikator klasy.

pszWindowName
Wskaźnik do tekstu, który ma być wyświetlany w kontrolce. Ustawia wartość właściwości Caption lub Text kontrolki (jeśli istnieje). Jeśli NULLwłaściwość Caption lub Text kontrolki nie zostanie zmieniona.

dwStyle
Style systemu Windows. Dostępne style są wymienione w obszarze Uwagi.

rect
Określa rozmiar i położenie kontrolki. Może to być CRect obiekt lub RECT struktura.

ppt
POINT Wskazuje strukturę lub CPoint obiekt, który zawiera lewy górny róg kontrolki.

pSize
SIZE Wskazuje strukturę lub CSize obiekt zawierający rozmiar kontrolki

*pParentWnd*
Określa okno nadrzędne kontrolki. Nie może to być NULL.

nID
Określa identyfikator kontrolki.

pPersist
Wskaźnik zawierający CFile stan trwały dla kontrolki. Wartość domyślna to NULL, co wskazuje, że kontrolka inicjuje się bez przywracania stanu z dowolnego magazynu trwałego. Jeśli nie NULL, powinien to być wskaźnik do obiektu pochodnego CFile, który zawiera dane trwałe kontrolki, w postaci strumienia lub magazynu. Te dane mogły zostać zapisane w poprzedniej aktywacji klienta. Element CFile może zawierać inne dane, ale musi mieć ustawiony wskaźnik odczytu i zapisu na pierwszy bajt danych trwałych w momencie wywołania metody CreateControl.

bStorage
Wskazuje, czy dane w pPersist pliku powinny być interpretowane jako IStorage lub IStream dane. Jeśli dane w pPersist pliku są magazynem, bStorage powinny mieć wartość TRUE. Jeśli dane w obiekcie pPersist są strumieniem, bStorage powinny mieć wartość FALSE. Wartość domyślna to FALSE.

bstrLicKey
Opcjonalne dane klucza licencji. Te dane są potrzebne tylko do tworzenia kontrolek, które wymagają klucza licencji w czasie wykonywania. Jeśli kontrolka obsługuje licencjonowanie, musisz podać klucz licencji, aby tworzenie kontrolki powiodło się. Wartość domyślna to NULL.

clsid
Unikatowy identyfikator klasy kontrolki.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

CreateControl jest bezpośrednim analogiem CWnd::Create funkcji, która tworzy okno dla elementu CWnd. CreateControl tworzy kontrolkę ActiveX zamiast zwykłego okna.

Obsługiwane są tylko podzbiór flag systemu WindowsdwStyle:CreateControl

  • WS_VISIBLE Tworzy okno, które początkowo jest widoczne. Wymagane, jeśli kontrolka ma być widoczna natychmiast, na przykład zwykłe okna.

  • WS_DISABLED Tworzy okno, które jest początkowo wyłączone. Wyłączone okno nie może odbierać danych wejściowych od użytkownika. Można ustawić, jeśli kontrolka ma właściwość Enabled.

  • WS_BORDER Tworzy okno z obramowaniem cienkim. Można ustawić, jeśli kontrolka BorderStyle ma właściwość .

  • WS_GROUP Określa pierwszą kontrolkę grupy kontrolek. Użytkownik może zmienić fokus klawiatury z jednej kontrolki w grupie na następną, używając klawiszy kierunkowych. Wszystkie kontrolki zdefiniowane za pomocą WS_GROUP stylu po pierwszej kontrolce należą do tej samej grupy. Następna kontrolka ze stylem WS_GROUP kończy grupę i uruchamia następną grupę.

  • WS_TABSTOP Określa kontrolkę, która może odbierać fokus klawiatury, gdy użytkownik naciska klawisz TAB. Naciśnięcie klawisza TAB powoduje zmianę fokusu klawiatury na następną kontrolkę WS_TABSTOP stylu.

Przykład

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

Tworzy określone okno i dołącza go do CWnd obiektu.

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
Kombinacja bitowa (OR) rozszerzonych stylów okien; w przeciwnym razie NULL dla domyślnego stylu rozszerzonego okna.

lpszClassName
Wskaźnik do ciągu zakończonego wartością null, który zawiera nazwę zarejestrowanej klasy okien systemowych; lub nazwa wstępnie zdefiniowanej klasy okna systemowego.

lpszWindowName
Wskaźnik do ciągu zakończonego wartości null, który zawiera nazwę wyświetlaną okna; w przeciwnym razie NULL nie ma nazwy wyświetlanej okna.

dwStyle
Kombinacja bitowa (OR) stylów okna; w przeciwnym razie NULL dla domyślnego stylu okna.

x
Początkowa odległość pozioma okna z lewej strony ekranu lub okna nadrzędnego.

y
Początkowa pionowa odległość okna od góry ekranu lub okna nadrzędnego.

nWidth
Szerokość okna w pikselach.

nHeight
Wysokość okna w pikselach.

hwndParent
W przypadku okna podrzędnego dojście do okna nadrzędnego; w przeciwnym razie uchwyt okna właściciela, jeśli okno ma właściciela.

nIDorHMenu
W przypadku okna podrzędnego identyfikator okna; w przeciwnym razie identyfikator menu dla okna.

lpParam
Wskaźnik do danych użytkownika przekazywanych do CWnd::OnCreate metody w lpCreateParams polu.

rect
Rozmiar i lokalizacja okna względem ekranu lub okna nadrzędnego.

pParentWnd
W przypadku okna podrzędnego wskaźnik do okna nadrzędnego; w przeciwnym razie wskaż okno właściciela, jeśli okno ma właściciela.

nID
W przypadku okna podrzędnego identyfikator okna; w przeciwnym razie identyfikator menu dla okna.

Wartość zwracana

TRUE jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FALSE.

Uwagi

Ostrzeżenie

CWnd::PreCreateWindow teraz przypisuje hMenu element członkowski jego CREATESTRUCT parametru this do wskaźnika, jeśli menu to NULL , a styl zawiera WS_CHILD. Aby uzyskać odpowiednie funkcje, upewnij się, że kontrolka okna dialogowego ma identyfikator, który nie NULLjest .

Ta zmiana naprawia awarię w scenariuszach międzyoperacyjności zarządzanej/natywnej. Instrukcja TRACE w CWnd::Create alertach dla dewelopera problemu.

Domyślnym stylem okna rozszerzonego jest WS_EX_LEFT. Domyślnym stylem okna jest WS_OVERLAPPED.

AfxRegisterWndClass Użyj funkcji , aby zarejestrować klasy okien. Klasy okien zdefiniowanych przez użytkownika są dostępne w module, w którym są zarejestrowane.

Wymiary okien podrzędnych są względne względem lewego górnego rogu obszaru klienta okna nadrzędnego. Wymiary okien najwyższego poziomu są względne względem lewego górnego rogu ekranu.

Metoda jest wywoływana CWnd::OnCreate przed zwróceniem CreateEx metody i zanim okno stanie się widoczne.

Przykład

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

Tworzy szary prostokąt dla karetki systemowej i przejmuje własność karetki.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parametry

nWidth
Określa szerokość karetki (w jednostkach logicznych). Jeśli ten parametr ma wartość 0, szerokość jest ustawiona na szerokość obramowania zdefiniowanego przez system.

nHeight
Określa wysokość karetki (w jednostkach logicznych). Jeśli ten parametr ma wartość 0, wysokość jest ustawiona na wysokość obramowania zdefiniowanego przez system.

Uwagi

Kształt karetki może być linią lub blokiem.

Parametry nWidth i nHeight określają szerokość i wysokość karetki (w jednostkach logicznych); dokładna szerokość i wysokość (w pikselach) zależą od trybu mapowania.

Szerokość lub wysokość okna systemu można pobrać przez GetSystemMetrics funkcję systemu Windows z indeksami SM_CXBORDER i SM_CYBORDER . Użycie szerokości lub wysokości obramowania okna gwarantuje, że daszek będzie widoczny na wyświetlaczu o wysokiej rozdzielczości.

Funkcja CreateGrayCaret składowa automatycznie niszczy poprzedni kształt karetki, jeśli istnieje, niezależnie od tego, które okno jest właścicielem karetki. Po utworzeniu karetki są początkowo ukryte. Aby pokazać daszek, ShowCaret należy wywołać funkcję składową.

Daszek systemowy jest zasobem udostępnionym. CWnd powinien utworzyć daszek tylko wtedy, gdy ma fokus wejściowy lub jest aktywny. Powinien zniszczyć karetki, zanim utraci fokus wejściowy lub staje się nieaktywny.

Przykład

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

CWnd::CreateSolidCaret

Tworzy solidny prostokąt dla karetki systemu i przejmuje własność karetki.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parametry

nWidth
Określa szerokość karetki (w jednostkach logicznych). Jeśli ten parametr ma wartość 0, szerokość jest ustawiona na szerokość obramowania zdefiniowanego przez system.

nHeight
Określa wysokość karetki (w jednostkach logicznych). Jeśli ten parametr ma wartość 0, wysokość jest ustawiona na wysokość obramowania zdefiniowanego przez system.

Uwagi

Kształt karetki może być linią lub blokiem.

Parametry nWidth i nHeight określają szerokość i wysokość karetki (w jednostkach logicznych); dokładna szerokość i wysokość (w pikselach) zależą od trybu mapowania.

Szerokość lub wysokość okna systemu można pobrać przez GetSystemMetrics funkcję systemu Windows z indeksami SM_CXBORDER i SM_CYBORDER . Użycie szerokości lub wysokości obramowania okna gwarantuje, że daszek będzie widoczny na wyświetlaczu o wysokiej rozdzielczości.

Funkcja CreateSolidCaret składowa automatycznie niszczy poprzedni kształt karetki, jeśli istnieje, niezależnie od tego, które okno jest właścicielem karetki. Po utworzeniu karetki są początkowo ukryte. Aby pokazać daszek, ShowCaret należy wywołać funkcję składową.

Daszek systemowy jest zasobem udostępnionym. CWnd powinien utworzyć daszek tylko wtedy, gdy ma fokus wejściowy lub jest aktywny. Powinien zniszczyć karetki, zanim utraci fokus wejściowy lub staje się nieaktywny.

Przykład

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

CWnd::CWnd

CWnd Tworzy obiekt.

CWnd();

Uwagi

Okno systemu Windows nie zostanie utworzone i dołączone do momentu wywołania CreateEx funkcji lub Create składowej.

CWnd::Default

Wywołuje domyślną procedurę okna.

LRESULT Default();

Wartość zwracana

Zależy od wysłanej wiadomości.

Uwagi

Domyślna procedura okna zapewnia domyślne przetwarzanie dla każdego komunikatu okna, który aplikacja nie przetwarza. Ta funkcja składowa gwarantuje, że każdy komunikat jest przetwarzany.

Przykład

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

Wywołuje domyślną procedurę okna, która zapewnia domyślne przetwarzanie dla dowolnego komunikatu okna, że aplikacja nie przetwarza.

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

Parametry

message
Określa komunikat systemu Windows do przetworzenia.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

Wartość zwracana

Zależy od wysłanej wiadomości.

Uwagi

Ta funkcja składowa gwarantuje, że każdy komunikat jest przetwarzany. Powinien być wywoływany z tymi samymi parametrami co te odbierane przez procedurę okna.

CWnd::DeleteTempMap

Wywoływana automatycznie przez program obsługi CWinApp czasu bezczynności obiektu.

static void PASCAL DeleteTempMap();

Uwagi

Usuwa wszystkie obiekty tymczasowe CWnd utworzone przez funkcję składową FromHandle .

Przykład

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

CWnd::DestroyWindow

Niszczy okno systemu Windows dołączone do CWnd obiektu.

virtual BOOL DestroyWindow();

Wartość zwracana

Niezerowe, jeśli okno zostanie zniszczone; w przeciwnym razie 0.

Uwagi

Funkcja DestroyWindow składowa wysyła odpowiednie komunikaty do okna, aby je dezaktywować i usunąć fokus wejściowy. Niszczy również menu okna, opróżnia kolejkę aplikacji, niszczy zaległe czasomierze, usuwa własność Schowka i przerywa łańcuch Schowka podglądu, jeśli CWnd znajduje się w górnej części łańcucha przeglądarki. WM_DESTROY Wysyła i WM_NCDESTROY komunikaty do okna. Nie niszczy CWnd obiektu.

DestroyWindow jest posiadaczem miejsca do oczyszczania. Ponieważ DestroyWindow jest funkcją wirtualną, jest ona wyświetlana w dowolnej CWndklasie pochodnej w widoku klasy. Ale nawet jeśli zastąpisz tę funkcję w CWndklasie -pochodnej, DestroyWindow nie musi być wywoływana. Jeśli DestroyWindow nie jest wywoływany w kodzie MFC, musisz jawnie wywołać go we własnym kodzie, jeśli chcesz go wywołać.

Załóżmy na przykład, że przesłonięta DestroyWindow w klasie -pochodnej CView. Ponieważ kod źródłowy MFC nie wywołuje DestroyWindow żadnej z jego CFrameWndklas pochodnych, przesłonięta DestroyWindow nie zostanie wywołana, chyba że zostanie ona jawnie wywołana.

Jeśli okno jest elementem nadrzędnym dowolnego okna, te okna podrzędne są automatycznie niszczone, gdy okno nadrzędne zostanie zniszczone. Funkcja DestroyWindow składowa najpierw niszczy okna podrzędne, a następnie samo okno.

Funkcja DestroyWindow składowa niszczy również moderowane okna dialogowe utworzone przez CDialog::Createprogram .

CWnd Jeśli zniszczony element jest oknem podrzędnym i nie ma WS_EX_NOPARENTNOTIFY zestawu stylów, WM_PARENTNOTIFY komunikat jest wysyłany do elementu nadrzędnego.

Przykład

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

Odłącza uchwyt systemu Windows od CWnd obiektu i zwraca uchwyt.

HWND Detach();

Wartość zwracana

A HWND do obiektu systemu Windows.

Przykład

Zobacz przykład dla elementu CWnd::Attach.

CWnd::DlgDirList

Wypełnia pole listy list z listą plików lub katalogów.

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

Parametry

lpPathSpec
Wskazuje ciąg o wartości null, który zawiera ścieżkę lub nazwę pliku. DlgDirList modyfikuje ten ciąg, który powinien być wystarczająco długi, aby zawierał modyfikacje. Aby uzyskać więcej informacji, zobacz następującą sekcję "Uwagi".

nIDListBox
Określa identyfikator pola listy. Jeśli nIDListBox wartość to 0, przyjęto założenie, DlgDirList że żadne pole listy nie istnieje i nie próbuje go wypełnić.

nIDStaticPath
Określa identyfikator kontrolki statycznego tekstu używanej do wyświetlania bieżącego dysku i katalogu. Jeśli nIDStaticPath wartość to 0, zakłada, DlgDirList że nie ma takiej kontrolki tekstu.

nFileType
Określa atrybuty plików do wyświetlenia. Może to być dowolna kombinacja następujących wartości:

  • DDL_READWRITE Pliki danych do odczytu i zapisu bez dodatkowych atrybutów.

  • DDL_READONLY Pliki tylko do odczytu.

  • DDL_HIDDEN Ukryte pliki.

  • DDL_SYSTEM Pliki systemowe.

  • DDL_DIRECTORY Katalogów.

  • DDL_ARCHIVE Archiwum.

  • DDL_POSTMSGSLB_DIR Flaga. Jeśli flaga LB_DIR jest ustawiona, system Windows umieszcza komunikaty generowane w DlgDirList kolejce aplikacji. W przeciwnym razie są one wysyłane bezpośrednio do procedury okna dialogowego.

  • DDL_DRIVES Dyski. Jeśli flaga jest ustawiona, flaga DDL_DRIVESDDL_EXCLUSIVE jest ustawiana automatycznie. W związku z tym, aby utworzyć listę katalogów zawierającą dyski i pliki, należy wywołać DlgDirList dwa razy: raz z DDL_DRIVES ustawionym flagą i raz z flagami dla pozostałej części listy.

  • DDL_EXCLUSIVE Bit wyłączny. Jeśli bit wyłączny jest ustawiony, wyświetlane są tylko pliki określonego typu; w przeciwnym razie są wyświetlane zwykłe pliki i pliki określonego typu.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

DlgDirList wysyła LB_RESETCONTENT komunikaty i LB_DIR do pola listy. Wypełnia ono pole listy określone przez nIDListBox nazwy wszystkich plików, które pasują do ścieżki podanej przez lpPathSpec.

Parametr lpPathSpec ma następującą formę:

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

W tym przykładzie drive jest literą dysku, directory jest prawidłową nazwą katalogu i filename jest prawidłową nazwą pliku, która musi zawierać co najmniej jeden symbol wieloznaczny. Symbole wieloznaczne są znakiem zapytania (?), co oznacza dopasowanie dowolnego znaku i gwiazdką (*), co oznacza dopasowanie dowolnej liczby znaków.

Jeśli określisz ciąg o długości 0 dla lpPathSpec, lub jeśli określisz tylko nazwę katalogu, ale nie dołączysz żadnej specyfikacji pliku, ciąg zostanie zmieniony na "*.*".

Jeśli lpPathSpec zawiera dysk i/lub nazwę katalogu, bieżący dysk i katalog zostaną zmienione na wyznaczony dysk i katalog przed wypełnieniem pola listy. Kontrolka tekstu zidentyfikowana przez nIDStaticPath jest również aktualizowana przy użyciu nowej nazwy dysku i/lub katalogu.

Po wypełnieniu pola listy zostanie zaktualizowana przez lpPathSpec usunięcie dysku i/lub części katalogu ścieżki.

Przykład

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

Wypełnia pole listy pola kombi listą plików lub katalogów.

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

Parametry

lpPathSpec
Wskazuje ciąg o wartości null, który zawiera ścieżkę lub nazwę pliku. DlgDirListComboBox modyfikuje ten ciąg, więc te dane nie powinny być w postaci literału ciągu. Zobacz następującą sekcję "Uwagi".

nIDComboBox
Określa identyfikator pola kombi w oknie dialogowym. Jeśli nIDComboBox wartość to 0, zakłada, DlgDirListComboBox że żadne pole kombi nie istnieje i nie próbuje go wypełnić.

nIDStaticPath
Określa identyfikator kontrolki statycznego tekstu używanej do wyświetlania bieżącego dysku i katalogu. Jeśli nIDStaticPath wartość to 0, zakłada, DlgDirListComboBox że nie ma takiej kontrolki tekstu.

nFileType
Określa atrybuty pliku SYSTEMU DOS, które mają być wyświetlane. Może to być dowolna kombinacja następujących wartości:

  • DDL_READWRITE Pliki danych do odczytu i zapisu bez dodatkowych atrybutów.

  • DDL_READONLY Pliki tylko do odczytu.

  • DDL_HIDDEN Ukryte pliki.

  • DDL_SYSTEM Pliki systemowe.

  • DDL_DIRECTORY Katalogów.

  • DDL_ARCHIVE Archiwum.

  • DDL_POSTMSGSCB_DIR Flaga. Jeśli flaga CB_DIR jest ustawiona, system Windows umieszcza komunikaty generowane w DlgDirListComboBox kolejce aplikacji. W przeciwnym razie są one wysyłane bezpośrednio do procedury okna dialogowego.

  • DDL_DRIVES Dyski. Jeśli flaga jest ustawiona, flaga DDL_DRIVESDDL_EXCLUSIVE jest ustawiana automatycznie. W związku z tym, aby utworzyć listę katalogów zawierającą dyski i pliki, należy wywołać DlgDirListComboBox dwa razy: raz z DDL_DRIVES ustawionym flagą i raz z flagami dla pozostałej części listy.

  • DDL_EXCLUSIVE Bit wyłączny. Jeśli bit wyłączny jest ustawiony, wyświetlane są tylko pliki określonego typu; w przeciwnym razie są wyświetlane zwykłe pliki i pliki określonego typu.

Wartość zwracana

Określa wynik funkcji. Jest to nonzero, jeśli lista została wykonana, nawet pusta lista. Wartość zwracana 0 oznacza, że ciąg wejściowy nie zawiera prawidłowej ścieżki wyszukiwania.

Uwagi

DlgDirListComboBox wysyła CB_RESETCONTENT komunikaty i CB_DIR do pola kombi. Wypełnia pole listy pola kombi określonego przez nIDComboBox nazwy wszystkich plików pasujących do ścieżki podanej przez lpPathSpec.

Parametr lpPathSpec ma następującą formę:

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

W tym przykładzie drive jest literą dysku, directory jest prawidłową nazwą katalogu i filename jest prawidłową nazwą pliku, która musi zawierać co najmniej jeden symbol wieloznaczny. Symbole wieloznaczne to znak zapytania (?), co oznacza dopasowanie dowolnego znaku i gwiazdkę (*), co oznacza dopasowanie dowolnej liczby znaków.

Jeśli określisz ciąg o zerowej długości dla lpPathSpec, będzie używany bieżący katalog i lpPathSpec nie zostanie zmodyfikowany. Jeśli określisz tylko nazwę katalogu, ale nie dołączysz żadnej specyfikacji pliku, ciąg zostanie zmieniony na "*".

Jeśli lpPathSpec zawiera dysk i/lub nazwę katalogu, bieżący dysk i katalog zostaną zmienione na wyznaczony dysk i katalog przed wypełnieniem pola listy. Kontrolka tekstu zidentyfikowana przez nIDStaticPath jest również aktualizowana przy użyciu nowej nazwy dysku i/lub katalogu.

Po wypełnieniu pola listy pola kombi zostanie zaktualizowany przez lpPathSpec usunięcie dysku i/lub części katalogu ścieżki.

Przykład

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

Pobiera bieżące zaznaczenie z pola listy.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parametry

lpString
Wskazuje bufor, który ma odbierać bieżące zaznaczenie w polu listy.

nIDListBox
Określa identyfikator liczby całkowitej pola listy w oknie dialogowym.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Przyjęto założenie, że pole listy zostało wypełnione przez funkcję składową DlgDirList i że zaznaczenie jest literą dysku, plikiem lub nazwą katalogu.

Funkcja DlgDirSelect składowa kopiuje zaznaczenie do buforu podanego przez lpString. Jeśli nie ma zaznaczenia, lpString nie zmienia się.

DlgDirSelect wysyła LB_GETCURSEL komunikaty i LB_GETTEXT do pola listy.

Nie zezwala na zwracanie więcej niż jednej nazwy pliku z pola listy. Pole listy nie może być polem listy wielokrotnego wyboru.

CWnd::DlgDirSelectComboBox

Pobiera bieżące zaznaczenie z pola listy pola kombi.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parametry

lpString
Wskazuje bufor, który ma odbierać wybraną ścieżkę.

nIDComboBox
Określa identyfikator liczby całkowitej pola kombi w oknie dialogowym.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Przyjęto założenie, że pole listy zostało wypełnione przez funkcję składową DlgDirListComboBox i że zaznaczenie jest literą dysku, plikiem lub nazwą katalogu.

Funkcja DlgDirSelectComboBox składowa kopiuje zaznaczenie do określonego buforu. Jeśli nie ma zaznaczenia, zawartość buforu nie zostanie zmieniona.

DlgDirSelectComboBox wysyła CB_GETCURSEL komunikaty i CB_GETLBTEXT do pola kombi.

Nie zezwala na zwracanie więcej niż jednej nazwy pliku z pola kombi.

CWnd::DoDataExchange

Wywoływana przez platformę w celu wymiany i weryfikowania danych okna dialogowego.

virtual void DoDataExchange(CDataExchange* pDX);

Parametry

pDX
Wskaźnik do CDataExchange obiektu.

Uwagi

Nigdy nie wywołaj tej funkcji bezpośrednio. Jest wywoływana przez funkcję składową UpdateData . Wywołaj metodę UpdateData inicjowania kontrolek okna dialogowego lub pobierania danych z okna dialogowego.

W przypadku utworzenia klasy okna dialogowego specyficznego dla aplikacji z CDialogprogramu należy zastąpić tę funkcję składową, jeśli chcesz użyć automatycznej wymiany i walidacji danych platformy. Kreator dodawania zmiennej napisze przesłoniętą wersję tej funkcji składowej, która zawiera żądaną "mapę danych" wymiany danych okna dialogowego (DDX) i weryfikacji (Przeglądarka danych diagnostycznych) wywołania funkcji globalnych.

Aby automatycznie wygenerować przesłoniętą wersję tej funkcji składowej, najpierw utwórz zasób okna dialogowego za pomocą edytora okien dialogowych, a następnie utwórz klasę okna dialogowego specyficznego dla aplikacji. Następnie użyj kreatora Dodaj zmienną, aby skojarzyć zmienne, dane i zakresy walidacji z różnymi kontrolkami w nowym oknie dialogowym. Następnie kreator zapisuje przesłoniętą DoDataExchangemapę danych, która zawiera mapę danych. Poniżej przedstawiono przykładowy blok kodu DDX/Przeglądarka danych diagnostycznych wygenerowany przez kreatora Dodawania zmiennej:

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

Funkcja DoDataExchange przesłoniętego elementu członkowskiego musi poprzedzać instrukcje makr w pliku źródłowym.

Aby uzyskać więcej informacji na temat wymiany i walidacji danych okna dialogowego, zobacz Wyświetlanie i manipulowanie danymi w formularzu i oknie dialogowym Wymiana danych i walidacja. Opis makr DDX_ i Przeglądarka danych diagnostycznych_ generowanych przez Kreatora dodawania zmiennych można znaleźć w uwagach technicznych 26.

CWnd::DragAcceptFiles

Wywołaj tę funkcję składową z poziomu okna przy użyciu CWnd wskaźnika w funkcji aplikacjiCWinApp::InitInstance, aby wskazać, że okno akceptuje porzucone pliki z Menedżera plików systemu Windows lub Eksplorator plików.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parametry

BAccept
Flaga wskazująca, czy przeciągane pliki są akceptowane.

Uwagi

Tylko okno, które wywołuje DragAcceptFiles parametr z ustawionym parametrem bAcceptTRUE , zidentyfikowało się jako w stanie przetworzyć komunikat systemu WM_DROPFILESWindows . Na przykład w aplikacji MDI, jeśli CMDIFrameWnd wskaźnik okna jest używany w wywołaniu DragAcceptFiles funkcji, tylko CMDIFrameWnd okno pobiera WM_DROPFILES komunikat. Ta wiadomość nie jest wysyłana do wszystkich otwartych CMDIChildWnd okien. CMDIChildWnd Aby okno odbierało ten komunikat, należy wywołać DragAcceptFilesCMDIChildWnd wskaźnik okna.

Aby zaprzestać odbierania przeciąganych plików, wywołaj funkcję składową z ustawioną wartością bAcceptFALSE.

CWnd::DragDetect

Przechwytuje mysz i śledzi jego ruch, aż użytkownik zwolni lewy przycisk, naciśnie klawisz ESC lub przesuwa mysz poza prostokąt przeciągania wokół określonego punktu.

BOOL DragDetect(POINT pt) const;

Parametry

pt
Początkowa pozycja myszy na współrzędnych ekranu. Funkcja określa współrzędne prostokąta przeciągania przy użyciu tego punktu.

Wartość zwracana

Jeśli użytkownik przesunął mysz poza prostokąt przeciągania przy przytrzymując lewy przycisk, wartość zwracana jest niezerowa.

Jeśli użytkownik nie przesunął myszy poza prostokąt przeciągania przy przytrzymując lewy przycisk, zwracana wartość to zero.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji DragDetect, zgodnie z opisem w zestawie Windows SDK.

CWnd::DrawAnimatedRects

Rysuje prostokąt z ramką z drutu i animuje go, aby wskazać otwarcie ikony lub zminimalizowanie lub maksymalizację okna.

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

Parametry

idAni
Określa typ animacji. Jeśli określisz IDANI_CAPTIONwartość , okno podpis będzie animować z pozycji określonej przez lprcFrom do pozycji określonej przez lprcTo. Efekt jest podobny do zminimalizowania lub maksymalizacji okna.

lprcFrom
Wskaźnik do struktury określającej lokalizację RECT i rozmiar ikony lub zminimalizowane okno.

lprcTo
Wskaźnik do struktury określającej lokalizację RECT i rozmiar przywróconego okna

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji DrawAnimatedRects, zgodnie z opisem w zestawie Windows SDK.

CWnd::DrawCaption

Rysuje podpis okna.

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

Parametry

pDC
Wskaźnik do kontekstu urządzenia. Funkcja rysuje okno podpis do tego kontekstu urządzenia.

lprc
Wskaźnik do RECT struktury, która określa prostokąt ograniczenia dla okna podpis.

uFlags
Określa opcje rysunku. Aby uzyskać pełną listę wartości, zobacz DrawCaption.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji DrawCaption, zgodnie z opisem w zestawie Windows SDK.

CWnd::DrawMenuBar

Ponownie rysuje pasek menu.

void DrawMenuBar();

Uwagi

Jeśli pasek menu zostanie zmieniony po utworzeniu okna przez system Windows, wywołaj tę funkcję, aby narysować zmieniony pasek menu.

Przykład

Zobacz przykład dla elementu CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Włącza funkcje aktywnego ułatwień dostępu zdefiniowane przez użytkownika.

void EnableActiveAccessibility();

Uwagi

Domyślna obsługa aktywnych ułatwień dostępu MFC jest wystarczająca dla standardowych okien i kontrolek, w tym kontrolek ActiveX; jeśli CWndjednak klasa -pochodne zawiera niewindowed elementów interfejsu użytkownika, MFC nie ma możliwości ich znajomości. W takim przypadku należy zastąpić odpowiednie aktywne funkcje składowe ułatwień dostępu w klasie i należy wywołać EnableActiveAccessibility metodę w konstruktorze klasy.

CWnd::EnableDynamicLayout

Włącza lub wyłącza menedżera układu dynamicznego. Po włączeniu dynamicznego układu położenie i rozmiar okien podrzędnych mogą być dostosowywane dynamicznie, gdy użytkownik zmienia rozmiar okna.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parametry

bEnable
TRUE aby włączyć układ dynamiczny; FALSE aby wyłączyć układ dynamiczny.

Uwagi

Jeśli chcesz włączyć układ dynamiczny, musisz zrobić więcej niż tylko wywołać tę metodę. Należy również podać informacje o układzie dynamicznym, w jaki sposób kontrolki w oknie reagują na zmiany rozmiaru. Te informacje można określić w edytorze zasobów lub programowo dla każdej kontrolki. Zobacz Układ dynamiczny.

CWnd::EnableD2DSupport

Włącza lub wyłącza obsługę D2D okna. Wywołaj tę metodę przed zainicjowanym głównym oknem.

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

Parametry

bEnable
Określa, czy włączyć, czy wyłączyć obsługę D2D.

bUseDCRenderTarget
Gatunek, czy używać elementu docelowego CDCRenderTargetrenderowania kontekstu urządzenia (DC), . CHwndRenderTarget Jeśli FALSEparametr jest używany.

CWnd::EnableScrollBar

Włącza lub wyłącza jedną lub obie strzałki paska przewijania.

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

Parametry

nSBFlags
Określa typ paska przewijania. Może mieć jedną z następujących wartości:

  • SB_BOTH Włącza lub wyłącza strzałki poziomych i pionowych pasków przewijania skojarzonych z oknem.

  • SB_HORZ Włącza lub wyłącza strzałki poziomego paska przewijania skojarzonego z oknem.

  • SB_VERT Włącza lub wyłącza strzałki pionowego paska przewijania skojarzonego z oknem.

nArrowFlags
Określa, czy strzałki paska przewijania są włączone, czy wyłączone i które strzałki są włączone lub wyłączone. Może mieć jedną z następujących wartości:

  • ESB_ENABLE_BOTH Włącza obie strzałki paska przewijania (ustawienie domyślne).

  • ESB_DISABLE_LTUP Wyłącza strzałkę w lewo poziomego paska przewijania lub strzałkę w górę pionowego paska przewijania.

  • ESB_DISABLE_RTDN Wyłącza strzałkę w prawo poziomego paska przewijania lub strzałkę w dół pionowego paska przewijania.

  • ESB_DISABLE_BOTH Wyłącza obie strzałki paska przewijania.

Wartość zwracana

Niezerowe, jeśli strzałki są włączone lub wyłączone zgodnie z określoną wartością. W przeciwnym razie wartość wynosi 0, co oznacza, że strzałki są już w żądanym stanie lub że wystąpił błąd.

CWnd::EnableScrollBarCtrl

Włącza lub wyłącza pasek przewijania dla tego okna.

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

Parametry

nBar
Identyfikator paska przewijania.

bEnable
Określa, czy pasek przewijania ma być włączony, czy wyłączony.

Uwagi

Jeśli w oknie znajduje się kontrolka równorzędnego paska przewijania, jest używany pasek przewijania; w przeciwnym razie jest używany własny pasek przewijania okna.

CWnd::EnableToolTips

Włącza porady dotyczące narzędzi dla danego okna.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parametry

bEnable
Określa, czy kontrolka porad narzędzia jest włączona, czy wyłączona. TRUE włącza kontrolkę; FALSE wyłącza kontrolkę.

Wartość zwracana

TRUE jeśli są włączone porady dotyczące narzędzi; w przeciwnym razie FALSE.

Uwagi

Zastąpić OnToolHitTestTOOLINFO , aby udostępnić strukturę lub struktury dla okna.

Uwaga

Niektóre okna, takie jak CToolBar, zapewniają wbudowaną implementację programu OnToolHitTest.

Aby uzyskać więcej informacji na temat tej struktury, zobacz TOOLINFO w zestawie Windows SDK.

Wystarczy wywołać polecenie EnableToolTips , aby wyświetlić wskazówki dotyczące narzędzi dla kontrolek podrzędnych, chyba że okno nadrzędne pochodzi z CFrameWndelementu . Jest to spowodowane tym, że CFrameWnd udostępnia domyślną procedurę TTN_NEEDTEXT obsługi dla powiadomienia. Jeśli okno nadrzędne nie pochodzi z CFrameWndklasy , oznacza to, że jeśli jest to okno dialogowe lub widok formularza, wskazówki dotyczące narzędzi dla kontrolek podrzędnych nie będą wyświetlane poprawnie, chyba że podasz procedurę obsługi TTN_NEEDTEXT powiadomienia poradą narzędzia. Zobacz Wskazówki narzędzia.

Domyślne porady dotyczące narzędzi podane dla okien nie EnableToolTips mają skojarzonego z nimi tekstu. Aby pobrać tekst porady narzędzia do wyświetlenia, TTN_NEEDTEXT powiadomienie jest wysyłane do okna nadrzędnego kontrolki porad narzędzia tuż przed wyświetleniem okna porad narzędzia. Jeśli nie ma procedury obsługi dla tego komunikatu w celu przypisania pewnej wartości do pszText elementu członkowskiego TOOLTIPTEXT struktury, nie będzie wyświetlany tekst dla porady narzędzia.

Przykład

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

Włącza lub wyłącza etykietki narzędzi śledzenia.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parametry

bEnable
Określa, czy wskazówki dotyczące narzędzi śledzenia są włączone, czy wyłączone. Jeśli ten parametr to TRUE, wskazówki dotyczące narzędzia śledzenia zostaną włączone. Jeśli ten parametr to FALSE, wskazówki dotyczące narzędzia śledzenia zostaną wyłączone.

Wartość zwracana

Wskazuje stan przed wywołaniem funkcji składowej EnableWindow . Wartość zwracana jest niezerowa, jeśli okno zostało wcześniej wyłączone. Zwracana wartość to 0, jeśli okno zostało wcześniej włączone lub wystąpił błąd.

Uwagi

Wskazówki dotyczące narzędzi do śledzenia to okna porad narzędzi, które można dynamicznie ustawić na ekranie. Szybko aktualizując położenie, okno porad narzędzia wydaje się bezproblemowo przesuwać się lub "śledzić". Ta funkcja może być przydatna, jeśli potrzebujesz tekstu porad narzędzia, aby podążać za położeniem wskaźnika podczas jego przesuwania.

CWnd::EnableWindow

Włącza lub wyłącza wprowadzanie myszy i klawiatury.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parametry

bEnable
Określa, czy dane okno ma być włączone, czy wyłączone. Jeśli ten parametr to TRUE, zostanie włączone okno. Jeśli ten parametr to FALSE, okno zostanie wyłączone.

Wartość zwracana

Wskazuje stan przed wywołaniem funkcji składowej EnableWindow . Wartość zwracana jest niezerowa, jeśli okno zostało wcześniej wyłączone. Zwracana wartość to 0, jeśli okno zostało wcześniej włączone lub wystąpił błąd.

Uwagi

Gdy dane wejściowe są wyłączone, dane wejściowe, takie jak kliknięcia myszy i naciśnięcia klawiszy, są ignorowane. Po włączeniu danych wejściowych okno przetwarza wszystkie dane wejściowe.

Jeśli włączony stan zmieni się, WM_ENABLE komunikat zostanie wysłany przed zwróceniem tej funkcji.

Jeśli są wyłączone, wszystkie okna podrzędne są niejawnie wyłączone, chociaż nie są wysyłane WM_ENABLE komunikaty.

Aby można było aktywować okno, należy włączyć okno. Jeśli na przykład aplikacja wyświetla okno dialogowe bez moderowania i wyłączyła okno główne, przed zniszczeniem okna dialogowego należy włączyć okno główne. W przeciwnym razie kolejne okno uzyska fokus danych wejściowych i zostanie aktywowane. Jeśli okno podrzędne jest wyłączone, jest ignorowane, gdy system Windows próbuje określić, które okno powinno otrzymywać komunikaty myszy.

Domyślnie okno jest włączone po jego utworzeniu. Aplikacja może określić WS_DISABLED styl w Create funkcji lub CreateEx elementu członkowskiego, aby utworzyć okno, które jest początkowo wyłączone. Po utworzeniu okna aplikacja może również użyć funkcji składowej EnableWindow , aby włączyć lub wyłączyć okno.

Aplikacja może używać tej funkcji do włączania lub wyłączania kontrolki w oknie dialogowym. Wyłączona kontrolka nie może odbierać fokusu danych wejściowych ani nie może uzyskać do niej dostępu użytkownik.

Przykład

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

Przerywa wywołanie metody RunModalLoop.

virtual void EndModalLoop(int nResult);

Parametry

nResult
Zawiera wartość, która ma zostać zwrócona do obiektu wywołującego .RunModalLoop

Uwagi

Parametr nResult jest propagowany do wartości zwracanej z RunModalLoop.

CWnd::EndModalState

Wywołaj tę funkcję składową, aby zmienić okno ramki z modalnego na bez moderowania.

virtual void EndModalState();

CWnd::EndPaint

Oznacza koniec malowania w danym oknie.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parametry

lpPaint
Wskazuje strukturę zawierającą PAINTSTRUCT informacje o obrazie pobierane przez funkcję składową BeginPaint .

Uwagi

Funkcja składowa jest wymagana EndPaint dla każdego wywołania funkcji składowej, ale dopiero po zakończeniu BeginPaint malowania.

Jeśli daszek został ukryty przez funkcję składową BeginPaint , EndPaint przywraca karetki na ekranie.

Przykład

Zobacz przykład dla elementu CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Inicjuje zasób okna dialogowego.

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

Parametry

lpszResourceName
Wskaźnik do ciągu zakończonego wartości null określający nazwę zasobu.

lpResource
Wskaźnik do zasobu.

Wartość zwracana

TRUE jeśli jest wykonywany zasób okna dialogowego; w przeciwnym razie FALSE.

Uwagi

ExecuteDlgInit użyje zasobów powiązanych z modułem wykonywania lub zasobów z innych źródeł. Aby to osiągnąć, ExecuteDlgInit znajduje dojście zasobu przez wywołanie metody AfxFindResourceHandle. Jeśli aplikacja MFC nie używa udostępnionej biblioteki DLL (MFCx0[U][D].DLL), AfxFindResourceHandle wywołuje metodę AfxGetResourceHandle, która zwraca bieżący uchwyt zasobu dla pliku wykonywalnego. Jeśli aplikacja MFC korzystająca z biblioteki MFCx0[U][D].DLL, AfxFindResourceHandle przechodzi CDynLinkLibrary przez listę obiektów bibliotek DLL udostępnionych i bibliotek DLL rozszerzeń MFC, które szukają poprawnego uchwytu zasobów.

CWnd::FilterToolTipMessage

Wywoływana przez strukturę do wyświetlania komunikatów porad dotyczących narzędzi.

void FilterToolTipMessage(MSG* pMsg);

Parametry

pMsg
Wskaźnik do komunikatu porada narzędzia.

Uwagi

W większości aplikacji MFC ta metoda jest wywoływana przez platformę z PreTranslateMessage i EnableToolTipsi i i nie trzeba jej nazwać samodzielnie.

Jednak w niektórych aplikacjach, na przykład niektórych kontrolek ActiveX, te metody mogą nie być wywoływane przez platformę i trzeba wywołać FilterToolTipMessage samodzielnie. Aby uzyskać więcej informacji, zobacz Metody tworzenia narzędzia Wskazówki.

CWnd::FindWindow

Zwraca najwyższy poziom CWnd , którego klasa okien jest podana przez lpszClassName element i którego nazwa okna lub tytuł jest podawana przez lpszWindowNameelement .

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

Parametry

lpszClassName
Wskazuje ciąg o wartości null, który określa nazwę klasy okna ( WNDCLASS strukturę). Jeśli lpClassName ma wartość NULL, wszystkie nazwy klas są zgodne.

lpszWindowName
Wskazuje ciąg zakończony o wartości null, który określa nazwę okna (tytuł okna). Jeśli lpWindowName ma wartość NULL, wszystkie nazwy okien są zgodne.

Wartość zwracana

Identyfikuje okno z określoną nazwą klasy i nazwą okna. Nie NULL można odnaleźć takiego okna.

* CWndmoże być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Ta funkcja nie wyszukuje okien podrzędnych.

Przykład

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

Pobiera obiekt okna, którego nazwa klasy i nazwa okna są zgodne z określonymi ciągami.

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

Parametry

hwndParent
Dojście do okna nadrzędnego, którego okna podrzędne mają być przeszukiwane.

hwndChildAfter
Dojście do okna podrzędnego. Wyszukiwanie rozpoczyna się od następnego okna podrzędnego w kolejności Z. Okno podrzędne musi być bezpośrednim oknem hwndParentpodrzędnym elementu , a nie tylko oknem potomnym.

lpszClass
Wskaźnik do ciągu zakończonego wartością null, który określa nazwę klasy lub atom klasy utworzony przez poprzednie wywołanie metody RegisterClass lub RegisterClassEx.

lpszWindow
Wskaźnik do ciągu zakończonego wartością null, który określa nazwę okna (tytuł okna). Jeśli ten parametr to NULL, wszystkie nazwy okien są zgodne.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest wskaźnikiem do obiektu okna o określonej klasie i nazwach okien. Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to NULL.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji FindWindowEx, zgodnie z opisem w zestawie Windows SDK.

CWnd::FlashWindow

Miga dane okno raz.

BOOL FlashWindow(BOOL bInvert);

Parametry

bInvert
Określa, czy CWnd element ma być migany, czy zwracany do pierwotnego stanu. Element CWnd jest migany z jednego stanu do drugiego, jeśli bInvert ma wartość TRUE. Jeśli bInvert wartość to FALSE, okno zostanie zwrócone do pierwotnego stanu (aktywne lub nieaktywne).

Wartość zwracana

Niezero, jeśli okno było aktywne przed wywołaniem funkcji składowej FlashWindow ; w przeciwnym razie 0.

Uwagi

W przypadku kolejnych migania należy utworzyć czasomierz systemowy i wielokrotnie wywoływać metodę FlashWindow. Miganie CWnd oznacza zmianę wyglądu paska tytułu tak, jakby CWnd zmieniały się z nieaktywnego na aktywny lub odwrotnie. (Nieaktywny pasek tytułu zmienia się na aktywny pasek tytułu; aktywny pasek tytułu zmienia się na nieaktywny pasek tytułu).

Zazwyczaj okno jest migane, aby poinformować użytkownika, że wymaga uwagi, ale obecnie nie ma fokusu wejściowego.

bInvert Parametr powinien być FALSE tylko wtedy, gdy okno uzyskuje fokus wejściowy i nie będzie już migać; powinno to być TRUE w kolejnych wywołaniach podczas oczekiwania na uzyskanie fokusu wejściowego.

Ta funkcja zawsze zwraca wartość niezerową dla zminimalizowanych okien. Jeśli okno zostanie zminimalizowane, FlashWindow będzie migać ikonę okna; bInvert jest ignorowany dla zminimalizowanych okien.

Przykład

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

Miga dane okno.

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

Parametry

*dwFlags*
Określa stan flash. Aby uzyskać pełną listę wartości, zobacz FLASHWINFO strukturę.

uCount
Określa liczbę migać okno.

dwTimeout
Określa szybkość w milisekundach, w których zostanie migane okno. Jeśli dwTimeout ma wartość zero, funkcja używa domyślnej szybkości migania kursora.

Wartość zwracana

Wartość zwracana określa stan okna przed wywołaniem FlashWindowEx funkcji. Jeśli okno podpis zostało narysowane jako aktywne przed wywołaniem, zwracana wartość jest niezerowa. W przeciwnym razie zwracana wartość to zero.

Uwagi

Ta metoda emuluje funkcjonalność funkcji FlashWindowEx, zgodnie z opisem w zestawie Windows SDK.

CWnd::FromHandle

Zwraca wskaźnik do CWnd obiektu, gdy dany uchwyt do okna. CWnd Jeśli obiekt nie jest dołączony do uchwytu, zostanie utworzony i dołączony obiekt tymczasowyCWnd.

static CWnd* PASCAL FromHandle(HWND hWnd);

Parametry

hWnd
An HWND okna systemu Windows.

Wartość zwracana

Zwraca wskaźnik do CWnd obiektu, gdy dany uchwyt do okna. CWnd Jeśli obiekt nie jest dołączony do uchwytu, zostanie utworzony i dołączony obiekt tymczasowyCWnd.

Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

CWnd::FromHandlePermanent

Zwraca wskaźnik do CWnd obiektu, gdy dany uchwyt do okna.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parametry

hWnd
An HWND okna systemu Windows.

Wartość zwracana

Wskaźnik do CWnd obiektu.

Uwagi

CWnd Jeśli obiekt nie jest dołączony do uchwytu, NULL zostanie zwrócony.

Ta funkcja, w przeciwieństwie do FromHandle, nie tworzy obiektów tymczasowych.

CWnd::get_accChild

Wywoływana przez strukturę w celu pobrania adresu interfejsu IDispatch dla określonego elementu podrzędnego.

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

Parametry

varChild
Identyfikuje element podrzędny, którego IDispatch interfejs ma zostać pobrany.

ppdispChild
Odbiera adres interfejsu obiektu podrzędnego IDispatch .

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accChild zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accChild w zestawie Windows SDK.

CWnd::get_accChildCount

Wywoływana przez strukturę w celu pobrania liczby elementów podrzędnych należących do tego obiektu.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parametry

pcountChildren
Odbiera liczbę elementów podrzędnych.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accChildCount zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC). Wywołaj wersję klasy bazowej, a następnie dodaj niewindowe elementy podrzędne.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accChildCount w zestawie Windows SDK.

CWnd::get_accDefaultAction

Wywoływana przez platformę w celu pobrania ciągu opisującego domyślną akcję obiektu.

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

Parametry

varChild
Określa, czy domyślną akcją do pobrania jest akcja obiektu, czy jeden z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszDefaultAction
BSTR Adres obiektu, który otrzymuje zlokalizowany ciąg opisujący domyślną akcję dla określonego obiektu lub NULL jeśli ten obiekt nie ma akcji domyślnej.

Wartość zwracana

Zwraca S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w funkcji IAccessible::get_accDefaultAction w zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby opisać domyślną akcję obiektu.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accDefaultAction w zestawie Windows SDK.

CWnd::get_accDescription

Wywoływana przez platformę w celu pobrania ciągu opisującego wygląd wizualizacji określonego obiektu.

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

Parametry

varChild
Określa, czy opis, który ma zostać pobrany, to obiekt, czy jeden z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszDescription
BSTR Adres obiektu, który odbiera zlokalizowany ciąg opisujący określony obiekt lub NULL jeśli nie jest dostępny opis dla tego obiektu.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accDescription zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby opisać obiekt. Wywołaj wersję klasy bazowej i dodaj opis.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accDescription w zestawie Windows SDK.

CWnd::get_accFocus

Wywoływana przez strukturę w celu pobrania obiektu, który ma fokus klawiatury.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Parametry

pvarChild
Odbiera informacje o obiekcie, który ma fokus. Zobacz pvarID w IAccessible::get_accFocus zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accFocus zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accFocus w zestawie Windows SDK.

CWnd::get_accHelp

Wywoływana przez platformę w celu pobrania ciągu właściwości Pomocy obiektu.

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

Parametry

varChild
Określa, czy informacje pomocy, które mają zostać pobrane, to obiekt, czy jeden z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszHelp
BSTR Adres obiektu, który odbiera zlokalizowany ciąg zawierający informacje pomocy dla określonego obiektu lub NULL jeśli żadne informacje pomocy nie są dostępne.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accHelp zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby udostępnić tekst pomocy dla obiektu.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accHelp w zestawie Windows SDK.

CWnd::get_accHelpTopic

Wywoływana przez platformę w celu pobrania pełnej ścieżki pliku WinHelp skojarzonego z określonym obiektem i identyfikatorem odpowiedniego tematu w tym pliku.

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

Parametry

pszHelpFile
Adres obiektu BSTR , który otrzymuje pełną ścieżkę WinHelp pliku skojarzonego z określonym obiektem, jeśli istnieje.

varChild
Określa, czy temat Pomocy, który ma zostać pobrany, jest obiektem, czy jednym z elementów podrzędnych obiektu. Ten parametr może mieć wartość CHILDID_SELF (aby uzyskać temat Pomocy dla obiektu) lub identyfikator podrzędny (aby uzyskać temat Pomocy dla jednego z elementów podrzędnych obiektu).

pidTopic
Identyfikuje temat pliku Pomocy skojarzony z określonym obiektem. Zobacz pidTopic w IAccessible::get_accHelpTopic zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accHelpTopic zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby udostępnić informacje o obiekcie.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accHelpTopic w zestawie Windows SDK.

CWnd::get_accKeyboardShortcut

Wywoływana przez strukturę w celu pobrania klawisza skrótu określonego obiektu lub klucza dostępu.

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

Parametry

varChild
Określa, czy skrót klawiaturowy do pobrania jest skrótem obiektu, czy jednym z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszKeyboardShortcut
BSTR Adres obiektu, który otrzymuje zlokalizowany ciąg identyfikujący skrót klawiaturowy lub NULL jeśli żaden skrót klawiaturowy nie jest skojarzony z określonym obiektem.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accKeyboardShortcut zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi MFC Active Accessibility .

Zastąp tę funkcję w CWndklasie -pochodnej, aby zidentyfikować skrót klawiaturowy dla obiektu.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accKeyboardShortcut w zestawie Windows SDK.

CWnd::get_accName

Wywoływana przez strukturę w celu pobrania nazwy określonego obiektu.

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

Parametry

varChild
Określa, czy nazwa do pobrania jest nazwą obiektu, czy jednym z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszName
BSTR Adres obiektu, który odbiera ciąg zawierający nazwę określonego obiektu.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accName zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w CWndklasie -pochodnej, aby zwrócić nazwę obiektu.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accName w zestawie Windows SDK.

CWnd::get_accParent

Wywoływana przez strukturę w celu pobrania IDispatch interfejsu obiektu nadrzędnego obiektu.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Parametry

ppdispParent
Odbiera adres interfejsu obiektu nadrzędnego IDispatch . Zmienna jest ustawiona na NULL , jeśli żaden element nadrzędny nie istnieje lub jeśli element podrzędny nie może uzyskać dostępu do jego elementu nadrzędnego.

Wartość zwracana

Zwraca S_OK wartość w przypadku powodzenia COM — kod błędu w przypadku niepowodzenia. Zobacz Zwracane wartości w IAccessible::get_accParent zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

W większości przypadków nie trzeba zastępować tej funkcji.

Aby uzyskać więcej informacji, zobacz IAccessible::get_accParent w zestawie Windows SDK.

CWnd::get_accRole

Wywoływana przez platformę w celu pobrania informacji opisujących rolę określonego obiektu.

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

Parametry

varChild
Określa, czy informacje o roli, które mają zostać pobrane, to informacje o obiekcie, czy jednym z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pvarRole
Odbiera informacje o roli. Zobacz pvarRole w IAccessible::get_accRole zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accRole zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accRole w zestawie Windows SDK.

CWnd::get_accSelection

Wywoływana przez strukturę w celu pobrania wybranych elementów podrzędnych tego obiektu.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parametry

pvarChildren
Odbiera informacje o wybranych elementach podrzędnych. Zobacz pvarChildren w IAccessible::get_accSelection zestawie Windows SDK.

Wartość zwracana

Zwraca S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accSelection zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accSelection w zestawie Windows SDK.

CWnd::get_accState

Wywoływana przez strukturę w celu pobrania bieżącego stanu określonego obiektu.

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

Parametry

varChild
Określa, czy informacje o stanie, które mają zostać pobrane, to informacje o obiekcie, czy jednym z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pvarState
Odbiera informacje o stanie obiektu. Zobacz pvarState w IAccessible::get_accState zestawie Windows SDK.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accState zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accState w zestawie Windows SDK.

CWnd::get_accValue

Wywoływana przez strukturę w celu pobrania wartości określonego obiektu.

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

Parametry

varChild
Określa, czy informacje o wartości, które mają zostać pobrane, to informacje o obiekcie, czy jednym z elementów podrzędnych obiektu. Ten parametr może być CHILDID_SELF (aby uzyskać informacje o obiekcie) lub identyfikator podrzędny (w celu uzyskania informacji o elemecie podrzędnym obiektu).

pszValue
BSTR Adres obiektu, który odbiera zlokalizowany ciąg zawierający bieżącą wartość obiektu.

Wartość zwracana

Zwraca wartość S_OK powodzenia — kod błędu COM w przypadku błędu. Zobacz Zwracane wartości w IAccessible::get_accValue zestawie Windows SDK.

Uwagi

Ta funkcja jest częścią obsługi aktywnych ułatwień dostępu MFC.

Zastąp tę funkcję w klasie -pochodnej, CWndjeśli masz niewindowe elementy interfejsu użytkownika (inne niż kontrolki ActiveX bez okien, które obsługuje MFC).

Aby uzyskać więcej informacji, zobacz IAccessible::get_accValue w zestawie Windows SDK.

CWnd::GetActiveWindow

Pobiera wskaźnik do aktywnego okna.

static CWnd* PASCAL GetActiveWindow();

Wartość zwracana

Aktywne okno lub NULL jeśli okno nie było aktywne w momencie wywołania. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Aktywne okno to okno, które ma bieżący fokus danych wejściowych lub okno jawnie aktywne przez funkcję składową SetActiveWindow .

CWnd::GetAncestor

Pobiera obiekt okna przodka określonego okna.

CWnd* GetAncestor(UINT gaFlags) const;

Parametry

gaFlags
Określa przodka, który ma zostać pobrany. Aby uzyskać pełną listę możliwych wartości, zobacz GetAncestor.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest wskaźnikiem do obiektu okna przodka. Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to NULL.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetAncestor, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetCapture

Pobiera okno z przechwyceniem myszy.

static CWnd* PASCAL GetCapture();

Wartość zwracana

Identyfikuje okno z przechwyceniem myszy. To jest NULL , jeśli okno nie ma przechwytywania myszy.

Wartość zwracana może być tymczasowa i nie powinna być przechowywana do późniejszego użycia.

Uwagi

Tylko jedno okno ma przechwycenie myszy w danym momencie. Okno odbiera przechwytywanie myszy po wywołaniu funkcji składowej SetCapture . To okno odbiera dane wejściowe myszy niezależnie od tego, czy kursor znajduje się w granicach.

CWnd::GetCaretPos

Pobiera współrzędne klienta bieżącej pozycji karetki i zwraca je jako CPoint.

static CPoint PASCAL GetCaretPos();

Wartość zwracana

CPoint obiekt zawierający współrzędne położenia karetki.

Uwagi

Położenie karetki jest podane we współrzędnych CWnd klienta okna.

CWnd::GetCheckedRadioButton

Pobiera identyfikator aktualnie zaznaczonego przycisku radiowego w określonej grupie.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parametry

nIDFirstButton
Określa identyfikator liczb całkowitych pierwszego przycisku radiowego w grupie.

nIDLastButton
Określa identyfikator całkowity ostatniego przycisku radiowego w grupie.

Wartość zwracana

Identyfikator zaznaczonego przycisku radiowego lub 0, jeśli nie wybrano żadnego.

CWnd::GetClientRect

Kopiuje CWnd współrzędne klienta obszaru klienta do struktury wskazywanej przez lpRectelement .

void GetClientRect(LPRECT lpRect) const;

Parametry

lpRect
RECT Wskazuje strukturę lub CRect obiekt do odbierania współrzędnych klienta. Elementy left i top będą mieć wartość 0. Składowe right i bottom będą zawierać szerokość i wysokość okna.

Uwagi

Współrzędne klienta określają lewe górne i prawe dolne rogi obszaru klienta. Ponieważ współrzędne klienta są względne względem lewego górnego rogu CWnd obszaru klienta, współrzędne lewego górnego rogu to (0,0).

Przykład

Zobacz przykład dla elementu CWnd::IsIconic.

CWnd::GetClipboardOwner

Pobiera bieżącego właściciela Schowka.

static CWnd* PASCAL GetClipboardOwner();

Wartość zwracana

Identyfikuje okno, które jest właścicielem Schowka, jeśli funkcja zakończy się pomyślnie. W przeciwnym razie jest to NULL.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Schowek może nadal zawierać dane, nawet jeśli nie są obecnie własnością.

CWnd::GetClipboardViewer

Pobiera pierwsze okno w łańcuchu Schowek-viewer.

static CWnd* PASCAL GetClipboardViewer();

Wartość zwracana

Identyfikuje okno, które jest obecnie odpowiedzialne za wyświetlanie Schowka, jeśli się powiedzie; w przeciwnym razie NULL (na przykład jeśli nie ma przeglądarki).

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

CWnd::GetControlUnknown

Wywołaj tę funkcję składową, aby pobrać wskaźnik do nieznanej kontrolki OLE.

LPUNKNOWN GetControlUnknown();

Wartość zwracana

Wskaźnik do IUnknown interfejsu kontrolki OLE reprezentowanej przez ten CWnd obiekt. Jeśli ten obiekt nie reprezentuje kontrolki OLE, zwracana wartość to NULL.

Uwagi

Nie należy zwalniać tego IUnknown wskaźnika. Zazwyczaj służy do uzyskania określonego interfejsu kontrolki.

Wskaźnik interfejsu zwracany przez GetControlUnknown element nie jest liczone od odwołania. Nie należy wywoływać IUnknown::Release wskaźnika, chyba że został on wcześniej wywołany IUnknown::AddRef .

Przykład

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

Zwraca wskaźnik do komunikatu, który jest obecnie przetwarzany. Powinna być wywoływana tylko wtedy, gdy w funkcji składowej programu obsługi komunikatów komunikatów w wiadomości.

static const MSG* PASCAL GetCurrentMessage();

Wartość zwracana

Zwraca wskaźnik do MSG struktury zawierającej komunikat, który jest obecnie przetwarzany przez okno. Powinna być wywoływana tylko wtedy, gdy w procedurze obsługi komunikatów .

Przykład

Zobacz przykład dla elementu CMDIFrameWnd::MDICascade.

CWnd::GetDC

Pobiera wskaźnik do wspólnego, klasy lub kontekstu urządzenia prywatnego dla obszaru klienta w zależności od stylu klasy określonego CWnddla elementu .

CDC* GetDC();

Wartość zwracana

Określa kontekst urządzenia dla CWnd obszaru klienta, jeśli się powiedzie; w przeciwnym razie zwracana wartość to NULL. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

W przypadku typowych kontekstów GetDC urządzeń atrybuty domyślne są przypisywane do kontekstu za każdym razem, gdy jest pobierany. W przypadku kontekstów GetDC klasy i prywatnych pozostaw atrybuty przypisane wcześniej bez zmian. Kontekst urządzenia może być używany w kolejnych funkcjach interfejsu urządzenia graficznego (GDI) do rysowania w obszarze klienta.

Jeśli kontekst urządzenia nie należy do klasy okna, funkcja składowa musi zostać wywołana, ReleaseDC aby zwolnić kontekst po malowaniu.

Kontekst urządzenia należący do CWnd klasy jest zwracany przez GetDC funkcję składową, jeśli CS_CLASSDC, CS_OWNDClub CS_PARENTDC został określony jako styl w WNDCLASS strukturze, gdy klasa została zarejestrowana.

CWnd::GetDCEx

Pobiera uchwyt kontekstu urządzenia dla CWnd okna.

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

Parametry

prgnClip
Identyfikuje region wycinków, który może być połączony z widocznym regionem okna klienta.

flags
Może mieć jedną z następujących wartości wstępnych:

  • DCX_CACHE Zwraca kontekst urządzenia z pamięci podręcznej, a nie z OWNDC okna lub CLASSDC . Przesłonięcia CS_OWNDC i CS_CLASSDC.

  • DCX_CLIPCHILDREN Wyklucza widoczne regiony wszystkich okien podrzędnych poniżej CWnd okna.

  • DCX_CLIPSIBLINGS Wyklucza widoczne regiony wszystkich okien równorzędnych nad oknem CWnd .

  • DCX_EXCLUDERGN Wyklucza region wycinków zidentyfikowany przez prgnClip z widocznego regionu zwróconego kontekstu urządzenia.

  • DCX_INTERSECTRGN Przecina region wycinków zidentyfikowany w prgnClip widocznym regionie zwróconego kontekstu urządzenia.

  • DCX_LOCKWINDOWUPDATE Umożliwia rysowanie, nawet jeśli istnieje LockWindowUpdate wywołanie, które w przeciwnym razie wykluczyłoby to okno. Ta wartość jest używana do rysowania podczas śledzenia.

  • DCX_PARENTCLIP Używa widocznego regionu okna nadrzędnego i ignoruje bity okna WS_CLIPCHILDREN nadrzędnego i WS_PARENTDC stylu. Ta wartość ustawia początek kontekstu urządzenia na lewy górny róg CWnd okna.

  • DCX_WINDOW Zwraca kontekst urządzenia odpowiadający prostokątowi okna, a nie prostokątowi klienta.

Wartość zwracana

Kontekst urządzenia dla określonego okna, jeśli funkcja zakończy się pomyślnie; w przeciwnym razie NULL.

Uwagi

Kontekst urządzenia może być używany w kolejnych funkcjach GDI do rysowania w obszarze klienta.

Ta funkcja, która jest rozszerzeniem GetDC funkcji, zapewnia aplikacji większą kontrolę nad tym, jak i czy kontekst urządzenia dla okna jest obcięty.

Jeśli kontekst urządzenia nie należy do klasy okna, funkcja musi zostać wywołana, ReleaseDC aby zwolnić kontekst po rysunku. Ponieważ w danym momencie jest dostępnych tylko pięć typowych kontekstów urządzeń, niepowodzenie wydania kontekstu urządzenia może uniemożliwić innym aplikacjom uzyskanie dostępu do kontekstu urządzenia.

Aby uzyskać buforowany kontekst urządzenia, aplikacja musi określić wartość DCX_CACHE. Jeśli DCX_CACHE nie zostanie określony, a okno nie jest ani CS_OWNDCCS_CLASSDC, funkcja ta zwraca wartość NULL.

Kontekst urządzenia ze specjalnymi cechami jest zwracany przez GetDCEx funkcję, jeśli CS_CLASSDCCS_OWNDCstyl , lub CS_PARENTDC został określony w WNDCLASS strukturze, gdy klasa została zarejestrowana.

Aby uzyskać więcej informacji na temat tych cech, zobacz opis WNDCLASS struktury w zestawie Windows SDK.

CWnd::GetDCRenderTarget

Pobiera docelowy element docelowy renderowania kontekstu urządzenia (DC) dla CWnd okna.

CDCRenderTarget* GetDCRenderTarget();

Wartość zwracana

Kontekst urządzenia renderuje element docelowy dla określonego okna, jeśli funkcja zakończy się pomyślnie; w przeciwnym razie NULL.

Uwagi

CWnd::GetDescendantWindow

Wywołaj tę funkcję składową, aby znaleźć okno elementów potomnych określone przez dany identyfikator.

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

Parametry

nID
Określa identyfikator kontrolki lub okna podrzędnego do pobrania.

bOnlyPerm
Określa, czy okno do zwrócenia może być tymczasowe. Jeśli można zwrócić tylko stałe okno. Jeśli TRUEFALSEfunkcja może zwrócić okno tymczasowe. Aby uzyskać więcej informacji na temat okien tymczasowych, zobacz Technical Note 3 (Uwaga techniczna 3).

Wartość zwracana

Wskaźnik do obiektu lub NULL jeśli nie znaleziono okna podrzędnegoCWnd.

Uwagi

Ta funkcja składowa przeszukuje całe drzewo okien podrzędnych, nie tylko okna, które są bezpośrednimi elementami podrzędnym.

CWnd::GetDesktopWindow

Zwraca okno pulpitu systemu Windows.

static CWnd* PASCAL GetDesktopWindow();

Wartość zwracana

Identyfikuje okno pulpitu systemu Windows. Ten wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Okno pulpitu obejmuje cały ekran i jest obszarem, na którym są malowane wszystkie ikony i inne okna.

CWnd::GetDlgCtrlID

Zwraca wartość identyfikatora okna lub kontrolki dla dowolnego okna podrzędnego, a nie tylko dla kontrolki w oknie dialogowym.

int GetDlgCtrlID() const;

Wartość zwracana

Identyfikator liczbowy okna podrzędnego CWnd , jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Ponieważ okna najwyższego poziomu nie mają wartości identyfikatora, zwracana wartość tej funkcji jest nieprawidłowa, jeśli CWnd jest to okno najwyższego poziomu.

Przykład

Zobacz przykład dla elementu CWnd::OnCtlColor.

CWnd::GetDlgItem

Pobiera wskaźnik do określonej kontrolki lub okna podrzędnego w oknie dialogowym lub innym oknie.

CWnd* GetDlgItem(int nID) const;

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

Parametry

nID
Określa identyfikator kontrolki lub okna podrzędnego do pobrania.

phWnd
Wskaźnik do okna podrzędnego.

Wartość zwracana

Wskaźnik do danej kontrolki lub okna podrzędnego. Jeśli nie ma kontrolki o identyfikatorze całkowitym podanym nID przez parametr , wartość to NULL.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Zwrócony wskaźnik jest zwykle rzutowany do typu kontrolki zidentyfikowanej przez nIDelement .

Przykład

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

CWnd::GetDlgItemInt

Pobiera tekst kontrolki zidentyfikowanej przez nIDelement .

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

Parametry

nID
Określa identyfikator liczb całkowitych kontrolki okna dialogowego do tłumaczenia.

lpTrans
Wskazuje zmienną logiczną, która ma otrzymać przetłumaczoną flagę.

bSigned
Określa, czy wartość do pobrania jest podpisana.

Wartość zwracana

Określa przetłumaczoną wartość tekstu elementu okna dialogowego. Ponieważ wartość 0 jest prawidłową wartością zwracaną, lpTrans należy użyć jej do wykrywania błędów. Jeśli żądana jest podpisana wartość zwracana, rzutuj int ją jako typ.

Funkcja zwraca wartość 0, jeśli przetłumaczona liczba jest większa niż INT_MAX (dla cyfr podpisanych) lub UINT_MAX (dla niepodpisanych).

W przypadku wystąpienia błędów, takich jak napotkanie znaków nieliczbowych i przekroczenie powyższej wartości maksymalnej, GetDlgItemInt kopiuje wartość 0 do lokalizacji wskazywanej przez lpTranswartość . Jeśli nie ma żadnych błędów, lpTrans otrzymuje wartość niezerową. Jeśli lpTrans parametr to NULL, GetDlgItemInt nie ostrzega o błędach.

Uwagi

Tłumaczy tekst określonej kontrolki w danym oknie dialogowym na wartość całkowitą, usuwając wszelkie dodatkowe spacje na początku tekstu i konwertując cyfry dziesiętne. Zatrzymuje tłumaczenie, gdy osiągnie koniec tekstu lub napotka dowolny znak nieliczbowy.

Jeśli bSigned parametr to TRUE, GetDlgItemInt sprawdza znak minus (-) na początku tekstu i tłumaczy tekst na podpisany numer. W przeciwnym razie tworzy niepodpisaną wartość.

WM_GETTEXT Wysyła komunikat do kontrolki.

CWnd::GetDlgItemText

Wywołaj tę funkcję składową, aby pobrać tytuł lub tekst skojarzony z kontrolką w oknie dialogowym.

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

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

Parametry

nID
Określa identyfikator liczb całkowitych kontrolki, której tytuł ma zostać pobrany.

lpStr
Wskazuje bufor, aby otrzymać tytuł lub tekst kontrolki.

nMaxCount
Określa maksymalną długość (w znakach) ciągu, który ma zostać skopiowany do lpStr. Jeśli ciąg jest dłuższy niż nMaxCount, zostanie obcięty.

rString
Odwołanie do .CString

Wartość zwracana

Określa rzeczywistą liczbę znaków skopiowanych do buforu, a nie w tym znak zerowy zakończenia. Wartość to 0, jeśli nie zostanie skopiowany żaden tekst.

Uwagi

GetDlgItemText Funkcja składowa kopiuje tekst do lokalizacji wskazywanej przez lpStr i zwraca liczbę bajtów, które kopiuje.

CWnd::GetDSCCursor

Wywołaj tę funkcję składową, aby pobrać wskaźnik do bazowego kursora zdefiniowanego DataSourceprzez właściwości , UserName, Passwordi SQL kontrolki źródła danych.

IUnknown* GetDSCCursor();

Wartość zwracana

Wskaźnik do kursora zdefiniowanego przez kontrolkę źródła danych. MFC dba o wywoływanie AddRef wskaźnika.

Uwagi

Użyj zwróconego wskaźnika, aby ustawić ICursor właściwość złożonej kontrolki powiązanej z danymi, taką jak kontrolka siatki powiązanej z danymi. Kontrolka źródła danych nie stanie się aktywna, dopóki pierwsza powiązana kontrolka nie zażąda kursora. Może się to zdarzyć jawnie przez wywołanie GetDSCCursor lub niejawnie przez menedżera powiązań MFC. W obu przypadkach możesz wymusić aktywowanie kontroli źródła danych przez wywołanie GetDSCCursor metody , a następnie wywołanie Release zwróconego wskaźnika na IUnknown. Aktywacja spowoduje, że kontrola źródła danych podejmie próbę nawiązania połączenia z bazowym źródłem danych. Zwrócony wskaźnik może być używany w następującym kontekście:

Przykład

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

Pobiera wskaźnik do obiektu menedżera układu dynamicznego.

CMFCDynamicLayout* GetDynamicLayout();

Wartość zwracana

Wskaźnik do obiektu menedżera układu dynamicznego lub NULL jeśli układ dynamiczny nie jest włączony.

Uwagi

Obiekt okna jest właścicielem zwracanego wskaźnika i zarządza okresem istnienia zwracanego wskaźnika, dlatego powinien być używany tylko do uzyskiwania dostępu do obiektu; Nie usuwaj wskaźnika ani nie przechowuj wskaźnika trwale.

CWnd::GetExStyle

Zwraca styl rozszerzony okna.

DWORD GetExStyle() const;

Wartość zwracana

Styl rozszerzony okna. Aby uzyskać więcej informacji na temat rozszerzonych stylów okien używanych w MFC, zobacz Rozszerzone style okien.

CWnd::GetFocus

Pobiera wskaźnik do CWnd tego, który obecnie ma fokus wejściowy.

static CWnd* PASCAL GetFocus();

Wartość zwracana

Wskaźnik do okna z bieżącym fokusem lub NULL jeśli nie ma okna fokusu.

Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

CWnd::GetFont

WM_GETFONT Wysyła wiadomość do okna, aby pobrać bieżącą czcionkę.

CFont* GetFont() const;

Wartość zwracana

Wskaźnik do CFont obiektu dołączonego do bieżącej czcionki okna.

Uwagi

Ta metoda nie ma żadnego efektu, chyba że okno przetwarza WM_GETFONT komunikat. Wiele klas MFC, które pochodzą z CWnd procesu tego komunikatu, ponieważ są one dołączone do wstępnie zdefiniowanej klasy okna, która zawiera procedurę obsługi komunikatów dla komunikatu WM_GETFONT . Aby użyć tej metody, klasy pochodzące z CWnd klasy muszą definiować procedurę obsługi dla komunikatu WM_GETFONT .

CWnd::GetForegroundWindow

Zwraca wskaźnik do okna pierwszego planu (okno, z którym użytkownik aktualnie pracuje).

static CWnd* PASCAL GetForegroundWindow();

Wartość zwracana

Wskaźnik do okna pierwszego planu. Może to być obiekt tymczasowy CWnd .

Uwagi

Okno pierwszego planu dotyczy tylko okien najwyższego poziomu (okien ramowych lub okien dialogowych).

CWnd::GetIcon

Wywołaj tę funkcję składową, aby uzyskać dojście do dużej (32x32) lub uchwytu na małą (16x16) ikonę, jak wskazano w elemencie bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parametry

bBigIcon
Określa ikonę 32 pikseli na 32 pikseli, jeśli TRUE; określa ikonę 16 pikseli na 16 pikseli, jeśli FALSE.

Wartość zwracana

Uchwyt do ikony. Jeśli nie powiedzie się, zwraca wartość NULL.

CWnd::GetLastActivePopup

Określa, które okno podręczne należące do użytkownika CWnd było ostatnio aktywne.

CWnd* GetLastActivePopup() const;

Wartość zwracana

Identyfikuje ostatnio aktywne okno podręczne. Wartość zwracana będzie samym oknem, jeśli zostaną spełnione jakiekolwiek z następujących warunków:

  • Samo okno było ostatnio aktywne.

  • Okno nie jest właścicielem okien podręcznych.

  • Okno nie jest oknem najwyższego poziomu lub jest własnością innego okna.

Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Przykład

Zobacz przykład dla elementu CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Pobiera nieprzezroczystość i klucz koloru przezroczystości okna warstwowego.

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

Parametry

pcrKey
Wskaźnik do COLORREF wartości, która otrzymuje klucz koloru przezroczystości, który ma być używany podczas tworzenia okna warstwowego. Wszystkie piksele malowane przez okno w tym kolorze będą przezroczyste. Może to być NULL , jeśli argument nie jest potrzebny.

pbAlpha
Wskaźnik do BYTE elementu, który odbiera wartość Alfa używaną do opisania nieprzezroczystości okna warstwowego. Gdy zmienna, do której odwołuje się pbAlpha wartość 0, okno jest całkowicie przezroczyste. Gdy zmienna, do której odwołuje się pbAlpha wartość 255, okno jest nieprzezroczyste. Może to być NULL , jeśli argument nie jest potrzebny.

pdwFlags
Wskaźnik do DWORD kontrolki, która odbiera flagę warstwową. Może to być NULL , jeśli argument nie jest potrzebny. Aby uzyskać pełną listę możliwych wartości, zobacz "GetLayeredWindowAttributes".

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetLayeredWindowAttributes, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetMenu

Pobiera wskaźnik do menu dla tego okna.

CMenu* GetMenu() const;

Wartość zwracana

Identyfikuje menu. Wartość to NULL , jeśli CWnd nie ma menu. Wartość zwracana jest niezdefiniowana, jeśli CWnd jest oknem podrzędnym.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Ta funkcja nie powinna być używana w oknach podrzędnych, ponieważ nie mają menu.

Przykład

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

Pobiera informacje o określonym pasku menu.

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

Parametry

idObject
Określa obiekt menu. Aby uzyskać listę możliwych wartości, zobacz GetMenuBarInfo.

idItem
Określa element, dla którego mają być pobierane informacje. Jeśli ten parametr ma wartość zero, funkcja pobiera informacje o samym menu. Jeśli ten parametr ma wartość 1, funkcja pobiera informacje o pierwszym elemencie w menu itd.

pmbi
Wskaźnik do MENUBARINFO struktury, która odbiera informacje.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetMenuBarInfo, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetNextDlgGroupItem

Wyszukuje poprzednią lub następną kontrolkę w grupie kontrolek w oknie dialogowym.

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

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

Parametry

pWndCtl
Określa kontrolkę, która ma być używana jako punkt początkowy wyszukiwania.

bPrevious
Określa sposób przeszukiwania grupy kontrolek w oknie dialogowym. Jeśli TRUEfunkcja wyszukuje poprzednią kontrolkę w grupie; jeśli FALSE, wyszukuje następną kontrolkę w grupie.

pCurSiteOrWnd
Identyfikuje kontrolkę COleControlSiteOrWnd . Aby uzyskać więcej informacji na temat COleControlSiteOrWndprogramu , zobacz Uwagi.

Wartość zwracana

Wskaźnik do poprzedniej lub następnej kontrolki w grupie, jeśli funkcja składowa zakończy się pomyślnie.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Grupa kontrolek zaczyna się od kontrolki utworzonej WS_GROUP za pomocą stylu i kończy się ostatnią kontrolką, która nie została utworzona przy użyciu WS_GROUP stylu.

Domyślnie funkcja składowa GetNextDlgGroupItem zwraca wskaźnik do następnej kontrolki w grupie. Jeśli pWndCtl zidentyfikuje pierwszą kontrolkę w grupie i bPrevious ma TRUEwartość , GetNextDlgGroupItem zwraca wskaźnik do ostatniej kontrolki w grupie.

Uwaga

Ponieważ MFC obsługuje kontrolki ActiveX bez okien, standardowe kontrolki ActiveX i okna, odwołujące się do kontrolki tylko HWND przez nie wystarczy. Obiekt COleControlSiteOrWnd zawiera informacje identyfikujące obiekt jako kontrolkę ActiveX okienną, kontrolkę ActiveX bez okna lub okno w następujący sposób:

Typ kontrolki lub okna Identyfikowanie informacji
Kontrolka ActiveX okienna Zawiera obiekt HWND COleControlSite i kojarzy z nim obiekt . Element m_hWnd członkowski COleControlSiteOrWnd jest ustawiony na HWND kontrolkę , a m_pSite element członkowski wskazuje kontrolkę COleControlSite.
Kontrolka ActiveX bez okna Nie zawiera parametru HWND. Element m_pSite członkowski COleControlSiteOrWnd wskazuje kontrolkę COleControlSite, a element m_hWnd członkowski to NULL.
Okno standardowe Zawiera tylko element HWND. Element m_hWnd członkowski COleControlSiteOrWnd jest ustawiony na HWND okna, a element m_pSite członkowski to NULL.

CWnd::GetNextDlgTabItem

Pobiera wskaźnik do pierwszej kontrolki, która została utworzona za pomocą WS_TABSTOP stylu i poprzedza lub następuje po określonej kontrolce.

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

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

Parametry

pWndCtl
Określa kontrolkę, która ma być używana jako punkt początkowy wyszukiwania.

pCurSiteOrWnd
Identyfikuje kontrolkę COleControlSiteOrWnd . Aby uzyskać więcej informacji na temat COleControlSiteOrWndprogramu , zobacz CWnd::GetNextDlgGroupItem.

bPrevious
Określa sposób wyszukiwania funkcji w oknie dialogowym. Jeśli TRUEfunkcja wyszukuje poprzednią kontrolkę w oknie dialogowym; jeśli FALSE, wyszukuje następną kontrolkę.

Wartość zwracana

Wskaźnik do poprzedniej lub następnej kontrolki, która ma WS_TABSTOP styl, jeśli funkcja składowa zakończy się pomyślnie.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Aby uzyskać więcej informacji na temat COleControlSiteOrWndprogramu , zobacz CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Wyszukuje następne (lub poprzednie) okno na liście menedżera okien.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parametry

nFlag
Określa, czy funkcja zwraca wskaźnik do następnego okna, czy poprzedniego. Może to być wartość GW_HWNDNEXT, która zwraca okno, które następuje po CWnd obiekcie na liście menedżera okien, lub GW_HWNDPREV, które zwraca poprzednie okno na liście menedżera okien.

Wartość zwracana

Identyfikuje następne (lub poprzednie) okno na liście menedżera okien, jeśli funkcja składowa zakończy się pomyślnie.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Lista menedżera okien zawiera wpisy dla wszystkich okien najwyższego poziomu, skojarzonych okien podrzędnych i okien podrzędnych dowolnego okna podrzędnego.

Jeśli CWnd jest to okno najwyższego poziomu, funkcja wyszukuje następne (lub poprzednie) okno najwyższego poziomu; jeśli CWnd jest oknem podrzędnym, funkcja wyszukuje następne (lub poprzednie) okno podrzędne.

CWnd::GetOleControlSite

Pobiera witrynę niestandardową dla określonej kontrolki ActiveX.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parametry

idControl
Identyfikator kontrolki ActiveX.

CWnd::GetOpenClipboardWindow

Pobiera uchwyt okna, który ma obecnie otwarty Schowek.

static CWnd* PASCAL GetOpenClipboardWindow();

Wartość zwracana

Uchwyt okna, który ma obecnie otwarty Schowek, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie NULL.

CWnd::GetOwner

Pobiera wskaźnik do właściciela okna.

CWnd* GetOwner() const;

Wartość zwracana

Wskaźnik do CWnd obiektu.

Uwagi

Jeśli okno nie ma właściciela, domyślnie zwracany jest wskaźnik do obiektu okna nadrzędnego. Należy pamiętać, że relacja między właścicielem a własnością różni się od aspektu nadrzędny-podrzędny w kilku ważnych aspektach. Na przykład okno z elementem nadrzędnym jest ograniczone do obszaru klienta okna nadrzędnego. Okna należące do użytkownika mogą być rysowane w dowolnej lokalizacji na pulpicie.

Koncepcja własności tej funkcji różni się od koncepcji własności .GetWindow

CWnd::GetParent

Wywołaj tę funkcję, aby uzyskać wskaźnik do okna nadrzędnego okna podrzędnego (jeśli istnieje).

CWnd* GetParent() const;

Wartość zwracana

Zobacz sekcję Zwracane wartości w GetParent zestawie Windows SDK.

Uwagi

Funkcja GetParent zwraca wskaźnik do bezpośredniego elementu nadrzędnego (jeśli istnieje). GetParentOwner Natomiast funkcja zwraca wskaźnik do najbardziej bezpośredniego okna nadrzędnego lub właściciela, które nie jest oknem podrzędnym (nie ma WS_CHILD stylu). Jeśli masz okno podrzędne w oknie GetParent podrzędnym i GetParentOwner zwracasz różne wyniki.

CWnd::GetParentFrame

Wywołaj tę funkcję składową, aby pobrać okno ramki nadrzędnej.

CFrameWnd* GetParentFrame() const;

Wartość zwracana

Wskaźnik do okna ramki, jeśli się powiedzie; w przeciwnym razie NULL.

Uwagi

Funkcja składowa wyszukuje w łańcuchu nadrzędnym do momentu CFrameWnd znalezienia obiektu (lub klasy pochodnej).

CWnd::GetParentOwner

Wywołaj tę funkcję składową, aby uzyskać wskaźnik do okna nadrzędnego okna podrzędnego lub okna właściciela.

CWnd* GetParentOwner() const;

Wartość zwracana

Wskaźnik do CWnd obiektu. CWnd Jeśli obiekt nie jest dołączony do uchwytu, zostanie utworzony i dołączony obiekt tymczasowyCWnd. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

GetParentOwner Zwraca wskaźnik do najbardziej bezpośredniego okna nadrzędnego lub właściciela, które nie jest oknem podrzędnym (nie ma WS_CHILD stylu). Bieżące okno właściciela można ustawić za pomocą polecenia SetOwner. Domyślnie element nadrzędny okna jest jego właścicielem.

GetParent Natomiast funkcja zwraca wskaźnik do bezpośredniego elementu nadrzędnego, niezależnie od tego, czy jest to okno podrzędne, czy nie. Jeśli masz okno podrzędne w oknie GetParent podrzędnym i GetParentOwner zwracasz różne wyniki.

CWnd::GetProperty

Wywołaj tę funkcję składową, aby uzyskać właściwość kontrolki ActiveX określoną przez dwDispID.

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

Parametry

dwDispID
Identyfikuje właściwość do pobrania.

vtProp
Określa typ właściwości do pobrania. Aby uzyskać możliwe wartości, zobacz sekcję Uwagi dla COleDispatchDriver::InvokeHelperelementu .

pvProp
Adres zmiennej, która otrzyma wartość właściwości. Musi być zgodny z typem określonym przez vtProp.

Uwagi

GetProperty Metoda zwraca wartość za pośrednictwem pvPropmetody .

Uwaga

Ta funkcja powinna być wywoływana tylko w obiekcie reprezentującym CWnd kontrolkę ActiveX.

Aby uzyskać więcej informacji na temat korzystania z tej funkcji składowej z kontenerami kontrolek ActiveX, zobacz artykuł ActiveX Control Containers: Programming ActiveX Controls in an ActiveX Control Container (Kontenery kontrolek ActiveX: programowanie kontrolek ActiveX w kontenerze kontrolek ActiveX).

CWnd::GetRenderTarget

Pobiera element docelowy renderowania skojarzony z tym oknem.

CHwndRenderTarget* GetRenderTarget();

Wartość zwracana

Wskaźnik do elementu docelowego renderowania lub NULL.

CWnd::GetSafeHwnd

Zwraca wartość m_hWnd, lub NULL jeśli this wskaźnik ma wartość NULL.

HWND GetSafeHwnd() const;

Wartość zwracana

Zwraca uchwyt okna dla okna. Zwraca wartość , jeśli CWnd element nie jest dołączony do okna lub jeśli jest używany ze wskaźnikiemNULLCWnd.NULL

Przykład

Zobacz przykład dla elementu CWnd::SubclassWindow.

CWnd::GetSafeOwner

Wywołaj tę funkcję składową, aby pobrać okno właściciela, które powinno być używane w oknach dialogowych lub w innych modalnych oknach.

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

Parametry

pParent
Wskaźnik do okna nadrzędnego CWnd . Może to być NULL.

pWndTop
Wskaźnik do okna, który jest obecnie na górze. Może to być NULL.

Wartość zwracana

Wskaźnik do bezpiecznego właściciela dla danego okna.

Uwagi

Bezpieczny właściciel jest pierwszym nie podrzędnym oknem nadrzędnym .pParent Jeśli pParent element to NULL, główne okno wątku (pobrane za pośrednictwem AfxGetMainWnd) służy do znajdowania właściciela.

Uwaga

Sama struktura używa tej funkcji do określenia prawidłowego okna właściciela dla okien dialogowych i arkuszy właściwości, w których właściciel nie jest określony.

CWnd::GetScrollBarCtrl

Wywołaj tę funkcję składową, aby uzyskać wskaźnik do określonego paska przewijania elementu równorzędnego lub okna podziału.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parametry

nBar
Określa typ paska przewijania. Parametr może przyjmować jedną z następujących wartości:

  • SB_HORZ Pobiera położenie poziomego paska przewijania.

  • SB_VERT Pobiera położenie pionowego paska przewijania.

Wartość zwracana

Kontrolka paska przewijania elementu równorzędnego lub NULL jeśli tak nie jest.

Uwagi

Ta funkcja składowa nie działa na paskach przewijania utworzonych po WS_HSCROLL ustawieniu bitów lub WS_VSCROLL podczas tworzenia okna. Implementacja CWnd tej funkcji po prostu zwraca wartość NULL. Klasy pochodne, takie jak CView, implementują opisane funkcje.

CWnd::GetScrollBarInfo

Pobiera informacje o określonym pasku przewijania.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parametry

idObject
Określa obiekt menu. Aby uzyskać listę możliwych wartości, zobacz GetScrollBarInfo.

psbi
Wskaźnik do SCROLLBARINFO struktury, która odbiera informacje.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetScrollBarInfo, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetScrollInfo

Wywołaj tę funkcję składową, aby pobrać informacje, które SCROLLINFO struktura utrzymuje na pasku przewijania.

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

Parametry

nBar
Określa, czy pasek przewijania jest kontrolką, czy częścią obszaru innego niż klient okna. Jeśli jest on częścią obszaru innego niż klient, wskazuje również, nBar czy pasek przewijania jest umieszczony w poziomie, w pionie, czy w obu przypadkach. Musi to być jeden z następujących elementów:

  • SB_CTL Pobiera parametry kontrolki paska przewijania. Element m_hWnd członkowski danych musi być uchwytem kontrolki paska przewijania.

  • SB_HORZ Pobiera parametry standardowego paska przewijania poziomego okna.

  • SB_VERT Pobiera parametry standardowego pionowego paska przewijania okna.

lpScrollInfo
Wskaźnik do SCROLLINFO struktury. Aby uzyskać więcej informacji na temat tej struktury, zobacz zestaw Windows SDK.

nMask
Określa parametry paska przewijania do pobrania. Wartość domyślna określa kombinację wartości SIF_PAGE, , SIF_TRACKPOSSIF_POSi SIF_RANGE. Zobacz SCROLLINFO , aby uzyskać więcej informacji na temat nMask wartości.

Wartość zwracana

Jeśli komunikat pobrał jakiekolwiek wartości, zwraca TRUEwartość . W przeciwnym razie jest to FALSE.

Uwagi

GetScrollInfo Umożliwia aplikacjom używanie 32-bitowych pozycji przewijania.

Struktura SCROLLINFO zawiera informacje o pasku przewijania, w tym minimalne i maksymalne pozycje przewijania, rozmiar strony i położenie pola przewijania (kciuk). SCROLLINFO Zobacz temat struktury w zestawie Windows SDK, aby uzyskać więcej informacji na temat zmieniania domyślnych ustawień struktury.

Programy obsługi komunikatów systemu Windows MFC wskazujące położenie paska przewijania, CWnd::OnHScroll i CWnd::OnVScroll, zawierają tylko 16 bitów danych położenia. GetScrollInfo i SetScrollInfo podaj 32 bity danych położenia paska przewijania. W związku z tym aplikacja może wywołać GetScrollInfo funkcję przetwarzania CWnd::OnHScroll lub CWnd::OnVScroll uzyskać 32-bitowe dane położenia paska przewijania.

CWnd::GetScrollLimit

Wywołaj tę funkcję składową, aby pobrać maksymalną pozycję przewijania paska przewijania.

int GetScrollLimit(int nBar);

Parametry

nBar
Określa typ paska przewijania. Parametr może przyjmować jedną z następujących wartości:

  • SB_HORZ Pobiera limit przewijania paska przewijania poziomego.

  • SB_VERT Pobiera limit przewijania pionowego paska przewijania.

Wartość zwracana

Określa maksymalną pozycję paska przewijania w przypadku powodzenia; w przeciwnym razie 0.

CWnd::GetScrollPos

Pobiera bieżące położenie pola przewijania paska przewijania.

int GetScrollPos(int nBar) const;

Parametry

nBar
Określa pasek przewijania do zbadania. Parametr może przyjmować jedną z następujących wartości:

  • SB_HORZ Pobiera położenie poziomego paska przewijania.

  • SB_VERT Pobiera położenie pionowego paska przewijania.

Wartość zwracana

Określa bieżące położenie pola przewijania na pasku przewijania, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Bieżące położenie jest wartością względną, która zależy od bieżącego zakresu przewijania. Jeśli na przykład zakres przewijania wynosi od 50 do 100, a pole przewijania znajduje się w środku paska, bieżąca pozycja to 75.

CWnd::GetScrollRange

Kopiuje bieżące minimalne i maksymalne pozycje paska przewijania dla danego paska przewijania do lokalizacji określonych przez lpMinPos i lpMaxPos.

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

Parametry

nBar
Określa pasek przewijania do zbadania. Parametr może przyjmować jedną z następujących wartości:

  • SB_HORZ Pobiera położenie poziomego paska przewijania.

  • SB_VERT Pobiera położenie pionowego paska przewijania.

lpMinPos
Wskazuje zmienną całkowitą, która ma otrzymać minimalną pozycję.

lpMaxPos
Wskazuje zmienną całkowitą, która ma otrzymać maksymalną pozycję.

Uwagi

Jeśli CWnd nie ma paska przewijania, GetScrollRange funkcja składowa kopiuje wartości 0 do lpMinPos i lpMaxPos.

Domyślny zakres standardowego paska przewijania to od 0 do 100. Domyślny zakres kontrolki paska przewijania jest pusty (obie wartości to 0).

CWnd::GetStyle

Zwraca bieżący styl okna.

DWORD GetStyle() const;

Wartość zwracana

Styl okna. Aby uzyskać więcej informacji na temat stylów okien używanych w MFC, zobacz Style okien.

CWnd::GetSystemMenu

Umożliwia aplikacji dostęp do menu Kontrola na potrzeby kopiowania i modyfikowania.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parametry

bRevert
Określa akcję, która ma zostać podjęta. Jeśli bRevert parametr ma FALSEwartość , GetSystemMenu zwraca uchwyt do kopii aktualnie używanego menu Kontrolka. Ta kopia jest początkowo identyczna z menu Kontrolka, ale można ją zmodyfikować. Jeśli bRevert ma TRUEwartość , GetSystemMenu resetuje menu Kontrolka z powrotem do stanu domyślnego. Poprzednie, prawdopodobnie zmodyfikowane, menu Kontrolka, jeśli istnieje, zostanie zniszczone. Wartość zwracana jest w tym przypadku niezdefiniowana.

Wartość zwracana

Identyfikuje kopię menu Kontrolka, jeśli bRevert ma wartość FALSE. Jeśli bRevert wartość to TRUE, zwracana wartość jest niezdefiniowana.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Każde okno, którego nie używa GetSystemMenu do tworzenia własnej kopii menu Kontrolka, otrzymuje standardowe menu Kontrolka.

Wskaźnik zwracany przez funkcję składową GetSystemMenu może być używany z funkcjami CMenu::AppendMenu, CMenu::InsertMenulub CMenu::ModifyMenu w celu zmiany menu Kontrolka.

Menu Kontrolka początkowo zawiera elementy identyfikowane z różnymi wartościami identyfikatorów, takimi jak SC_CLOSE, SC_MOVEi SC_SIZE. Elementy w menu Kontrolka generują WM_SYSCOMMAND komunikaty. Wszystkie wstępnie zdefiniowane elementy menu Formant mają numery identyfikatorów większe niż 0xF000. Jeśli aplikacja dodaje elementy do menu Kontrolka, powinna używać numerów identyfikatorów mniejszych niż F000.

System Windows może automatycznie sprawić, że elementy będą niedostępne w standardowym menu Kontrolka. CWnd może przeprowadzić własny wybór lub niedostępność, odpowiadając na WM_INITMENU komunikaty, które są wysyłane przed wyświetleniem dowolnego menu.

Przykład

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

Pobiera informacje o określonym pasku tytułu.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Parametry

pti
Wskaźnik do TITLEBARINFO struktury, która odbiera informacje.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetTitleBarInfo, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetTopLevelFrame

Wywołaj tę funkcję składową, aby pobrać okno ramki najwyższego poziomu, jeśli istnieje.

CFrameWnd* GetTopLevelFrame() const;

Wartość zwracana

Identyfikuje okno ramki najwyższego poziomu okna.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Jeśli CWnd nie ma dołączonego okna lub jego nadrzędny element nadrzędny najwyższego poziomu nie jest obiektem pochodnym CFrameWnd, ta funkcja zwraca wartość NULL.

CWnd::GetTopLevelOwner

Wywołaj tę funkcję składową, aby pobrać okno najwyższego poziomu.

CWnd* GetTopLevelOwner() const;

Wartość zwracana

Identyfikuje okno najwyższego poziomu. Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Okno najwyższego poziomu to okno podrzędne pulpitu. Jeśli CWnd nie ma dołączonego okna, ta funkcja zwraca wartość NULL.

CWnd::GetTopLevelParent

Wywołaj tę funkcję składową, aby pobrać element nadrzędny najwyższego poziomu okna.

CWnd* GetTopLevelParent() const;

Wartość zwracana

Identyfikuje okno nadrzędne najwyższego poziomu okna.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

GetTopLevelParent jest podobny do GetTopLevelFrame parametru i GetTopLevelOwner, jednak ignoruje wartość ustawioną jako bieżące okno właściciela.

CWnd::GetTopWindow

Wyszukuje okno podrzędne najwyższego poziomu, które należy do CWndelementu .

CWnd* GetTopWindow() const;

Wartość zwracana

Identyfikuje okno podrzędne najwyższego poziomu na połączonej CWnd liście okien podrzędnych. Jeśli żadne okna podrzędne nie istnieją, wartość to NULL.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Jeśli CWnd nie ma elementów podrzędnych, ta funkcja zwraca wartość NULL.

CWnd::GetUpdateRect

Pobiera współrzędne najmniejszego prostokąta, który całkowicie otacza region aktualizacji.

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

Parametry

lpRect
CRect Wskazuje obiekt lub RECT strukturę, która ma odbierać współrzędne klienta aktualizacji, która otacza region aktualizacji.

Ustaw ten parametr, aby NULL określić, czy region aktualizacji istnieje w obiekcie CWnd. Jeśli lpRect parametr ma NULLwartość , funkcja składowa GetUpdateRect zwraca wartość niezerową, jeśli region aktualizacji istnieje i 0, jeśli nie. Dzięki temu można określić, czy WM_PAINT komunikat wynika z nieprawidłowego obszaru. Nie należy ustawiać tego parametru na NULL w systemie Windows w wersji 3.0 lub starszej.

bErase
Określa, czy tło w regionie aktualizacji ma zostać wymazane.

Wartość zwracana

Określa stan regionu aktualizacji. Wartość jest niezerowa, jeśli region aktualizacji nie jest pusty; w przeciwnym razie 0.

lpRect Jeśli parametr jest ustawiony na NULLwartość , zwracana wartość jest niezerowa, jeśli istnieje region aktualizacji; w przeciwnym razie 0.

Uwagi

Jeśli CWnd został utworzony przy użyciu CS_OWNDC stylu, a tryb mapowania nie MM_TEXTjest , GetUpdateRect funkcja składowa daje prostokąt we współrzędnych logicznych. GetUpdateRect W przeciwnym razie daje prostokąt we współrzędnych klienta. Jeśli nie ma regionu aktualizacji, GetUpdateRect ustawia prostokąt na pusty (ustawia wszystkie współrzędne na 0).

Parametr bErase określa, czy GetUpdateRect należy wymazać tło regionu aktualizacji. Jeśli bErase element to i TRUE region aktualizacji nie jest pusty, tło zostanie wymazane. Aby wymazać WM_ERASEBKGND tło, GetUpdateRect wysyła komunikat.

Prostokąt aktualizacji pobrany przez funkcję składową BeginPaint jest identyczny z tym, który został pobrany przez funkcję składową GetUpdateRect .

BeginPaint Funkcja składowa automatycznie weryfikuje region aktualizacji, więc każde wywołanie GetUpdateRect wykonywane natychmiast po wywołaniu w celu BeginPaint pobrania pustego regionu aktualizacji.

CWnd::GetUpdateRgn

Pobiera region aktualizacji do regionu zidentyfikowanego przez pRgnusługę .

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Parametry

pRgn
Identyfikuje region aktualizacji.

bErase
Określa, czy tło zostanie wymazane, a obszary nieklientowe okien podrzędnych zostaną narysowane. Jeśli wartość to FALSE, nie ma rysunku.

Wartość zwracana

Określa flagę krótkiej liczby całkowitej, która wskazuje typ wynikowego regionu. Wartość może przyjąć jedną z następujących wartości:

  • SIMPLEREGION Region nie ma nakładających się granic.

  • COMPLEXREGION Region ma nakładające się granice.

  • NULLREGION Region jest pusty.

  • ERROR Nie utworzono żadnego regionu.

Uwagi

Współrzędne tego regionu są względne względem lewego górnego rogu (współrzędnych klienta).

BeginPaint Funkcja składowa automatycznie weryfikuje region aktualizacji, więc każde wywołanie GetUpdateRgn wykonywane natychmiast po wywołaniu w celu BeginPaint pobrania pustego regionu aktualizacji.

CWnd::GetWindow

Zwraca wskaźnik do żądanego okna lub NULL jeśli nie.

CWnd* GetWindow(UINT nCmd) const;

Parametry

*nCmd*
Określa relację między CWnd i zwróconym oknem. Może przyjąć jedną z następujących wartości:

  • GW_CHILD Identyfikuje pierwsze okno podrzędne CWnd .

  • GW_HWNDFIRST Jeśli CWnd jest oknem podrzędnym, zwraca pierwsze okno elementu równorzędnego. W przeciwnym razie zwraca pierwsze okno najwyższego poziomu na liście.

  • GW_HWNDLAST Jeśli CWnd jest oknem podrzędnym, zwraca ostatnie okno elementu równorzędnego. W przeciwnym razie zwraca ostatnie okno najwyższego poziomu na liście.

  • GW_HWNDNEXT Zwraca następne okno na liście menedżera okien.

  • GW_HWNDPREV Zwraca poprzednie okno na liście menedżera okien.

  • GW_OWNERCWnd Identyfikuje właściciela.

Wartość zwracana

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

CWnd::GetWindowContextHelpId

Wywołaj tę funkcję składową, aby pobrać identyfikator kontekstu pomocy, jeśli istnieje, skojarzony z oknem.

DWORD GetWindowContextHelpId() const;

Wartość zwracana

Identyfikator kontekstu pomocy. Zwraca wartość 0, jeśli okno nie ma żadnego.

CWnd::GetWindowedChildCount

Wywołaj tę funkcję składową, aby pobrać liczbę skojarzonych okien podrzędnych.

long GetWindowedChildCount();

Wartość zwracana

Liczba okien podrzędnych skojarzonych z obiektem CWnd .

CWnd::GetWindowDC

Pobiera kontekst wyświetlania dla całego okna, w tym pasek podpis, menu i paski przewijania.

CDC* GetWindowDC();

Wartość zwracana

Określa kontekst wyświetlania dla danego okna, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie NULL.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia. ReleaseDC należy wywołać raz dla każdego pomyślnego wywołania metody GetWindowDC.

Uwagi

Kontekst wyświetlania okna umożliwia malowanie w dowolnym miejscu w CWndprogramie, ponieważ początek kontekstu jest lewym górnym róg CWnd zamiast obszaru klienta.

Atrybuty domyślne są przypisywane do kontekstu wyświetlania za każdym razem, gdy pobiera kontekst. Poprzednie atrybuty zostaną utracone.

GetWindowDC ma być używany do specjalnych efektów malowania w obszarze niekliencki CWnd . Malowanie w obszarach innych niż klienckie okna nie jest zalecane.

Funkcja GetSystemMetrics systemu Windows może służyć do pobierania wymiarów różnych części obszaru nonclient, takich jak pasek podpis, menu i paski przewijania.

Po zakończeniu ReleaseDC malowania należy wywołać funkcję składową, aby zwolnić kontekst wyświetlania. Nie można zwolnić kontekstu wyświetlania poważnie wpłynie na obraz żądany przez aplikacje z powodu ograniczeń liczby kontekstów urządzeń, które mogą być otwarte w tym samym czasie.

CWnd::GetWindowInfo

Pobiera informacje o oknie.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Parametry

pwi
Wskaźnik do WINDOWINFO struktury.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji GetWindowInfo, zgodnie z opisem w zestawie Windows SDK.

CWnd::GetWindowlessChildCount

Pobiera liczbę skojarzonych okien podrzędnych bez okien.

long GetWindowlessChildCount();

Wartość zwracana

Liczba okien podrzędnych bez okien skojarzonych z obiektem CWnd .

CWnd::GetWindowPlacement

Pobiera stan wyświetlania i normalne (przywrócone), zminimalizowane i zmaksymalizowane pozycje okna.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Parametry

lpwndpl
WINDOWPLACEMENT Wskazuje strukturę, która odbiera informacje o stanie wyświetlania i pozycji.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Element flags członkowski struktury pobranej WINDOWPLACEMENT przez tę funkcję jest zawsze 0. Jeśli CWnd element jest zmaksymalizowany, element showCmd członkowski to WINDOWPLACEMENTSW_SHOWMAXIMIZED. Jeśli okno zostanie zminimalizowane, jest to SW_SHOWMINIMIZED. SW_SHOWNORMAL Jest inaczej.

CWnd::GetWindowRect

Kopiuje wymiary prostokąta ograniczenia CWnd obiektu do struktury wskazywanej przez lpRectelement .

void GetWindowRect(LPRECT lpRect) const;

Parametry

lpRect
CRect Wskazuje obiekt lub RECT strukturę, która będzie otrzymywać współrzędne ekranu w lewym górnym i prawym dolnym rogu.

Uwagi

Wymiary są podane we współrzędnych ekranu względem lewego górnego rogu ekranu ekranu. Wymiary pasków podpis, obramowania i przewijania, jeśli są obecne, są uwzględniane.

CWnd::GetWindowRgn

Wywołaj tę funkcję składową, aby uzyskać region okna okna.

int GetWindowRgn(HRGN hRgn)const;

Parametry

hRgn
Uchwyt do regionu okna.

Wartość zwracana

Wartość zwracana określa typ regionu, który uzyskuje funkcja. Może to być jedna z następujących wartości:

  • NULLREGION Region jest pusty.

  • SIMPLEREGION Region jest pojedynczym prostokątem.

  • COMPLEXREGION Region jest więcej niż jeden prostokąt.

  • ERROR Błąd; region nie ma wpływu na ten region.

Uwagi

Region okna określa obszar w oknie, w którym system operacyjny zezwala na rysowanie. System operacyjny nie wyświetla żadnej części okna, która znajduje się poza regionem okna.

Współrzędne regionu okna są względem lewego górnego rogu okna, a nie obszaru klienta okna.

Aby ustawić region okna okna, wywołaj metodę CWnd::SetWindowRgn.

CWnd::GetWindowText

Kopiuje CWnd tytuł podpis (jeśli ma jeden) do buforu wskazywanego przez lpszStringBuf lub do ciągu rStringdocelowego .

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parametry

lpszStringBuf
Wskazuje bufor, który ma otrzymać skopiowany ciąg tytułu okna.

nMaxCount
Określa maksymalną liczbę znaków do skopiowania do buforu, łącznie z znakiem zerowym zakończenia. Jeśli ciąg jest dłuższy niż liczba znaków określonych w pliku nMaxCount, zostanie obcięty.

rString
CString Obiekt, który ma otrzymać skopiowany ciąg tytułu okna.

Wartość zwracana

Określa długość skopiowanego ciągu, w znakach, a nie w tym znak null zakończenia. Wartość jest 0, jeśli CWnd nie ma podpis lub jeśli podpis jest pusta.

Uwagi

CWnd Jeśli obiekt jest kontrolką, GetWindowText funkcja składowa kopiuje tekst w kontrolce zamiast kopiować podpis.

Ta funkcja składowa powoduje wysłanie komunikatu WM_GETTEXTCWnd do obiektu.

Przykład

Zobacz przykład dla elementu CWnd::SetWindowText.

CWnd::GetWindowTextLength

Zwraca długość CWnd obiektu podpis tytułu.

int GetWindowTextLength() const;

Wartość zwracana

Określa długość tekstu w znakach, a nie zawiera żadnego znaku zakończenia wartości null. Wartość to 0, jeśli taki tekst nie istnieje.

Uwagi

Jeśli CWnd jest kontrolką, GetWindowTextLength funkcja składowa zwraca długość tekstu w kontrolce zamiast podpis.

Ta funkcja składowa powoduje wysłanie komunikatu WM_GETTEXTLENGTHCWnd do obiektu.

Przykład

Zobacz przykład dla elementu CWnd::SetWindowText.

CWnd::HideCaret

Ukrywa daszek, usuwając go z ekranu wyświetlania.

void HideCaret();

Uwagi

Mimo że daszek nie jest już widoczny, można go wyświetlić ponownie za pomocą funkcji składowej ShowCaret . Ukrywanie karetki nie niszczy swojego obecnego kształtu.

Ukrywanie jest skumulowane. Jeśli HideCaret w wierszu wywoływano pięć razy, ShowCaret funkcja składowa musi być wywoływana pięć razy przed pokazaniem karetki.

CWnd::HiliteMenuItem

Wyróżnia lub usuwa wyróżnienie z elementu menu najwyższego poziomu (menu-pasek).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parametry

pMenu
Identyfikuje menu najwyższego poziomu, które zawiera element do wyróżnienia.

nIDHiliteItem
Określa element menu, który ma zostać wyróżniony, w zależności od wartości parametru nHilite .

nHilite
Określa, czy element menu jest wyróżniony, czy wyróżnienie zostało usunięte. Może to być kombinacja lub MF_HILITE z MF_BYCOMMAND lub MF_UNHILITEMF_BYPOSITION. Wartości można łączyć przy użyciu operatora bitowego OR . Te wartości mają następujące znaczenie:

  • MF_BYCOMMAND Interpretuje nIDHiliteItem jako identyfikator elementu menu (interpretacja domyślna).

  • MF_BYPOSITION Interpretuje nIDHiliteItem jako przesunięcie na podstawie zera elementu menu.

  • MF_HILITE Wyróżnia element. Jeśli ta wartość nie zostanie podana, wyróżnienie zostanie usunięte z elementu.

  • MF_UNHILITE Usuwa wyróżnienie z elementu.

Wartość zwracana

Określa, czy element menu został wyróżniony. Nonzero, jeśli element został wyróżniony; w przeciwnym razie 0.

Uwagi

Flagi MF_HILITE i MF_UNHILITE mogą być używane tylko z tą funkcją składową. Nie można ich używać z funkcją składową CMenu::ModifyMenu .

CWnd::HtmlHelp

Wywołaj tę funkcję składową, aby wywołać aplikację HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parametry

dwData
Określa dodatkowe dane. Użyta wartość zależy od wartości parametru nCmd .

nCmd
Określa typ żądanej pomocy. Aby uzyskać listę możliwych wartości i ich wpływ na dwData parametr, zobacz uCommand parametr opisany w dokumentacji interfejsu API pomocy HTML w zestawie Windows SDK.

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::HtmlHelp.

CWnd::InitDynamicLayout

Wywoływana przez platformę w celu zainicjowania dynamicznego układu okna.

void InitDynamicLayout();

Uwagi

Nie należy bezpośrednio wywoływać tej metody.

CWnd::Invalidate

Unieważnia cały obszar klienta programu CWnd.

void Invalidate(BOOL bErase = TRUE);

Parametry

bErase
Określa, czy tło w regionie aktualizacji ma zostać usunięte.

Uwagi

Obszar klienta jest oznaczony do malowania po wystąpieniu następnego WM_PAINT komunikatu. Region można również zweryfikować przed wystąpieniem komunikatu WM_PAINTValidateRect przez funkcję lub ValidateRgn składową.

Parametr bErase określa, czy tło w obszarze aktualizacji ma zostać wymazane po przetworzeniu regionu aktualizacji. Jeśli bErase element ma TRUEwartość , tło jest usuwane, gdy BeginPaint wywoływana jest funkcja składowa; jeśli bErase to FALSE, tło pozostanie niezmienione. Jeśli bErase znajduje się TRUE w jakiejkolwiek części regionu aktualizacji, tło w całym regionie, a nie tylko w danej części, zostanie usunięte.

System Windows wysyła WM_PAINT komunikat zawsze, gdy CWnd region aktualizacji nie jest pusty i nie ma żadnych innych komunikatów w kolejce aplikacji dla tego okna.

Przykład

Zobacz przykład dla elementu CWnd::UpdateWindow.

CWnd::InvalidateRect

Unieważnia obszar klienta w danym prostokątze, dodając ten prostokąt do CWnd regionu aktualizacji.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parametry

lpRect
CRect Wskazuje obiekt lub RECT strukturę zawierającą prostokąt (we współrzędnych klienta) do dodania do regionu aktualizacji. Jeśli lpRect wartość to NULL, cały obszar klienta zostanie dodany do regionu.

bErase
Określa, czy tło w regionie aktualizacji ma zostać usunięte.

Uwagi

Unieważniony prostokąt wraz ze wszystkimi innymi obszarami w regionie aktualizacji jest oznaczony do malowania po wysłaniu następnego WM_PAINT komunikatu. Unieważnione obszary gromadzą się w regionie aktualizacji do momentu przetworzenia regionu w momencie następnego WM_PAINT wywołania lub do momentu zweryfikowania regionu przez ValidateRect funkcję lub ValidateRgn .

Parametr bErase określa, czy tło w obszarze aktualizacji ma zostać wymazane po przetworzeniu regionu aktualizacji. Jeśli bErase element ma TRUEwartość , tło jest usuwane, gdy BeginPaint wywoływana jest funkcja składowa; jeśli bErase to FALSE, tło pozostanie niezmienione. Jeśli bErase znajduje się TRUE w jakiejkolwiek części regionu aktualizacji, tło w całym regionie zostanie wymazane, a nie tylko w danej części.

System Windows wysyła WM_PAINT komunikat zawsze, gdy CWnd region aktualizacji nie jest pusty i nie ma żadnych innych komunikatów w kolejce aplikacji dla tego okna.

CWnd::InvalidateRgn

Unieważnia obszar klienta w danym regionie, dodając go do bieżącego regionu aktualizacji .CWnd

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parametry

pRgn
Wskaźnik do CRgn obiektu, który identyfikuje region, który ma zostać dodany do regionu aktualizacji. Przyjmuje się, że region ma współrzędne klienta. Jeśli ten parametr to NULL, cały obszar klienta zostanie dodany do regionu aktualizacji.

bErase
Określa, czy tło w regionie aktualizacji ma zostać usunięte.

Uwagi

Unieważniony region wraz ze wszystkimi innymi obszarami w regionie aktualizacji jest oznaczony do malowania po następnym wysłaniu komunikatu WM_PAINT . Unieważnione obszary gromadzą się w regionie aktualizacji do momentu przetworzenia regionu po WM_PAINT następnym wysłaniu komunikatu lub do momentu zweryfikowania regionu przez ValidateRect funkcję lub ValidateRgn .

Parametr bErase określa, czy tło w obszarze aktualizacji ma zostać wymazane po przetworzeniu regionu aktualizacji. Jeśli bErase element ma TRUEwartość , tło jest usuwane, gdy BeginPaint wywoływana jest funkcja składowa; jeśli bErase to FALSE, tło pozostanie niezmienione. Jeśli bErase znajduje się TRUE w jakiejkolwiek części regionu aktualizacji, tło w całym regionie, a nie tylko w danej części, zostanie usunięte.

System Windows wysyła WM_PAINT komunikat zawsze, gdy CWnd region aktualizacji nie jest pusty i nie ma żadnych innych komunikatów w kolejce aplikacji dla tego okna.

Dany region musi zostać utworzony wcześniej przez jedną z funkcji regionu.

CWnd::InvokeHelper

Wywołaj tę funkcję składową, aby wywołać metodę kontrolki ActiveX lub właściwość określoną przez dwDispIDelement w kontekście określonym przez wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Parametry

dwDispID
Identyfikuje metodę lub właściwość do wywołania.

wFlags
Flagi opisujące kontekst wywołania metody IDispatch::Invoke.

vtRet
Określa typ wartości zwracanej. Aby uzyskać możliwe wartości, zobacz sekcję Uwagi dla COleDispatchDriver::InvokeHelperelementu .

pvRet
Adres zmiennej, która będzie otrzymywać wartość właściwości lub wartość zwracaną. Musi być zgodny z typem określonym przez vtRet.

pbParamInfo
Wskaźnik do ciągu o wartości null zakończonych bajtami określających typy parametrów poniżej pbParamInfo. Aby uzyskać możliwe wartości, zobacz sekcję Uwagi dla COleDispatchDriver::InvokeHelperelementu .

...
Lista zmiennych parametrów typów określonych w .pbParamInfo

Uwagi

Parametr pbParamInfo określa typy parametrów przekazywanych do metody lub właściwości. Lista zmiennych argumentów jest reprezentowana przez ... deklarację składni.

Ta funkcja konwertuje parametry na VARIANTARG wartości, a następnie wywołuje metodę IDispatch::Invoke w kontrolce ActiveX. Jeśli wywołanie nie powiedzie się IDispatch::Invoke , ta funkcja zgłosi wyjątek. Jeśli element SCODE (kod stanu) zwracany przez IDispatch::Invoke element to DISP_E_EXCEPTION, funkcja zgłasza COleException obiekt, w przeciwnym razie zgłasza element COleDispatchException.

Uwaga

Ta funkcja powinna być wywoływana tylko w obiekcie reprezentującym CWnd kontrolkę ActiveX.

Aby uzyskać więcej informacji na temat korzystania z tej funkcji składowej z kontenerami kontrolek ActiveX, zobacz artykuł ActiveX Control Containers: Programming ActiveX Controls in an ActiveX Control Container (Kontenery kontrolek ActiveX: programowanie kontrolek ActiveX w kontenerze kontrolek ActiveX).

CWnd::IsChild

Wskazuje, czy okno określone przez pWnd jest oknem podrzędnym, czy innym bezpośrednim elementem potomnym .CWnd

BOOL IsChild(const CWnd* pWnd) const;

Parametry

pWnd
Identyfikuje okno do przetestowania.

Wartość zwracana

Określa wynik funkcji. Wartość jest niezerowa, jeśli okno zidentyfikowane przez pWnd jest oknem CWndpodrzędnym ; w przeciwnym razie 0.

Uwagi

Okno podrzędne jest bezpośrednim elementem potomnym CWnd , jeśli CWnd obiekt znajduje się w łańcuchu okien nadrzędnych, które prowadzą z oryginalnego okna podręcznego do okna podrzędnego.

CWnd::IsD2DSupportEnabled

Określa, czy obsługa D2D jest włączona.

BOOL IsD2DSupportEnabled();

Wartość zwracana

TRUE jeśli funkcja jest włączona; w przeciwnym razie FALSE.

CWnd::IsDialogMessage

Wywołaj tę funkcję składową, aby określić, czy dany komunikat jest przeznaczony dla okna dialogowego bez moderowania; jeśli tak jest, ta funkcja przetwarza komunikat.

BOOL IsDialogMessage(LPMSG lpMsg);

Parametry

lpMsg
Wskazuje strukturę zawierającą MSG komunikat do sprawdzenia.

Wartość zwracana

Określa, czy funkcja składowa przetworzyła dany komunikat. Jest to niezerowe, jeśli komunikat został przetworzony; w przeciwnym razie 0. Jeśli zwraca wartość 0, wywołaj CWnd::PreTranslateMessage funkcję składową klasy bazowej, aby przetworzyć komunikat. W zastąpieniu funkcji składowej CWnd::PreTranslateMessage kod wygląda następująco:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Uwagi

IsDialogMessage Gdy funkcja przetwarza komunikat, sprawdza komunikaty klawiaturowe i konwertuje je na polecenia wyboru odpowiedniego okna dialogowego. Na przykład klawisz TAB wybiera następną kontrolkę lub grupę kontrolek, a klawisz STRZAŁKA W DÓŁ wybiera następną kontrolkę w grupie.

Nie można przekazać komunikatu przetworzonego TranslateMessage do IsDialogMessage funkcji systemu Windows lubDispatchMessage, ponieważ został on już przetworzony.

CWnd::IsDlgButtonChecked

Określa, czy obok kontrolki przycisku jest widoczny znacznik wyboru.

UINT IsDlgButtonChecked(int nIDButton) const;

Parametry

nIDButton
Określa identyfikator całkowity kontrolki przycisku.

Wartość zwracana

Nonzero, jeśli dana kontrolka jest zaznaczona, i 0, jeśli nie jest zaznaczone. Można zaznaczyć tylko przyciski radiowe i pola wyboru. W przypadku przycisków trójstanowych wartość zwracana może wynosić 2, jeśli przycisk jest nieokreślony. Ta funkcja składowa zwraca wartość 0 dla naciśnięcia.

Uwagi

Jeśli przycisk jest kontrolką trójstanową, funkcja składowa określa, czy jest wygaszona, sprawdzana, czy też nie.

CWnd::IsDynamicLayoutEnabled

Określa, czy układ dynamiczny jest włączony w tym oknie. Jeśli układ dynamiczny jest włączony, pozycja i rozmiar okien podrzędnych mogą ulec zmianie, gdy użytkownik zmieni rozmiar okna nadrzędnego.

BOOL IsDynamicLayoutEnabled() const;

Wartość zwracana

TRUE jeśli układ dynamiczny jest włączony; w przeciwnym razie FALSE.

Uwagi

CWnd::IsIconic

Określa, czy CWnd jest zminimalizowany (kultowy).

BOOL IsIconic() const;

Wartość zwracana

Bezzerowe, jeśli CWnd jest zminimalizowane; w przeciwnym razie 0.

Przykład

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

Określa, czy CWnd ma obsługę dotykową.

BOOL IsTouchWindow() const;

Wartość zwracana

TRUE jeśli CWnd ma obsługę dotykową; w przeciwnym razie FALSE.

Uwagi

CWnd::IsWindowEnabled

Określa, czy CWnd jest włączona dla myszy i klawiatury wejściowej.

BOOL IsWindowEnabled() const;

Wartość zwracana

Wartość niezerowa, jeśli CWnd jest włączona; w przeciwnym razie 0.

Przykład

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

Określa stan widoczności danego okna.

BOOL IsWindowVisible() const;

Wartość zwracana

Niezerowy, jeśli CWnd jest widoczny (ma WS_VISIBLE ustawiony bit stylu, a okno nadrzędne jest widoczne). Ponieważ wartość zwracana odzwierciedla stan bitu WS_VISIBLE stylu, wartość zwracana może być niezerowa, mimo że CWnd jest całkowicie zaciemniana przez inne okna.

Uwagi

Okno ma stan widoczności wskazywany WS_VISIBLE przez bit stylu. Gdy ten bit stylu jest ustawiony z wywołaniem funkcji składowej ShowWindow , zostanie wyświetlone okno, a kolejne rysunek do okna jest wyświetlany tak długo, jak okno ma ustawiony bit stylu.

Każdy rysunek do okna, który ma WS_VISIBLE styl, nie będzie wyświetlany, jeśli okno jest pokryte przez inne okna lub zostanie obcięte przez jego okno nadrzędne.

Przykład

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

Określa, czy CWnd został zmaksymalizowany.

BOOL IsZoomed() const;

Wartość zwracana

Wartość niezerowa, jeśli CWnd jest zmaksymalizowana; w przeciwnym razie 0.

CWnd::KillTimer

Zabija zdarzenie czasomierza zidentyfikowane przez nIDEvent wcześniejsze wywołanie metody .SetTimer

BOOL KillTimer(UINT_PTR nIDEvent);

Parametry

nIDEvent
Wartość zdarzenia czasomierza przekazana do SetTimer.

Wartość zwracana

Określa wynik funkcji. Wartość jest niezerowa, jeśli zdarzenie zostało zabite. Jest to wartość 0, jeśli KillTimer funkcja składowa nie może odnaleźć określonego zdarzenia czasomierza.

Uwagi

Oczekujące WM_TIMER komunikaty skojarzone z czasomierzem nie są usuwane z kolejki komunikatów.

Przykład

Zobacz przykład dla elementu CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Wywoływana przez strukturę w celu załadowania informacji o układzie dynamicznym z pliku zasobu.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parametry

lpszResourceName
Nazwa zasobu zawierającego żądane informacje o układzie dynamicznym dla tego okna.

Wartość zwracana

Nonzero, jeśli funkcja zakończy się pomyślnie. Wartość 0 jest 0, jeśli wystąpi awaria.

Uwagi

Nie należy bezpośrednio wywoływać tej metody.

CWnd::LockWindowUpdate

Wyłącza rysowanie w danym oknie.

BOOL LockWindowUpdate();

Wartość zwracana

Nonzero, jeśli funkcja zakończy się pomyślnie. Wartość 0 występuje lub jeśli LockWindowUpdate funkcja została użyta do zablokowania innego okna.

Uwagi

Nie można przenieść zablokowanego okna. Jednocześnie można zablokować tylko jedno okno. Aby odblokować okno zablokowane za pomocą LockWindowUpdatepolecenia , wywołaj metodę UnlockWindowUpdate.

Jeśli aplikacja z zablokowanym oknem (lub wszelkimi zablokowanymi oknami podrzędnymi) wywołuje GetDCfunkcję , GetDCExlub BeginPaint Windows, wywołana funkcja zwraca kontekst urządzenia, którego widoczny region jest pusty. Nastąpi to do momentu odblokowania okna przez wywołanie funkcji składowej UnlockWindowUpdate .

Podczas gdy aktualizacje okien są zablokowane, system śledzi prostokąt ograniczenia wszystkich operacji rysowania do kontekstów urządzenia skojarzonych z zablokowanym oknem. Po ponownym włączeniu rysunku ten prostokąt ograniczenia jest unieważniany w zablokowanym oknie i oknach podrzędnych, aby wymusić ostateczną WM_PAINT aktualizację ekranu. Jeśli podczas aktualizowania okna nie wystąpił żaden rysunek, żaden obszar nie zostanie unieważniony.

Funkcja LockWindowUpdate składowa nie sprawia, że dane okno jest niewidoczne i nie czyści WS_VISIBLE bit stylu.

CWnd::m_hWnd

Uchwyt okna systemu Windows dołączony do tego CWndelementu .

HWND m_hWnd;

Uwagi

Element m_hWnd członkowski danych jest publiczną zmienną typu HWND.

CWnd::MapWindowPoints

Konwertuje (mapy) zestaw punktów z przestrzeni współrzędnej obiektu na przestrzeń współrzędną CWnd innego okna.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Parametry

pwndTo
Określa okno, w którym są konwertowane punkty. Jeśli ten parametr to NULL, punkty są konwertowane na współrzędne ekranu.

lpRect
Określa prostokąt, którego punkty mają być konwertowane. Pierwsza wersja tej funkcji jest dostępna tylko dla systemu Windows 3.1 lub nowszego.

lpPoint
Wskaźnik do tablicy POINT struktury zawierającej zestaw punktów do przekonwertowania.

nCount
Określa liczbę POINT struktur w tablicy wskazywanej przez lpPoint.

CWnd::MessageBox

Tworzy i wyświetla okno zawierające komunikat dostarczony przez aplikację i podpis oraz kombinację wstępnie zdefiniowanych ikon i przycisków opisanych na liście Style pola komunikatów.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parametry

lpszText
CString Wskazuje obiekt lub ciąg zakończony o wartości null zawierający komunikat, który ma być wyświetlany.

lpszCaption
CString Wskazuje obiekt lub ciąg zakończony o wartości null, który ma być używany dla podpis okna komunikatów. Jeśli lpszCaption wartość to NULL, zostanie użyta domyślna podpis "Błąd".

nType
Określa zawartość i zachowanie pola komunikatu.

Wartość zwracana

Ta metoda wykorzystuje funkcję zdefiniowaną MessageBox w zestawie Windows SDK. Ta metoda zwraca wynik wywołania tej funkcji.

Uwagi

Użyj funkcji AfxMessageBox globalnej zamiast tej funkcji składowej, aby zaimplementować pole komunikatu w aplikacji.

Poniżej przedstawiono różne ikony systemowe, których można użyć w polu komunikatu:

Ikona Macro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOPi 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 i MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. MB_ICONASTERISK i MB_ICONINFORMATION

Przykład

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

Wywołaj tę funkcję składową, aby zmodyfikować styl okna.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametry

dwRemove
Określa style okna do usunięcia podczas modyfikacji stylu.

dwAdd
Określa style okna do dodania podczas modyfikacji stylu.

nFlags
Flagi, które mają być przekazywane do SetWindowPos, lub zero, jeśli SetWindowPos nie powinny być wywoływane. Wartością domyślną jest zero. Zobacz sekcję Uwagi, aby zapoznać się z listą flag wstępnych.

Wartość zwracana

Bezzerowe, jeśli styl został pomyślnie zmodyfikowany; w przeciwnym razie, 0.

Uwagi

Style do dodania lub usunięcia można połączyć za pomocą operatora bitowego OR (|). Aby uzyskać informacje o dostępnych stylach okien, zobacz tematy Style okien i CreateWindow w zestawie Windows SDK.

Jeśli nFlags element nie jestzerowy, ModifyStyle wywołuje funkcję SetWindowPos interfejsu API systemu Windows i ponownie rysuje okno, łącząc nFlags się z następującymi czterema flagami ustawień wstępnych:

  • SWP_NOSIZE Zachowuje bieżący rozmiar.

  • SWP_NOMOVE Zachowuje bieżące położenie.

  • SWP_NOZORDER Zachowuje bieżącą kolejność Z.

  • SWP_NOACTIVATE Nie aktywuje okna.

Aby zmodyfikować style rozszerzone okna, zobacz ModifyStyleEx.

Uwaga

W przypadku niektórych stylów w niektórych kontrolkach ( ES_READONLY na przykład styl w kontrolce edycji) ModifyStyle może nie zmienić stylu, ponieważ kontrolka może wymagać specjalnego przetwarzania wewnętrznego. W takich przypadkach odpowiedni komunikat o zmianie stylu będzie dostępny ( EM_SETREADONLY w przykładzie).

Przykład

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

Wywołaj tę funkcję składową, aby zmodyfikować rozszerzony styl okna.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametry

dwRemove
Określa rozszerzone style do usunięcia podczas modyfikowania stylu.

dwAdd
Określa rozszerzone style do dodania podczas modyfikowania stylu.

nFlags
Flagi, które mają być przekazywane do SetWindowPos, lub zero, jeśli SetWindowPos nie powinny być wywoływane. Wartością domyślną jest zero. Zobacz sekcję Uwagi, aby zapoznać się z listą flag wstępnych.

Wartość zwracana

Bezzerowe, jeśli styl został pomyślnie zmodyfikowany; w przeciwnym razie, 0.

Uwagi

Style do dodania lub usunięcia można połączyć za pomocą operatora bitowego OR (|). Zobacz tematy Rozszerzone style okien w tej książce i CreateWindowEx w zestawie Windows SDK, aby uzyskać informacje o dostępnych stylach rozszerzonych

Jeśli nFlags element nie jestzerowy, ModifyStyleEx wywołuje funkcję SetWindowPos interfejsu API systemu Windows i ponownie rysuje okno, łącząc nFlags się z następującymi czterema flagami ustawień wstępnych:

  • SWP_NOSIZE Zachowuje bieżący rozmiar.

  • SWP_NOMOVE Zachowuje bieżące położenie.

  • SWP_NOZORDER Zachowuje bieżącą kolejność Z.

  • SWP_NOACTIVATE Nie aktywuje okna.

Aby zmodyfikować okna przy użyciu regularnych stylów okien, zobacz ModifyStyle.

Przykład

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

Zmienia położenie i wymiary.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Parametry

x
Określa nowe położenie lewej strony obiektu CWnd.

y
Określa nowe położenie górnej części obiektu CWnd.

nWidth
Określa nową szerokość obiektu CWnd.

nHeight
Określa nową wysokość obiektu CWnd.

bRepaint
Określa, czy CWnd ma być przemalowany. Jeśli TRUEprogram CWnd odbiera WM_PAINT komunikat w procedurze OnPaint obsługi komunikatów w zwykły sposób. Jeśli ten parametr ma FALSEwartość , nie ma żadnego rodzaju przemalowania. Dotyczy to obszaru klienta, obszaru innego niż klient (w tym tytułów i pasków przewijania) oraz do dowolnej części okna nadrzędnego odkrytego CWndw wyniku przeniesienia. Gdy ten parametr ma FALSEwartość , aplikacja musi jawnie unieważnić lub ponownie wyrysować wszystkie części okna nadrzędnego CWnd i, które muszą zostać ponownie rysowane.

lpRect
CRect Obiekt lub RECT struktura określająca nowy rozmiar i położenie.

Uwagi

W przypadku obiektu x najwyższego poziomu CWnd parametry i y są względne względem lewego górnego rogu ekranu. W przypadku obiektu podrzędnego CWnd są one względne względem lewego górnego rogu obszaru klienta okna nadrzędnego.

Funkcja MoveWindow wysyła WM_GETMINMAXINFO komunikat. Obsługa tego komunikatu umożliwia CWnd modyfikowanie wartości domyślnych dla największych i najmniejszych możliwych okien. Jeśli parametry funkcji składowej MoveWindow przekraczają te wartości, wartości można zastąpić wartościami minimalnymi lub maksymalnymi w procedurze WM_GETMINMAXINFO obsługi.

Przykład

Zobacz przykład dla elementu CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Sygnalizuje, że wystąpiło wstępnie zdefiniowane zdarzenie. Jeśli jakiekolwiek aplikacje klienckie zarejestrowały funkcję haka dla zdarzenia, system wywołuje funkcję haka klienta.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parametry

event
Określa zdarzenie, które miało miejsce. Ta wartość musi być jedną z stałych zdarzeń.

idObjectType
Określa rodzaj obiektu, który wygenerował zdarzenie. Ta wartość jest jednym ze wstępnie zdefiniowanych identyfikatorów obiektów lub niestandardowej wartości identyfikatora obiektu.

idObject
Określa, czy zdarzenie zostało wygenerowane przez obiekt, czy element podrzędny obiektu. Jeśli ta wartość to CHILDID_SELF, zdarzenie zostało wygenerowane przez sam obiekt. Jeśli nie, ta wartość jest identyfikatorem podrzędnym elementu, który wygenerował zdarzenie.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji NotifyWinEvent, zgodnie z opisem w zestawie Windows SDK.

CWnd::OnActivate

Struktura wywołuje tę funkcję składową CWnd , gdy obiekt jest aktywowany lub dezaktywowany.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parametry

nState
Określa, czy CWnd element jest aktywowany, czy dezaktywowany. Może to być jedna z następujących wartości:

  • WA_INACTIVE Okno jest dezaktywowane.

  • WA_ACTIVE Okno jest aktywowane za pomocą innej metody niż kliknięcie myszą (na przykład za pomocą interfejsu klawiatury do wybrania okna).

  • WA_CLICKACTIVE Okno jest aktywowane przez kliknięcie myszą.

pWndOther
Wskaźnik do CWnd aktywowania lub dezaktywowania. Wskaźnik może mieć wartość NULLi może być tymczasowy.

bMinimized
Określa zminimalizowany stan CWnd aktywowania lub dezaktywowania. Wartość TRUE wskazuje, że okno jest zminimalizowane.

Jeśli TRUEelement jest CWnd aktywowany; w przeciwnym razie jest dezaktywowany.

Uwagi

CWnd Jeśli obiekt jest aktywowany za pomocą kliknięcia myszą, otrzyma również wywołanie funkcji składowejOnMouseActivate.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnActivateApp

Struktura wywołuje tę funkcję składową do wszystkich okien najwyższego poziomu aktywowanego zadania i dla wszystkich okien najwyższego poziomu zadania dezaktywowanego.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parametry

bActive
Określa, czy CWnd element jest aktywowany, czy dezaktywowany. TRUECWnd oznacza, że element jest aktywowany. FALSE oznacza, że element CWnd jest dezaktywowany.

dwThreadID
Określa wartość identyfikatora wątku. Jeśli bActive element to TRUE, dwThreadID identyfikuje wątek, który jest właścicielem CWnd dezaktywowanego elementu. Jeśli bActive element to FALSE, dwThreadID identyfikuje wątek, który jest właścicielem aktywowanego CWnd elementu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnAmbientProperty

Struktura wywołuje tę funkcję składową, aby uzyskać wartości właściwości otoczenia z okna zawierającego kontrolki OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parametry

pSite
Wskaźnik do lokacji kontrolki, która zażądała właściwości otoczenia.

dispid
Identyfikator wysyłki żądanej właściwości otoczenia.

pvar
Wskaźnik do struktury przydzielonej VARIANT przez obiekt wywołujący, za pomocą której zostanie zwrócona wartość właściwości otoczenia.

Wartość zwracana

TRUE jeśli właściwość otoczenia jest obsługiwana; FALSE jeśli nie.

Uwagi

Zastąpi tę funkcję, aby zmienić domyślne wartości właściwości otoczenia zwracane przez kontener sterowania OLE do kontrolek. Wszelkie żądania właściwości otoczenia, które nie są obsługiwane przez funkcję zastępowania, powinny być przekazywane do implementacji klasy bazowej.

CWnd::OnAppCommand

Platforma wywołuje tę funkcję składową, gdy użytkownik generuje zdarzenie polecenia aplikacji. Takie zdarzenie występuje, gdy użytkownik kliknie przycisk polecenia aplikacji lub wpisze klucz polecenia aplikacji.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parametry

pWnd
[in] Wskaźnik do CWnd obiektu reprezentującego okno, w którym użytkownik kliknął przycisk polecenia lub nacisnął klawisz polecenia. To okno może być oknem podrzędnym okna odbierającego komunikat.

nCmd
[in] Wskazuje polecenie aplikacji. Aby uzyskać listę możliwych wartości, zobacz polecenia w cmd sekcji parametru lParam .WM_APPCOMMAND

nDevice
[in] Urządzenie wejściowe, które wygenerowało zdarzenie wejściowe. Aby uzyskać listę możliwych wartości, zobacz urządzenia w uDevice sekcji parametru lParam .WM_APPCOMMAND

nKey
[in] Wskazuje wszystkie klucze wirtualne, które są wyłączone, takie jak klawisz CTRL lub lewy przycisk myszy. Aby uzyskać listę możliwych wartości, zobacz klucze w dwKeys sekcji parametru lParam .WM_APPCOMMAND Aby uzyskać więcej informacji, zobacz podpozycję "Parametry komunikatu" w temacie About Mouse Input (Informacje o danych wejściowych myszy).

Uwagi

Ta metoda odbiera WM_APPCOMMAND powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnAskCbFormatName

Struktura wywołuje tę funkcję składową, gdy Schowek zawiera uchwyt danych dla CF_OWNERDISPLAY formatu (czyli gdy właściciel Schowka wyświetli zawartość Schowka).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parametry

nMaxCount
Określa maksymalną liczbę bajtów do skopiowania.

lpszString
Wskazuje bufor, w którym ma być przechowywana kopia nazwy formatu.

Uwagi

Właściciel schowka powinien podać nazwę swojego formatu.

Zastąpi tę funkcję składową i skopiuj nazwę CF_OWNERDISPLAY formatu do określonego buforu, nie przekraczając maksymalnej liczby określonych bajtów.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCancelMode

Struktura wywołuje tę funkcję składową, aby poinformować o CWnd anulowaniu dowolnego trybu wewnętrznego.

afx_msg void OnCancelMode();

Uwagi

CWnd Jeśli obiekt ma fokus, jego OnCancelMode funkcja składowa jest wywoływana po wyświetleniu okna dialogowego lub okna komunikatu. CWnd Dzięki temu można anulować tryby, takie jak przechwytywanie myszy.

Domyślna implementacja odpowiada przez wywołanie ReleaseCapture funkcji systemu Windows. Zastąp tę funkcję składową w klasie pochodnej, aby obsługiwać inne tryby.

CWnd::OnCaptureChanged

Struktura wywołuje tę funkcję składową, aby powiadomić okno o utracie przechwytywania myszy.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parametry

pWnd
Wskaźnik do okna w celu uzyskania przechwytywania myszy

Uwagi

Okno odbiera ten komunikat, nawet jeśli wywołuje ReleaseCapture się sam. Aplikacja nie powinna próbować ustawiać przechwytywania myszy w odpowiedzi na ten komunikat. Po odebraniu tego komunikatu okno powinno zostać ponownie wyrysowane w razie potrzeby, aby odzwierciedlić nowy stan przechwytywania myszy.

Aby uzyskać informacje na ReleaseCapture temat funkcji systemu Windows, zobacz zestaw Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnChangeCbChain

Struktura wywołuje tę funkcję składową dla każdego okna w łańcuchu Clipboard-viewer, aby powiadomić go, że okno jest usuwane z łańcucha.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parametry

hWndRemove
Określa uchwyt okna, który jest usuwany z łańcucha Schowek-viewer.

hWndAfter
Określa uchwyt okna, który następuje po oknie usuwanym z łańcucha Schowek-viewer.

Uwagi

Każdy CWnd obiekt odbierający OnChangeCbChain wywołanie powinien używać SendMessage funkcji systemu Windows do wysyłania komunikatu WM_CHANGECBCHAIN do następnego okna w łańcuchu Schowek-viewer (uchwyt zwrócony przez SetClipboardViewerprogram ). Jeśli hWndRemove jest następnym oknem w łańcuchu, okno określone przez hWndAfter staje się następnym oknem, a komunikaty schowka są przekazywane do niego.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnChangeUIState

Wywoływana, gdy należy zmienić stan interfejsu użytkownika.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Parametry

nAction
Określa akcję, która ma zostać podjęta. Może być jedną z następujących wartości:

  • UIS_CLEAR Element stanu interfejsu użytkownika (określony przez nUIElement) powinien być ukryty.

  • UIS_INITIALIZE Element stanu interfejsu użytkownika (określony przez nUIElement) powinien zostać zmieniony na podstawie ostatniego zdarzenia wejściowego. Aby uzyskać więcej informacji, zobacz sekcję Uwagi w temacieWM_CHANGEUISTATE.

  • UIS_SET Element stanu interfejsu użytkownika (określony przez nUIElement) powinien być widoczny.

nUIElement
Określa, które elementy stanu interfejsu użytkownika mają wpływ lub styl kontrolki. Może być jedną z następujących wartości:

  • UISF_HIDEACCEL Akceleratory klawiatury.

  • UISF_HIDEFOCUS Wskaźniki fokusu.

  • UISF_ACTIVE Windows XP: Kontrolka powinna być rysowana w stylu używanym do aktywnych kontrolek.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu WM_CHANGEUISTATE zgodnie z opisem w zestawie WINDOWS SDK.

CWnd::OnChar

Struktura wywołuje tę funkcję składową, gdy naciśnięcie klawiszy przekłada się na znak niesystemowy.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Zawiera wartość kodu znaku klucza.

nRepCnt
Zawiera liczbę powtórzeń, ile razy naciśnięcie klawisza jest powtarzane, gdy użytkownik przytrzymuje klucz.

nFlags
Zawiera kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Znaczenie
0-15 Określa liczbę powtórzeń. Wartość jest liczbą powtórzeń naciśnięć klawiszy w wyniku przytrzymywania klucza przez użytkownika.
16-23 Określa kod skanowania. Wartość zależy od producenta oryginalnego sprzętu (OEM)
24 Określa, czy klucz jest klawiszem rozszerzonym, takim jak klawisz ALT po prawej stronie i klawisze CTRL, które są wyświetlane na ulepszonej klawiaturze 101- lub 102-klawiszowej. Wartość to 1, jeśli jest to klucz rozszerzony; w przeciwnym razie wartość wynosi 0.
25-28 Używane wewnętrznie przez system Windows.
29 Określa kod kontekstu. Wartość to 1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza ; w przeciwnym razie wartość to 0.
30 Określa poprzedni stan klucza. Wartość to 1, jeśli klucz nie działa przed wysłaniem komunikatu lub wynosi 0, jeśli klucz jest w górę.
31 Określa stan przejścia. Wartość to 1, jeśli klucz jest zwalniany, lub wynosi 0, jeśli jest naciśnięty klawisz.

Uwagi

Ta funkcja jest wywoływana przed funkcją składową OnKeyUp i po wywołaniu funkcji składowej OnKeyDown . OnChar zawiera wartość naciśnięcia lub zwolnienia klawisza klawiatury.

Ponieważ między naciśnięciem klawiszy i OnChar wywołaniami nie musi istnieć korespondencja "jeden do jednego", te informacje nFlags zazwyczaj nie są przydatne w aplikacjach. Informacje w programie nFlags dotyczą tylko ostatniego wywołania funkcji składowej OnKeyUp lub OnKeyDown funkcji składowej, która poprzedza wywołanie metody OnChar.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w systemie nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCharToItem

Wywoływane, gdy pole listy z LBS_WANTKEYBOARDINPUT stylem wysyła jego właścicielowi WM_CHARTOITEM wiadomość w odpowiedzi na WM_CHAR komunikat.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Parametry

nChar
Określa wartość klawisza naciśnięty przez użytkownika.

pListBox
Określa wskaźnik do pola listy. Może to być tymczasowe.

nIndex
Określa bieżącą pozycję karetki.

Wartość zwracana

Struktura wywołuje tę funkcję składową, aby określić akcję wykonywaną przez aplikację w odpowiedzi na wywołanie. Wartość zwracana -2 wskazuje, że aplikacja obsłużyła wszystkie aspekty wybierania elementu i nie chce dalszych działań według pola listy. Wartość zwracana -1 wskazuje, że pole listy powinno wykonać domyślną akcję w odpowiedzi na naciśnięcie klawisza. Wartość zwracana 0 lub większa określa indeks zerowy elementu w polu listy i wskazuje, że pole listy powinno wykonać domyślną akcję naciśnięcia klawiszy dla danego elementu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnChildActivate

CWnd Jeśli obiekt jest oknem podrzędnym interfejsu wielu dokumentów (MDI), jest wywoływany przez platformę po OnChildActivate kliknięciu paska tytułu okna lub aktywowaniu, przeniesieniu lub rozmiarze okna.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Ta funkcja składowa jest wywoływana przez okno nadrzędne tego okna, gdy otrzymuje komunikat powiadomienia, który ma zastosowanie do tego okna.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Numer komunikatu systemu Windows wysłany do okna nadrzędnego.

wParam
Parametr skojarzony z komunikatem.

lParam
Lparam skojarzony z komunikatem.

pLResult
Wskaźnik do wartości, która ma zostać zwrócona z procedury okna nadrzędnego. Ten wskaźnik będzie miał wartość NULL , jeśli nie jest oczekiwana żadna wartość zwracana.

Wartość zwracana

Niezero, jeśli to okno jest odpowiedzialne za obsługę komunikatu wysłanego do elementu nadrzędnego; w przeciwnym razie 0.

Uwagi

Nigdy nie wywołaj tej funkcji składowej bezpośrednio.

Domyślna implementacja tej funkcji składowej zwraca wartość 0, co oznacza, że element nadrzędny powinien obsługiwać komunikat.

Zastąpi tę funkcję składową, aby rozszerzyć sposób, w jaki kontrolka reaguje na komunikaty powiadomień.

CWnd::OnClipboardUpdate

Struktura wywołuje tę funkcję składową, gdy zawartość schowka uległa zmianie.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

Struktura wywołuje tę funkcję składową jako sygnał, że CWnd aplikacja lub ma zakończyć działanie.

afx_msg void OnClose();

Uwagi

Domyślna implementacja wywołuje metodę DestroyWindow.

CWnd::OnColorizationColorChanged

Struktura wywołuje ten element członkowski, gdy zasady renderowania dla obszaru nieklientowego uległy zmianie.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parametry

dwColorizationColor
[in] Określa nowy kolor koloryzacji. Format koloru to liczba szesnastkowa formularza 0xAARRGGBB, gdzie każdy z czterech składników waha się od 0x00 do 0xFF. Składnik AA jest wartością alfa, RR jest kolorem czerwonym, GG jest zielony, a BB jest niebieski.

bOpacity
[in] TRUE jeśli nowy kolor jest mieszany z nieprzezroczystością; FALSE jeśli tak nie jest.

Uwagi

Ta metoda odbiera WM_DWMNCRENDERINGCHANGED komunikat powiadomienia opisany w zestawie WINDOWS SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCommand

Platforma wywołuje tę funkcję składową, gdy użytkownik wybierze element z menu, gdy kontrolka podrzędna wysyła komunikat powiadomienia lub gdy naciśnięcie klawisza akceleratora jest tłumaczone.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parametry

wParam
Wyraz o niskiej kolejności wParam identyfikuje identyfikator polecenia elementu menu, kontrolki lub akceleratora. Słowo o wysokiej kolejności wParam określa komunikat powiadomienia, jeśli komunikat pochodzi z kontrolki. Jeśli komunikat pochodzi z akceleratora, wyraz o wysokiej kolejności to 1. Jeśli komunikat pochodzi z menu, wyraz o wysokiej kolejności wynosi 0.

lParam
Identyfikuje kontrolkę, która wysyła komunikat, jeśli komunikat pochodzi z kontrolki. lParam W przeciwnym razie wartość to 0.

Wartość zwracana

Aplikacja zwraca wartość niezerową, jeśli przetwarza ten komunikat; w przeciwnym razie 0.

Uwagi

OnCommand przetwarza mapę komunikatów dla powiadomień i ON_COMMAND wpisów sterujących oraz wywołuje odpowiednią funkcję składową.

Zastąp tę funkcję składową w klasie pochodnej WM_COMMAND , aby obsłużyć komunikat. Przesłonięcia nie będą przetwarzać mapy komunikatów, chyba że zostanie wywołana klasa OnCommand bazowa.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCompacting

Struktura wywołuje tę funkcję składową dla wszystkich okien najwyższego poziomu, gdy system Windows wykryje, że ponad 12,5 procent czasu systemu w okresie od 30 do 60 sekund jest poświęcany na kompaktowanie pamięci.

afx_msg void OnCompacting(UINT nCpuTime);

Parametry

nCpuTime
Określa stosunek czasu procesora CPU obecnie spędzonego przez system Windows kompaktowanie pamięci do czasu procesora CPU spędzonego na innych operacjach. Na przykład 8000h reprezentuje 50 procent czasu procesora CPU poświęcanego na kompaktowanie pamięci.

Uwagi

Oznacza to, że pamięć systemowa jest niska.

CWnd Gdy obiekt odbiera to wywołanie, powinien zwolnić jak najwięcej pamięci, biorąc pod uwagę bieżący poziom aktywności aplikacji i łączną liczbę aplikacji uruchomionych w systemie Windows. Aplikacja może wywołać funkcję systemu Windows, aby określić liczbę uruchomionych aplikacji.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCompareItem

Struktura wywołuje tę funkcję składową, aby określić względną pozycję nowego elementu w podrzędnym posortowanym polem kombi lub listy właściciela.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parametry

nIDCtl
Identyfikator kontrolki, która wysłała WM_COMPAREITEM komunikat.

lpCompareItemStruct
Zawiera długi wskaźnik do COMPAREITEMSTRUCT struktury danych zawierającej identyfikatory i dane dostarczone przez aplikację dla dwóch elementów w polu kombi lub listy.

Wartość zwracana

Wskazuje względną pozycję dwóch elementów. Może to być dowolna z następujących wartości:

Wartość Znaczenie
-1 Element 1 sortuje przed pozycją 2.
0 Element 1 i element 2 posortuj to samo.
1 Element 1 sortuje po elemencie 2.

Uwagi

Jeśli pole kombi lub listy zostanie utworzone za pomocą CBS_SORT stylu lub LBS_SORT , system Windows wyśle właściciel WM_COMPAREITEM pola kombi lub pola listy komunikat za każdym razem, gdy aplikacja doda nowy element.

Dwa elementy w polu kombi lub listy są reformowane w strukturze wskazywanej COMPAREITEMSTRUCT przez lpCompareItemStruct. OnCompareItem powinna zwrócić wartość wskazującą, które z elementów powinny pojawić się przed drugą. Zazwyczaj system Windows wykonuje to wywołanie kilka razy, dopóki nie określi dokładnego położenia nowego elementu.

hwndItem Jeśli składowa COMPAREITEMSTRUCT struktury należy do CListBox obiektu lubCComboBox, CompareItem wywoływana jest funkcja wirtualna odpowiedniej klasy. Zastąp CComboBox::CompareItem lub w klasie pochodnej CListBox lub CListBox::CompareItemCComboBox klasy, aby wykonać porównanie elementów.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCompositionChanged

Platforma wywołuje tę funkcję składową dla wszystkich okien najwyższego poziomu, gdy kompozycja Menedżera okien pulpitu (DWM) jest włączona lub wyłączona.

afx_msg void OnCompositionChanged();

Uwagi

Ta metoda odbiera WM_DWMCOMPOSITIONCHANGED powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnContextMenu

Wywoływana przez platformę, gdy użytkownik kliknął prawym przyciskiem myszy (kliknij prawym przyciskiem myszy) w oknie.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parametry

pWnd
Dojście do okna, w którym użytkownik kliknął prawym przyciskiem myszy. Może to być okno podrzędne okna odbierającego komunikat. Aby uzyskać więcej informacji na temat przetwarzania tego komunikatu, zobacz sekcję Uwagi.

pos
Położenie kursora, we współrzędnych ekranu, w momencie kliknięcia myszą.

Uwagi

Ten komunikat można przetworzyć, wyświetlając menu kontekstowe przy użyciu polecenia TrackPopupMenu.

Jeśli nie zostanie wyświetlone menu kontekstowe, należy przekazać ten komunikat do DefWindowProc funkcji. Jeśli okno jest oknem podrzędnym, DefWindowProc wysyła komunikat do elementu nadrzędnego. W przeciwnym razie wyświetla domyślne menu kontekstowe, DefWindowProc jeśli określona pozycja znajduje się w podpis okna.

CWnd::OnCopyData

Ta funkcja składowa jest wywoływana przez platformę w celu skopiowania danych z jednej aplikacji do innej.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parametry

pWnd
Wskaźnik do CWnd obiektu wysyłającego dane.

pCopyDataStruct
Wskaźnik do COPYDATASTRUCT struktury zawierającej wysyłane dane.

Wartość zwracana

Zwraca wartość TRUE , jeśli aplikacja odbierającego pomyślnie akceptuje dane. W przeciwnym razie zwraca wartość FALSE.

Uwagi

Przekazane dane nie mogą zawierać wskaźników ani innych odwołań do obiektów, które nie są dostępne dla aplikacji odbierających dane.

Podczas kopiowania danych nie można go zmienić przez inny wątek procesu wysyłania.

Aplikacja odbierającego powinna uwzględniać dane tylko do odczytu. Struktura wskazywana przez parametr pCopyDataStruct jest prawidłowa tylko podczas transferu danych, jednak aplikacja odbierający nie powinna zwolnić pamięci skojarzonej ze strukturą.

Jeśli aplikacja odbierający potrzebuje dostępu do danych po powrocie tej funkcji, musi skopiować dane odebrane do buforu lokalnego.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCreate

Platforma wywołuje tę funkcję składową, gdy aplikacja żąda utworzenia okna systemu Windows przez wywołanie Create funkcji lub CreateEx elementu członkowskiego.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parametry

lpCreateStruct
Wskazuje strukturę zawierającą CREATESTRUCT informacje o tworzonym CWnd obiekcie.

Wartość zwracana

OnCreate Musi zwrócić wartość 0, aby kontynuować tworzenie CWnd obiektu. Jeśli aplikacja zwróci wartość -1, okno zostanie zniszczone.

Uwagi

Obiekt CWnd odbiera to wywołanie po utworzeniu okna, ale zanim stanie się widoczne. OnCreate metoda jest wywoływana przed zwróceniem funkcji składowej Create lub CreateEx .

Zastąp tę funkcję składową, aby wykonać wszelkie wymagane inicjowanie klasy pochodnej.

Struktura CREATESTRUCT zawiera kopie parametrów użytych do utworzenia okna.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnCtlColor

Struktura wywołuje tę funkcję składową, gdy kontrolka podrzędna ma zostać narysowana.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Parametry

pDC
Zawiera wskaźnik do kontekstu wyświetlania okna podrzędnego. Może to być tymczasowe.

pWnd
Zawiera wskaźnik do kontrolki z pytaniem o kolor. Może to być tymczasowe.

nCtlColor
Zawiera jedną z następujących wartości, określając typ kontrolki:

  • CTLCOLOR_BTN Kontrolka przycisku

  • CTLCOLOR_DLG Okno dialogowe

  • CTLCOLOR_EDIT Edytuj kontrolkę

  • CTLCOLOR_LISTBOX Kontrolka pola listy

  • CTLCOLOR_MSGBOX Pole komunikatu

  • CTLCOLOR_SCROLLBAR Kontrolka paska przewijania

  • CTLCOLOR_STATIC Kontrolka statyczna

Wartość zwracana

OnCtlColor musi zwrócić uchwyt do pędzla, który ma być używany do malowania tła kontrolki.

Uwagi

Większość kontrolek wysyła ten komunikat do elementu nadrzędnego (zazwyczaj okno dialogowe), aby przygotować pDC kontrolkę do rysowania kontrolki przy użyciu odpowiednich kolorów.

Aby zmienić kolor tekstu, wywołaj SetTextColor funkcję składową z żądanymi wartościami czerwonymi, zielonymi i niebieskimi (RGB).

Aby zmienić kolor tła kontrolki edycji jednowierszowej, ustaw uchwyt pędzla zarówno w kodach komunikatów, jak CTLCOLOR_EDIT i CTLCOLOR_MSGBOX i i wywołaj CDC::SetBkColor funkcję w odpowiedzi na CTLCOLOR_EDIT kod.

OnCtlColor Nie będzie wywoływana dla pola listy pola kombi listy rozwijanej, ponieważ pole listy rozwijanej jest w rzeczywistości elementem podrzędnym pola kombi, a nie elementem podrzędnym okna. Aby zmienić kolor pola listy rozwijanej, utwórz obiekt z przesłonięciąOnCtlColor, która sprawdza CTLCOLOR_LISTBOX parametr w parametrze nCtlColor .CComboBox W tej procedurze obsługi należy użyć funkcji składowej, SetBkColor aby ustawić kolor tła tekstu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji. Aby dodać następującą metodę do klasy okna dialogowego, użyj okienka właściwości programu Visual Studio, aby dodać procedurę obsługi komunikatów dla programu WM_CTLCOLOR. Alternatywnie możesz ręcznie dodać ON_WM_CTLCOLOR() wpis do mapy komunikatów.

Przykład

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

Struktura wywołuje tę funkcję składową, gdy OnKeyUp wywoływana jest funkcja składowa i OnKeyDown funkcje składowe.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa wartość znaku dead-key.

nRepCnt
Określa liczbę powtórzeń.

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Opis
0-7 Skanuj kod (wartość zależna od producenta OEM). Niski bajt wyrazu o wysokiej kolejności.
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony; w przeciwnym razie 0).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza; w przeciwnym razie 0).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wywołaniem, 0, jeśli klucz jest w górę).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

Uwagi

Ta funkcja składowa może służyć do określania wartości znaku martwego klucza. Martwy klucz jest kluczem, takim jak znak umlaut (podwójna kropka), który jest połączony z innymi znakami w celu utworzenia znaku złożonego. Na przykład znak umlaut-O składa się z klucza martwego, umlaut i klucza O.

Aplikacja zazwyczaj używa OnDeadChar funkcji do przekazywania opinii użytkownika na temat każdego naciśnięcia klawisza. Na przykład aplikacja może wyświetlać akcent w bieżącej pozycji znaku bez przenoszenia karetki.

Ponieważ między naciśnięciem klawiszy i OnDeadChar wywołaniami nie musi istnieć korespondencja "jeden do jednego", te informacje nFlags nie są zwykle przydatne w aplikacjach. Informacje w programie nFlags dotyczą tylko ostatniego wywołania funkcji składowej OnKeyUp lub OnKeyDown funkcji składowej OnDeadChar , która poprzedza wywołanie.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w systemie nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnDeleteItem

Struktura wywołuje tę funkcję składową, aby poinformować właściciela pola listy lub pola kombi właściciela, że pole listy lub pole kombi zostało zniszczone lub że elementy zostały usunięte przez CComboBox::DeleteString, CListBox::DeleteString, CComboBox::ResetContentlub CListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parametry

nIDCtl
Identyfikator kontrolki, która wysłała WM_DELETEITEM komunikat.

lpDeleteItemStruct
Określa długi wskaźnik do DELETEITEMSTRUCT struktury danych zawierającej informacje o usuniętym elemencie pola listy.

Uwagi

hwndItem Jeśli element członkowski DELETEITEMSTRUCT struktury należy do pola kombi lub pola listy, DeleteItem wywoływana jest funkcja wirtualna odpowiedniej klasy. Zastąpić DeleteItem funkcję składową klasy odpowiedniej kontrolki, aby usunąć dane specyficzne dla elementu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnDestroy

Struktura wywołuje tę funkcję składową, aby poinformować CWnd obiekt, że został zniszczony.

afx_msg void OnDestroy();

Uwagi

OnDestroy jest wywoływany po usunięciu CWnd obiektu z ekranu.

OnDestroy jest wywoływany jako pierwszy do CWnd zniszczenia, a następnie dla okien podrzędnych CWnd w miarę ich zniszczenia. Można założyć, że wszystkie okna podrzędne nadal istnieją podczas OnDestroy uruchamiania.

CWnd Jeśli zniszczony obiekt jest częścią łańcucha Clipboard-viewer (ustawiane przez wywołanie SetClipboardViewer funkcji składowej), CWnd element musi usunąć się z łańcucha Schowka-viewer, wywołując ChangeClipboardChain funkcję składową przed powrotem z OnDestroy funkcji.

CWnd::OnDestroyClipboard

Struktura wywołuje tę funkcję składową dla właściciela Schowka, gdy schowek jest opróżniany za pośrednictwem wywołania EmptyClipboard funkcji systemu Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

Struktura wywołuje tę funkcję składową, aby powiadomić aplikację lub sterownik urządzenia o zmianie konfiguracji sprzętowej urządzenia lub komputera.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Parametry

nEventType
Typ zdarzenia. Zobacz sekcję Uwagi, aby zapoznać się z opisem dostępnych wartości

dwData
Adres struktury zawierającej dane specyficzne dla zdarzenia. Jego znaczenie zależy od danego zdarzenia.

Uwagi

W przypadku urządzeń, które oferują funkcje z możliwością sterowania oprogramowaniem, takie jak wyrzucenie i blokowanie, system operacyjny zazwyczaj wysyła DBT_DEVICEREMOVEPENDING komunikat, aby umożliwić aplikacjom i sterownikom urządzeń bezproblemowe korzystanie z urządzenia.

Jeśli system operacyjny wymusza usunięcie urządzenia, może nie wysyłać komunikatu przed wykonaniem DBT_DEVICEQUERYREMOVE tej czynności.

Parametr nEvent może być jedną z następujących wartości:

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnDevModeChange

Platforma wywołuje tę funkcję składową dla wszystkich obiektów najwyższego poziomu CWnd , gdy użytkownik zmieni ustawienia trybu urządzenia.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parametry

lpDeviceName
Wskazuje nazwę urządzenia określoną w pliku inicjowania systemu Windows. WIN.INI

Uwagi

Aplikacje obsługujące WM_DEVMODECHANGE komunikat mogą ponownie zainicjować ustawienia trybu urządzenia. Aplikacje korzystające z funkcji systemu Windows ExtDeviceMode do zapisywania i przywracania ustawień urządzenia zwykle nie przetwarzają tej funkcji.

Ta funkcja nie jest wywoływana, gdy użytkownik zmieni drukarkę domyślną z Panel sterowania. W tym przypadku wywoływana OnWinIniChange jest funkcja .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnDrawClipboard

Struktura wywołuje tę funkcję składową dla każdego okna w łańcuchu Schowek-viewer po zmianie zawartości Schowka.

afx_msg void OnDrawClipboard();

Uwagi

Tylko aplikacje, które dołączyły do łańcucha Schowka-viewer, wywołując SetClipboardViewer funkcję składową, muszą odpowiadać na to wywołanie.

Każde okno odbierające OnDrawClipboard wywołanie powinno wywołać SendMessage funkcję systemu Windows, aby przekazać WM_DRAWCLIPBOARD komunikat do następnego okna w łańcuchu Schowek-viewer. Uchwyt następnego okna jest zwracany przez funkcję składową SetClipboardViewer ; może zostać zmodyfikowany w odpowiedzi na wywołanie funkcji składowej OnChangeCbChain .

CWnd::OnDrawIconicThumbnailOrLivePreview

Wywoływana przez platformę, gdy musi uzyskać mapę bitową, która ma być wyświetlana na miniaturze karty systemu Windows 7 lub na kliencie, aby wyświetlić podgląd aplikacji.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Parametry

dc
Określa kontekst urządzenia.

rect
Określa prostokąt ograniczenia obszaru do renderowania.

szRequiredThumbnailSize
Określa rozmiar miniatury docelowej. Należy zignorować wartość , jeśli bIsThumbnail ma wartość FALSE.

bIsThumbnail
Określa, czy ta metoda jest wywoływana dla ikonicznej miniatury lub podglądu na żywo (zobacz).

bAlphaChannelSet
[out] Ustaw ją na TRUE wartość , jeśli implementacja inicjuje kanał alfa mapy bitowej wybranej w pliku dc.

Uwagi

Zastąp tę metodę w klasie pochodnej i rysuj w określonym kontekście urządzenia, aby dostosować miniaturę i zajrzeć. Jeśli bThumbnail parametr to TRUE, szRequiredThumbnailSize można go zignorować. W takim przypadku należy pamiętać, że narysujesz pełną mapę bitową (czyli mapę bitową obejmującą cały obszar klienta). Kontekst urządzenia (dc) zawiera wybraną 32-bitową mapę bitową. Domyślna implementacja wysyła WM_PRINT do tego okna flagi PRF_CLIENT, PRF_CHILDRENi PRF_NONCLIENT .

CWnd::OnDrawItem

Struktura wywołuje tę funkcję składową dla właściciela kontrolki przycisku rysowania właściciela, kontrolki pola kombi, kontrolki pola listy lub menu, gdy zmieni się aspekt wizualny kontrolki lub menu.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametry

nIDCtl
Zawiera identyfikator kontrolki, która wysłała WM_DRAWITEM komunikat. Jeśli menu wysłało komunikat, nIDCtl zawiera wartość 0.

lpDrawItemStruct
Określa długi wskaźnik do DRAWITEMSTRUCT struktury danych zawierającej informacje o elemencie do rysowania i wymagany typ rysunku.

Uwagi

Element itemAction członkowski DRAWITEMSTRUCT struktury definiuje operację rysunku, która ma zostać wykonana. Dane w tym elemencie umożliwiają właścicielowi kontrolki określenie, jaka akcja rysunku jest wymagana.

Przed powrotem z przetwarzania tego komunikatu aplikacja powinna upewnić się, że kontekst urządzenia zidentyfikowany przez hDC element członkowski DRAWITEMSTRUCT struktury zostanie przywrócony do stanu domyślnego.

hwndItem Jeśli element członkowski należy do CButtonobiektu , , CListBoxCMenulub CComboBox, DrawItem wywoływana jest funkcja wirtualna odpowiedniej klasy. Zastąpi DrawItem funkcję składową odpowiedniej klasy kontrolki, aby narysować element.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnDropFiles

Platforma wywołuje tę funkcję składową, gdy użytkownik zwolni lewy przycisk myszy nad oknem, które zarejestrowało się jako odbiorca porzuconych plików.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parametry

hDropInfo
Wskaźnik do wewnętrznej struktury danych, która opisuje porzucone pliki. Ten uchwyt jest używany przez DragFinishfunkcje , DragQueryFilei DragQueryPoint systemu Windows do pobierania informacji o porzuconych plikach.

Uwagi

Zazwyczaj klasa pochodna zostanie zaprojektowana pod kątem obsługi porzuconych plików i zarejestruje się podczas budowy okien.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEnable

Struktura wywołuje tę funkcję składową, gdy aplikacja zmienia stan CWnd włączony obiektu.

afx_msg void OnEnable(BOOL bEnable);

Parametry

bEnable
Określa, czy CWnd obiekt został włączony, czy wyłączony. Ten parametr jest TRUE , jeśli CWnd parametr został włączony; jest FALSE to, czy CWnd został wyłączony.

Uwagi

OnEnable jest wywoływana przed zwróceniem funkcji składowej EnableWindow , ale po zmianie stanu włączonego okna (WS_DISABLED bit stylu).

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEndSession

Struktura wywołuje tę funkcję składową po tym, jak CWnd obiekt zwrócił wartość niezerową z wywołania funkcji składowej OnQueryEndSession .

afx_msg void OnEndSession(BOOL bEnding);

Parametry

bEnding
Określa, czy sesja jest zakończona. Jest to TRUE , jeśli sesja jest zakończona; w przeciwnym razie FALSE.

Uwagi

Wywołanie OnEndSession informuje CWnd obiekt, czy sesja rzeczywiście kończy się.

Jeśli bEnding jest to TRUE, system Windows może zakończyć działanie w dowolnym momencie po powrocie wszystkich aplikacji z przetwarzania tego wywołania. W związku z tym aplikacja wykonuje wszystkie zadania wymagane do zakończenia w programie OnEndSession.

Nie trzeba wywoływać funkcji składowej DestroyWindow ani PostQuitMessage funkcji systemu Windows po zakończeniu sesji.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEnterIdle

Struktura wywołuje tę funkcję składową, aby poinformować główną procedurę okna aplikacji, że modalne okno dialogowe lub menu wprowadza stan bezczynności.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parametry

nWhy
Określa, czy komunikat jest wynikiem wyświetlanego okna dialogowego, czy menu. Ten parametr może być jedną z następujących wartości:

  • MSGF_DIALOGBOX System jest bezczynny, ponieważ jest wyświetlane okno dialogowe.

  • MSGF_MENU System jest bezczynny, ponieważ jest wyświetlane menu.

pWho
Określa wskaźnik do okna dialogowego (jeśli nWhy ma MSGF_DIALOGBOXwartość ), lub okno zawierające wyświetlane menu (jeśli nWhy ma wartość MSGF_MENU). Ten wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Modalne okno dialogowe lub menu wprowadza stan bezczynności, gdy żadne komunikaty nie oczekują w kolejce po przetworzeniu co najmniej jednego poprzedniego komunikatu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEnterMenuLoop

Struktura wywołuje tę funkcję składową po wprowadzeniu pętli modalnej menu.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parametry

bIsTrackPopupMenu
Określa, czy zaangażowane menu jest menu podręczne. Jeśli funkcja zakończy się pomyślnie, ma wartość niezerową; w przeciwnym razie 0.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEnterSizeMove

Struktura wywołuje tę funkcję składową raz po przejściu okna, którego dotyczy problem, przechodzi w ruch lub zmienia rozmiar pętli modalnej.

afx_msg void OnEnterSizeMove();

Uwagi

Ta metoda odbiera WM_ENTERSIZEMOVE powiadomienie opisane w zestawie Windows SDK.

Okno wprowadza ruchomą lub rozmiarową pętlę modalną, gdy użytkownik kliknie pasek tytułu okna lub obramowanie rozmiaru albo gdy okno przekazuje WM_SYSCOMMAND komunikat do CWnd::DefWindowProc funkcji i parametr wParam tego komunikatu określa SC_MOVE lub SC_SIZE.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnEraseBkgnd

Struktura wywołuje tę funkcję składową, gdy CWnd tło obiektu wymaga wymazywania (na przykład w przypadku zmiany rozmiaru).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Parametry

pDC
Określa obiekt kontekstu urządzenia.

Wartość zwracana

Nonzero, jeśli wymazuje tło; w przeciwnym razie 0.

Uwagi

Jest wywoływany w celu przygotowania unieważnionego regionu do malowania.

Domyślna implementacja usuwa tło przy użyciu pędzla tła klasy okna określonej przez hbrBackground składową struktury klasy okien.

Jeśli element członkowski hbrBackground to NULL, zastąpiona wersja OnEraseBkgnd elementu powinna wymazać kolor tła. Twoja wersja powinna również wyrównać początek zamierzonego pędzla ze CWnd współrzędnymi, wywołując UnrealizeObject najpierw szczotkę, a następnie wybierając szczotkę.

Przesłonięcia OnEraseBkgnd powinny zwracać niezerowe w odpowiedzi na WM_ERASEBKGND to, czy przetwarza komunikat i usuwa tło. Oznacza to, że nie jest wymagane żadne dalsze wymazywanie. Jeśli zwróci wartość 0, okno pozostanie oznaczone jako wymagające wymazywania. (Zazwyczaj oznacza to, że fErase element członkowski PAINTSTRUCT struktury będzie TRUE.)

System Windows zakłada, że tło jest obliczane z trybem MM_TEXT mapowania. Jeśli kontekst urządzenia korzysta z dowolnego innego trybu mapowania, wymazany obszar może nie znajdować się w widocznej części obszaru klienta.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnExitMenuLoop

Struktura wywołuje tę funkcję składową, gdy pętla modalna menu została zakończona.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parametry

bIsTrackPopupMenu
Określa, czy zaangażowane menu jest menu podręczne. Jeśli funkcja zakończy się pomyślnie, ma wartość niezerową; w przeciwnym razie 0.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnExitSizeMove

Struktura wywołuje tę funkcję składową raz po zakończeniu ruchu lub zmiany rozmiaru pętli modalnej w oknie, którego dotyczy problem.

afx_msg void OnExitSizeMove();

Uwagi

Ta metoda odbiera WM_EXITSIZEMOVE powiadomienie opisane w zestawie Windows SDK.

Okno wprowadza ruchomą lub zmieniającą rozmiar pętli modalnej, gdy użytkownik kliknie pasek tytułu okna lub obramowanie rozmiaru albo gdy okno przekazuje WM_SYSCOMMAND komunikat do CWnd::DefWindowProc funkcji i wParam parametr tego komunikatu określa SC_MOVE lub SC_SIZE.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnFontChange

Wszystkie okna najwyższego poziomu w systemie otrzymują wywołanie OnFontChange ze struktury po zmianie puli zasobów czcionek przez aplikację.

afx_msg void OnFontChange();

Uwagi

Aplikacja, która dodaje lub usuwa czcionki z systemu (na przykład za pośrednictwem AddFontResource funkcji systemu RemoveFontResource Windows), powinna wysłać WM_FONTCHANGE komunikat do wszystkich okien najwyższego poziomu.

Aby wysłać ten komunikat, użyj SendMessage funkcji systemu Windows z parametrem ustawionym hWnd na HWND_BROADCAST.

CWnd::OnGetDlgCode

Wywoływana dla kontrolki, aby kontrolka mogła przetwarzać dane wejściowe klawisza strzałki i klawisza TAB.

afx_msg UINT OnGetDlgCode();

Wartość zwracana

Co najmniej jedna z następujących wartości wskazująca typ danych wejściowych procesów aplikacji:

  • DLGC_BUTTON Przycisk (ogólny).

  • DLGC_DEFPUSHBUTTON Domyślny przycisk pushbutton.

  • DLGC_HASSETSELEM_SETSEL Wiadomości.

  • DLGC_UNDEFPUSHBUTTON Brak domyślnego przetwarzania pushbutton. (Aplikacja może używać tej flagi z elementem DLGC_BUTTON , aby wskazać, że przetwarza dane wejściowe przycisku, ale korzysta z systemu do domyślnego przetwarzania pushbutton).

  • DLGC_RADIOBUTTON Przycisk radiowy.

  • DLGC_STATIC Kontrolka statyczna.

  • DLGC_WANTALLKEYS Wszystkie dane wejściowe klawiatury.

  • DLGC_WANTARROWS Klawisze strzałek.

  • DLGC_WANTCHARSWM_CHAR Wiadomości.

  • DLGC_WANTMESSAGE Wszystkie dane wejściowe klawiatury. Aplikacja przekazuje ten komunikat do kontrolki.

  • DLGC_WANTTAB Klawisz TAB.

Uwagi

Zwykle system Windows obsługuje wszystkie dane wejściowe klawisza strzałki i klawisza TAB do kontrolki CWnd . Przez zastąpienie OnGetDlgCodekontrolki CWnd może wybrać określony typ danych wejściowych do przetworzenia.

Funkcje domyślne OnGetDlgCode dla wstępnie zdefiniowanych klas kontrolek zwracają kod odpowiedni dla każdej klasy.

CWnd::OnGetMinMaxInfo

Struktura wywołuje tę funkcję składową za każdym razem, gdy system Windows musi znać zmaksymalizowane położenie lub wymiary albo minimalny lub maksymalny rozmiar śledzenia.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parametry

lpMMI
Wskazuje strukturę zawierającą MINMAXINFO informacje o zmaksymalizowanym rozmiarze i położeniu okna oraz minimalnym i maksymalnym rozmiarze śledzenia. Aby uzyskać więcej informacji na temat tej struktury, zobacz MINMAXINFO strukturę.

Uwagi

Zmaksymalizowany rozmiar to rozmiar okna, gdy jego obramowania są w pełni rozszerzone. Maksymalny rozmiar śledzenia okna to największy rozmiar okna, który można osiągnąć za pomocą obramowań do rozmiaru okna. Minimalny rozmiar śledzenia okna to najmniejszy rozmiar okna, który można osiągnąć przy użyciu obramowań w celu rozmiaru okna.

System Windows wypełnia tablicę punktów określających wartości domyślne dla różnych pozycji i wymiarów. Aplikacja może zmienić te wartości w pliku OnGetMinMaxInfo.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnHelp

Obsługuje pomoc F1 w aplikacji (przy użyciu bieżącego kontekstu).

afx_msg void OnHelp();

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::OnHelp.

CWnd::OnHelpFinder

ID_HELP_FINDER Obsługuje polecenia iID_DEFAULT_HELP.

afx_msg void OnHelpFinder();

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::OnHelpFinder.

CWnd::OnHelpIndex

ID_HELP_INDEX Obsługuje polecenie i udostępnia domyślny temat Pomocy.

afx_msg void OnHelpIndex();

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::OnHelpIndex.

CWnd::OnHelpInfo

Wywoływana przez platformę, gdy użytkownik naciska klawisz F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parametry

lpHelpInfo
Wskaźnik do struktury zawierającej HELPINFO informacje o elemencie menu, kontrolce, oknie dialogowym lub oknie, dla którego jest żądana pomoc.

Wartość zwracana

Zwraca wartość TRUE , jeśli okno ma fokus klawiatury lub jeśli menu jest aktywne w oknie. Jeśli żadne okno nie ma fokusu klawiatury, zwraca wartość FALSE.

Uwagi

Jeśli menu jest aktywne po naciśnięciu klawisza F1, WM_HELP jest wysyłane do okna skojarzonego z menu. W przeciwnym razie WM_HELP zostanie wysłane do okna z fokusem klawiatury. Jeśli żadne okno nie ma fokusu klawiatury, WM_HELP jest wysyłane do aktualnie aktywnego okna.

CWnd::OnHelpUsing

ID_HELP_USING Obsługuje polecenie .

afx_msg void OnHelpUsing();

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::OnHelpUsing.

CWnd::OnHotKey

Platforma wywołuje tę funkcję składową, gdy użytkownik naciska klawisz hot o całej systemie.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parametry

nHotKeyId
[in] Identyfikator klucza gorącego, który wygenerował komunikat. Jeśli komunikat został wygenerowany przez klucz gorący zdefiniowany przez system, ten parametr będzie jedną z następujących wartości:

  • IDHOT_SNAPDESKTOP - Naciśnięty klawisz hot desktop został naciśnięty.
  • IDHOT_SNAPWINDOW - Naciśnięty został klawisz hot okna przystawki.

nKey1
[in] Kombinacja bitowa (OR) flag wskazująca klawisze, które zostały naciskane w połączeniu z klawiszem nKey2 określonym przez parametr . Możliwe wartości to:

  • MOD_ALT — Wciśnięcie klawisza ALT zostało zatrzymane.
  • MOD_CONTROL - Wciśnięty klawisz CTRL został zatrzymany.
  • MOD_SHIFT - Wciśnięty klawisz SHIFT został przyciśnięty.
  • MOD_WIN — Wciśnięcie klawisza SYSTEMU WINDOWS zostało zatrzymane. Te klucze są oznaczone logo systemu Microsoft Windows.

nKey2
[in] Kod klucza wirtualnego klucza gorącego.

Uwagi

Ta metoda odbiera WM_HOTKEY powiadomienie opisane w zestawie Windows SDK. Ten komunikat jest umieszczany w górnej części kolejki komunikatów skojarzonej z wątkiem, który zarejestrował klucz gorący. Użyj funkcji , RegisterHotKey aby zarejestrować klucz gorący dla całego systemu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnHScroll

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie poziomy pasek przewijania okna.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametry

nSBCode
Określa kod paska przewijania wskazujący żądanie przewijania użytkownika. Ten parametr może być jednym z następujących parametrów:

  • SB_LEFT Przewiń w lewo.

  • SB_ENDSCROLL Zakończ przewijanie.

  • SB_LINELEFT Przewiń w lewo.

  • SB_LINERIGHT Przewiń w prawo.

  • SB_PAGELEFT Przewiń jedną stronę w lewo.

  • SB_PAGERIGHT Przewiń jedną stronę w prawo.

  • SB_RIGHT Przewiń w prawo.

  • SB_THUMBPOSITION Przewiń do pozycji bezwzględnej. Bieżące położenie jest określane przez nPos parametr .

  • SB_THUMBTRACK Przeciągnij pole przewijania do określonej pozycji. Bieżące położenie jest określane przez nPos parametr .

nPos
Określa położenie pola przewijania, jeśli kod paska przewijania to SB_THUMBPOSITION lub SB_THUMBTRACK; w przeciwnym razie nie jest używany. W zależności od początkowego zakresu nPos przewijania może być ujemny i w razie potrzeby rzutować do elementu int .

pScrollBar
Jeśli komunikat przewijania pochodzi z kontrolki paska przewijania, zawiera wskaźnik do kontrolki. Jeśli użytkownik kliknął pasek przewijania okna, ten parametr to NULL. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Kod paska przewijania SB_THUMBTRACK jest zwykle używany przez aplikacje, które przesyłają opinię podczas przeciągania pola przewijania.

Jeśli aplikacja przewija zawartość kontrolowaną przez pasek przewijania, musi również zresetować położenie pola przewijania za pomocą funkcji składowej SetScrollPos .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

Przykład

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

Funkcja składowa właściciela OnHScrollClipboard schowka jest wywoływana przez przeglądarkę Schowka, gdy dane Schowka mają CF_OWNERDISPLAY format i istnieje zdarzenie na pasku przewijania w poziomie przeglądarki Schowka.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametry

pClipAppWnd
Określa wskaźnik do okna Schowka przeglądarki. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

nSBCode
Określa jeden z następujących kodów paska przewijania w słowach o niskiej kolejności:

  • SB_BOTTOM Przewiń do prawej dolnej części.

  • SB_ENDSCROLL Zakończ przewijanie.

  • SB_LINEDOWN Przewiń jedną linię w dół.

  • SB_LINEUP Przewiń jeden wiersz w górę.

  • SB_PAGEDOWN Przewiń jedną stronę w dół.

  • SB_PAGEUP Przewiń jedną stronę w górę.

  • SB_THUMBPOSITION Przewiń do położenia bezwzględnego. Bieżące położenie jest podane w elemencie nPos.

  • SB_TOP Przewiń do lewej górnej części.

nPos
Zawiera położenie pola przewijania, jeśli kod paska przewijania to SB_THUMBPOSITION; w przeciwnym razie nie jest używany.

Uwagi

Właściciel powinien przewinąć obraz Schowka, unieważnić odpowiednią sekcję i zaktualizować wartości paska przewijania.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnIconEraseBkgnd

Struktura wywołuje tę funkcję składową dla zminimalizowanego (kultowego) CWnd obiektu, gdy należy wypełnić tło ikony przed malowaniem ikony.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Parametry

pDC
Określa obiekt kontekstu urządzenia ikony. Może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

CWnd odbiera to wywołanie tylko wtedy, gdy dla domyślnej implementacji okna jest zdefiniowana ikona klasy; w przeciwnym razie OnEraseBkgnd jest wywoływana.

Funkcja DefWindowProc składowa wypełnia tło ikony pędzlem tła okna nadrzędnego.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnInitMenu

Platforma wywołuje tę funkcję składową, gdy menu stanie się aktywne.

afx_msg void OnInitMenu(CMenu* pMenu);

Parametry

pMenu
Określa menu, które ma zostać zainicjowane. Może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

OnInitMenu jest wywoływany, gdy użytkownik kliknie element na pasku menu lub naciśnie klawisz menu. Zastąpi tę funkcję składową, aby zmodyfikować menu przed wyświetleniem.

OnInitMenu jest wywoływany tylko raz, gdy menu jest najpierw dostępne (na przykład gdy użytkownik kliknie element na pasku menu). Ta metoda nie udostępnia informacji o elementach menu. Gdy użytkownik przechodzi do elementów w menu (na przykład przez przeniesienie myszy między kilkoma elementami menu), funkcja nie jest ponownie wywoływana. Gdy użytkownik zakończy działanie z menu (na przykład po kliknięciu obszaru klienta aplikacji), a później kliknie element na pasku menu, funkcja zostanie wywołana ponownie.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnInitMenuPopup

Platforma wywołuje tę funkcję składową, gdy menu podręczne ma stać się aktywne.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parametry

pPopupMenu
Określa obiekt menu podręcznego. Może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

nIndex
Określa indeks menu podręcznego w menu głównym.

bSysMenu
TRUE jeśli menu podręczne jest menu kontrolki; w przeciwnym razie FALSE.

Uwagi

Dzięki temu aplikacja może zmodyfikować menu podręczne przed wyświetleniem bez zmiany całego menu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnInputDeviceChange

Platforma wywołuje tę funkcję składową po dodaniu lub usunięciu urządzenia we/wy z systemu.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parametry

uFlag
[in] Ta flaga może zawierać następujące wartości:

  • GIDC_ARRIVAL — Nowe urządzenie zostało dodane do systemu.
  • GIDC_REMOVAL — Urządzenie zostało usunięte z systemu.

Uwagi

Ta metoda odbiera WM_INPUT_DEVICE_CHANGE powiadomienie opisane w zestawie Windows SDK. Jest to ogólny komunikat urządzenia wejściowego.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnInputLangChange

Struktura wywołuje ten element członkowski dla najbardziej dotkniętego okna po zmianie języka wejściowego aplikacji.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parametry

nCharSet
[in] Zestaw znaków nowego ustawienia regionalnego. Aby uzyskać więcej informacji, zobacz lfCharSet parametr LOGFONT struktury.

nLocaleId
[in] Wejściowy identyfikator ustawień regionalnych. Aby uzyskać więcej informacji, zobacz Stałe i ciągi identyfikatora języka.

Uwagi

Ta metoda odbiera WM_INPUTLANGCHANGE komunikat powiadomienia opisany w zestawie WINDOWS SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnInputLangChangeRequest

Platforma wywołuje ten element członkowski okna z fokusem, gdy użytkownik wybierze nowy język wejściowy.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parametry

nFlags
[in] Bitowa kombinacja flag wskazujących nowe ustawienia regionalne została wybrana z poprzednich lub następnych ustawień regionalnych na zainstalowanej liście ustawień regionalnych lub że nowy układ klawiatury wejściowej ustawień regionalnych może być używany z zestawem znaków systemowych. Możliwe wartości to INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDi INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in] Wejściowy identyfikator ustawień regionalnych. Aby uzyskać więcej informacji, zobacz Stałe i ciągi identyfikatora języka.

Uwagi

Ta metoda odbiera WM_INPUTLANGCHANGEREQUEST komunikat powiadomienia opisany w zestawie WINDOWS SDK. Ten komunikat jest publikowany, gdy użytkownik wybierze nowy język wejściowy z kluczem dostępu określonym w aplikacji panelu sterowania klawiatury lub ze wskaźnika na pasku zadań systemowych.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnKeyDown

Struktura wywołuje tę funkcję składową po naciśnięciu klawisza niesystemowego.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa kod klucza wirtualnego danego klucza. Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h

nRepCnt
Powtórz liczbę (liczba powtórzeń naciśnięcia klawiszy w wyniku przytrzymywania klucza przez użytkownika).

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Opis
0-7 Skanuj kod (wartość zależna od producenta OEM).
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza; w przeciwnym razie 0).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wywołaniem, 0, jeśli klucz jest w górę).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

W przypadku komunikatu WM_KEYDOWN bit przejścia klucza (bit 15) to 0, a bit kontekstu (bit 13) to 0.

Uwagi

Niesystemowy klawisz to klawisz klawiatury, który jest naciskany, gdy klawisz ALT nie jest naciskany lub klawisz klawiatury, który jest naciskany, gdy CWnd ma fokus wejściowy.

Ze względu na automatyczne powtarzanie może wystąpić więcej niż jedno OnKeyDown wywołanie funkcji, zanim zostanie wykonane wywołanie funkcji składowej OnKeyUp . Bit wskazujący poprzedni stan klucza może służyć do określenia, czy OnKeyDown wywołanie jest pierwszym przejściem w dół, czy powtarzającym się przejściem w dół.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w systemie nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnKeyUp

Platforma wywołuje tę funkcję składową po wydaniu klucza niesystemowego.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa kod klucza wirtualnego danego klucza. Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h

nRepCnt
Powtórz liczbę (liczba powtórzeń naciśnięcia klawiszy w wyniku przytrzymywania klucza przez użytkownika).

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Opis
0-7 Skanuj kod (wartość zależna od producenta OEM). Niski bajt wyrazu o wysokiej kolejności.
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony; w przeciwnym razie 0).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza; w przeciwnym razie 0).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wywołaniem, 0, jeśli klucz jest w górę).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

W przypadku komunikatu WM_KEYUP bit przejścia klucza (bit 15) to 1, a bit kontekstu (bit 13) to 0.

Uwagi

Niesystemowy klawisz to klawisz klawiatury, który jest naciskany, gdy klawisz ALT nie jest naciskany lub klawisz klawiatury, który jest naciskany, gdy CWnd ma fokus wejściowy.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnKillFocus

Struktura wywołuje tę funkcję składową bezpośrednio przed utratą fokusu wejściowego.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Parametry

pNewWnd
Określa wskaźnik do okna, który odbiera fokus wejściowy (może być NULL lub może być tymczasowy).

Uwagi

CWnd Jeśli obiekt wyświetla daszek, karetki powinny zostać zniszczone w tym momencie.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnLButtonDblClk

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie dwukrotnie lewy przycisk myszy.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Tylko okna, które mają CS_DBLCLKSWNDCLASS styl, będą odbierać OnLButtonDblClk wywołania. Jest to ustawienie domyślne dla okien klas programu Microsoft Foundation. System Windows wywołuje wywołania OnLButtonDblClk , gdy użytkownik naciska, zwalnia, a następnie ponownie naciska lewy przycisk myszy w ramach dwukrotnego limitu czasu. Dwukrotne kliknięcie lewego przycisku myszy powoduje wygenerowanie czterech zdarzeń: WM_LBUTTONDOWN, WM_LBUTTONUP komunikatów, WM_LBUTTONDBLCLK wywołania i innego WM_LBUTTONUP komunikatu po zwolnieniu przycisku.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnLButtonDown

Platforma wywołuje tę funkcję składową, gdy użytkownik naciska lewy przycisk myszy.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnLButtonUp

Platforma wywołuje tę funkcję składową, gdy użytkownik zwolni lewy przycisk myszy.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMButtonDblClk

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie dwukrotnie środkowy przycisk myszy.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Tylko okna, które mają CS_DBLCLKSWNDCLASS styl, będą odbierać OnMButtonDblClk wywołania. Jest to ustawienie domyślne dla wszystkich okien klas programu Microsoft Foundation. System Windows generuje wywołanie OnMButtonDblClk , gdy użytkownik naciska, zwalnia, a następnie ponownie naciska środkowy przycisk myszy w ramach limitu czasu dwukrotnego kliknięcia systemu. Dwukrotne kliknięcie środkowego przycisku myszy powoduje wygenerowanie czterech zdarzeń: WM_MBUTTONDOWN i WM_MBUTTONUP komunikatów, wywołania i innego WM_MBUTTONUP komunikatuWM_MBUTTONDBLCLK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska środkowy przycisk myszy.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMButtonUp

Platforma wywołuje tę funkcję składową, gdy użytkownik zwolni środkowy przycisk myszy.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMDIActivate

Struktura wywołuje tę funkcję składową dla dezaktywowanego okna podrzędnego i aktywowanego okna podrzędnego.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parametry

bActivate
TRUE jeśli element podrzędny jest aktywowany i FALSE czy jest dezaktywowany.

pActivateWnd
Zawiera wskaźnik do okna podrzędnego MDI do aktywowania. Po odebraniu przez okno pActivateWnd podrzędne MDI zawiera wskaźnik do aktywowanego okna podrzędnego. Ten wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

pDeactivateWnd
Zawiera wskaźnik do dezaktywowanego okna podrzędnego MDI. Ten wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Okno podrzędne MDI jest aktywowane niezależnie od okna ramki MDI. Gdy ramka stanie się aktywna, okno podrzędne, które zostało ostatnio aktywowane za OnMDIActivate pomocą wywołania, odbiera komunikat, aby narysować aktywną ramkę WM_NCACTIVATE okna i podpis pasek, ale nie odbiera innego OnMDIActivate wywołania.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMeasureItem

Struktura wywołuje tę funkcję składową przez platformę dla właściciela przycisku rysowania właściciela, pola kombi, pola listy lub elementu menu podczas tworzenia kontrolki.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Parametry

nIDCtl
Identyfikator kontrolki.

lpMeasureItemStruct
Wskazuje strukturę danych zawierającą MEASUREITEMSTRUCT wymiary kontrolki rysowania właściciela.

Uwagi

Przesłoń tę funkcję składową i wypełnij MEASUREITEMSTRUCT strukturę danych wskazywaną przez lpMeasureItemStruct i zwracaj. Informuje to system Windows o wymiarach kontrolki i umożliwia systemowi Windows prawidłowe przetwarzanie interakcji użytkownika z kontrolką.

Jeśli pole listy lub pole kombi zostanie utworzone za pomocą LBS_OWNERDRAWVARIABLE stylu lub CBS_OWNERDRAWVARIABLE , struktura wywołuje tę funkcję dla właściciela dla każdego elementu w kontrolce. W przeciwnym razie ta funkcja jest wywoływana raz.

System Windows inicjuje wywołanie OnMeasureItem elementu dla właściciela pól kombi i pól listy utworzonych przy użyciu OWNERDRAWFIXED stylu przed wysłaniem WM_INITDIALOG wiadomości. W związku z tym, gdy właściciel otrzyma to wywołanie, system Windows nie określił jeszcze wysokości i szerokości czcionki używanej w kontrolce; wywołania funkcji i obliczenia, które wymagają tych wartości, powinny wystąpić w funkcji głównej aplikacji lub biblioteki.

Jeśli mierzony element jest obiektem CMenulub CComboBox , CListBoxMeasureItem wywoływana jest funkcja wirtualna odpowiedniej klasy. Zastąpi MeasureItem funkcję składową odpowiedniej klasy kontrolki, aby obliczyć i ustawić rozmiar każdego elementu.

OnMeasureItem zostanie wywołana tylko wtedy, gdy klasa kontrolki zostanie utworzona w czasie wykonywania lub zostanie utworzona za pomocą LBS_OWNERDRAWVARIABLE stylu lub CBS_OWNERDRAWVARIABLE . Jeśli kontrolka zostanie utworzona przez edytor okien dialogowych, OnMeasureItem nie zostanie wywołana. Dzieje się tak, ponieważ WM_MEASUREITEM komunikat jest wysyłany na wczesnym etapie procesu tworzenia kontrolki. W przypadku podklasy przy użyciu klasy DDX_Control, SubclassDlgItemlub SubclassWindowpodklasy zwykle występuje po procesie tworzenia. W związku z tym nie ma możliwości obsługi komunikatu WM_MEASUREITEM w funkcji kontrolki OnChildNotify , który jest mechanizmem MFC używa do implementowania ON_WM_MEASUREITEM_REFLECT.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMenuChar

Platforma wywołuje tę funkcję składową, gdy użytkownik naciska znak mnemonic menu, który nie pasuje do żadnego ze wstępnie zdefiniowanych mnemonics w bieżącym menu.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Parametry

nChar
W zależności od ustawień kompilacji określa znak ANSI lub Unicode naciśnięty przez użytkownika.

nFlags
Zawiera flagę MF_POPUP , jeśli menu jest menu podręczne. Zawiera flagę MF_SYSMENU , jeśli menu jest menu Kontrolka.

pMenu
Zawiera wskaźnik do wybranego CMenuelementu . Wskaźnik może być tymczasowy i nie powinien być przechowywany.

Wartość zwracana

Wyraz zwracanej wartości o wysokiej kolejności powinien zawierać jeden z następujących kodów poleceń:

Wartość Opis
0 Informuje system Windows o odrzuceniu znaku, który użytkownik nacisnął i tworzy krótki sygnał dźwiękowy na głośniku systemowym.
1 Informuje system Windows o zamknięciu bieżącego menu.
2 Informuje system Windows, że słowo zwracane o niskiej kolejności zawiera numer elementu dla określonego elementu. Ten element jest wybierany przez system Windows.

Wyraz o niskiej kolejności jest ignorowany, jeśli wyraz o wysokiej kolejności zawiera wartość 0 lub 1. Aplikacje powinny przetwarzać ten komunikat, gdy klucze akceleratora (skrótu) są używane do wybierania map bitowych umieszczonych w menu.

Uwagi

Jest wysyłany do CWnd tego, który jest właścicielem menu. OnMenuChar jest również wywoływany, gdy użytkownik naciska klawisz ALT i dowolny inny klawisz, nawet jeśli klawisz nie odpowiada znakowi mnemonic. W takim przypadku pMenu wskazuje menu należące CWnddo elementu i nFlags ma wartość 0.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMenuDrag

Struktura wywołuje tę funkcję składową bieżącego menu przeciągania i upuszczania, gdy użytkownik zacznie przeciągać element menu.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parametry

nPos
[in] Położenie indeksu elementu menu po rozpoczęciu operacji przeciągania.

pMenu
[in] Wskaźnik do CMenu obiektu zawierającego element menu.

Wartość zwracana

Wartość zwracana Znaczenie
MND_CONTINUE Menu powinno pozostać aktywne. Jeśli mysz zostanie zwolniona, powinna zostać zignorowana.
MND_ENDMENU Menu powinno zostać zakończone.

Uwagi

Ta metoda odbiera WM_MENUDRAG powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMenuGetObject

Struktura wywołuje tę funkcję składową bieżącego menu przeciągania i upuszczania, gdy kursor myszy przechodzi do elementu menu lub przenosi się z środka elementu do góry lub dołu elementu.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parametry

pMenu
[in] Wskaźnik do struktury zawierającej MENUGETOBJECTINFO informacje o menu przeciągania i upuszczania, na którym znajduje się kursor myszy.

Wartość zwracana

Wartość zwracana Znaczenie
MNGO_NOERROR Wskaźnik interfejsu obsługujący operacje upuszczania i przeciągania jest zwracany w elemencie pvObjMENUGETOBJECTINFO członkowskim struktury. Obecnie obsługiwany jest tylko IDropTarget interfejs.
MNGO_NOINTERFACE Nie jest obsługiwany interfejs upuszczania i przeciągania.

Uwagi

Ta metoda odbiera WM_MENUGETOBJECT powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMenuRButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwolni prawy przycisk myszy, gdy kursor znajduje się w elemencie menu.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parametry

nPos
[in] Położenie indeksu elementu menu po zwolnieniu prawego przycisku myszy.

pMenu
[in] Wskaźnik do CMenu obiektu zawierającego element menu.

Uwagi

Ta metoda odbiera WM_MENURBUTTONUP powiadomienie opisane w zestawie Windows SDK. Komunikat WM_MENURBUTTONUP umożliwia aplikacji podanie menu kontekstowego dla elementu menu określonego w komunikacie.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMenuSelect

CWnd Jeśli obiekt jest skojarzony z menu, jest wywoływany przez platformę, OnMenuSelect gdy użytkownik wybierze element menu.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Parametry

nItemID
Identyfikuje wybrany element. Jeśli wybrany element jest elementem menu, nItemID zawiera identyfikator elementu menu. Jeśli wybrany element zawiera menu podręczne, nItemID zawiera indeks menu podręcznego i hSysMenu zawiera uchwyt menu głównego (klikniętego).

nFlags
Zawiera kombinację następujących flag menu:

  • MF_BITMAP Element jest mapą bitową.

  • MF_CHECKED Element jest zaznaczony.

  • MF_DISABLED Element jest wyłączony.

  • MF_GRAYED Element jest wygaszony.

  • MF_MOUSESELECT Element został wybrany za pomocą myszy.

  • MF_OWNERDRAW Element jest elementem rysowania właściciela.

  • MF_POPUP Element zawiera menu podręczne.

  • MF_SEPARATOR Element jest separatorem elementów menu.

  • MF_SYSMENU Element jest zawarty w menu Kontrolka.

hSysMenu
Jeśli nFlags element zawiera MF_SYSMENU, identyfikuje menu skojarzone z komunikatem. Jeśli nFlags element zawiera MF_POPUP, identyfikuje uchwyt menu głównego. Jeśli nFlags nie zawiera ani MF_SYSMENUMF_POPUP, nie jest on używany.

Uwagi

Jeśli nFlags zawiera 0xFFFF i hSysMenu zawiera 0, system Windows zamknął menu, ponieważ użytkownik nacisnął klawisz ESC lub kliknął poza menu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMouseActivate

Struktura wywołuje tę funkcję składową, gdy kursor znajduje się w nieaktywnym oknie, a użytkownik naciska przycisk myszy.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Parametry

pDesktopWnd
Określa wskaźnik do okna nadrzędnego najwyższego poziomu aktywowanego okna. Wskaźnik może być tymczasowy i nie powinien być przechowywany.

nHitTest
Określa kod obszaru testu trafień . Test trafienia to test określający lokalizację kursora.

message
Określa numer komunikatu myszy.

Wartość zwracana

Określa, czy uaktywnić CWnd i czy odrzucić zdarzenie myszy. Musi to być jedna z następujących wartości:

  • MA_ACTIVATE Uaktywnij CWnd obiekt.

  • MA_NOACTIVATE Nie aktywuj CWnd obiektu.

  • MA_ACTIVATEANDEAT Aktywuj CWnd obiekt i odrzuć zdarzenie myszy.

  • MA_NOACTIVATEANDEAT Nie aktywuj CWnd obiektu i odrzuć zdarzenie myszy.

Uwagi

Domyślna implementacja przekazuje ten komunikat do okna nadrzędnego przed rozpoczęciem przetwarzania. Jeśli okno nadrzędne zwróci wartość TRUE, przetwarzanie zostanie zatrzymane.

Aby uzyskać opis poszczególnych kodów obszaru testu trafień, zobacz funkcję składową OnNcHitTest

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

Przykład

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

Struktura wywołuje tę funkcję składową, gdy kursor znajduje się na obszarze klienta okna przez okres określony w poprzednim wywołaniu metody TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
[in] Kombinacja bitowa (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_MOUSEHOVER powiadomienie opisane w zestawie Windows SDK.

Parametr nFlags może być kombinacją kluczy modyfikatora wymienionych w poniższej tabeli. Aby uzyskać więcej informacji, zobacz Informacje o danych wejściowych myszy.

Klucz modyfikatora opis
MK_CONTROL Naciśnięcie klawisza CTRL.
MK_LBUTTON Lewy przycisk myszy jest naciskany.
MK_MBUTTON Środkowy przycisk myszy jest naciśnięty.
MK_RBUTTON Naciśnięty jest prawy przycisk myszy.
MK_SHIFT Naciśnięcie klawisza SHIFT.
MK_XBUTTON1 Naciśnięty XBUTTON1 jest przycisk myszy narzędzia Microsoft IntelliMouse.
MK_XBUTTON2 Naciśnięty XBUTTON2 jest przycisk myszy narzędzia Microsoft IntelliMouse.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMouseHWheel

Struktura wywołuje ten element członkowski, gdy kółko przewijania myszy jest przechylone lub obracane.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametry

nFlags
[in] Kombinacja bitowa (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL. Aby uzyskać listę flag, zobacz podpozycję "Parametry komunikatu" w temacie About Mouse Input (Informacje o danych wejściowych myszy).

zDelta
[in] Wskazuje odległość obracania koła, wyrażoną w wielokrotnościach lub podziałach WHEEL_DELTA, czyli 120. Wartość dodatnia wskazuje, że koło zostało obrócone po prawej stronie; wartość ujemna wskazuje, że koło zostało obrócone z lewej strony.

pt
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_MOUSEHWHEEL komunikat powiadomienia opisany w zestawie WINDOWS SDK. Ten komunikat jest wysyłany do okna, które ma fokus, gdy kółko przewijania myszy jest przechylone lub obracane.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMouseLeave

Struktura wywołuje tę funkcję składową, gdy kursor opuszcza obszar klienta okna określonego w poprzednim wywołaniu metody TrackMouseEvent.

afx_msg void OnMouseLeave();

Uwagi

Ta metoda odbiera WM_MOUSELEAVE powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMouseMove

Struktura wywołuje tę funkcję składową po przesunięciu kursora myszy.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Jeśli mysz nie zostanie przechwycona, WM_MOUSEMOVE komunikat zostanie odebrany przez CWnd obiekt pod kursorem myszy. W przeciwnym razie komunikat przechodzi do okna, które przechwyciło mysz.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMouseWheel

Struktura wywołuje tę funkcję składową, gdy użytkownik obraca koło myszy i napotyka następny nacięcie koła.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy nie działa.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

zDelta
Wskazuje obróconą odległość. Wartość jest wyrażona zDelta w wielokrotnościach lub podziałach WHEEL_DELTAwartości , czyli 120. Wartość mniejsza niż zero wskazuje obracanie z powrotem (w kierunku użytkownika), podczas gdy wartość większa niż zero wskazuje obracanie się do przodu (z dala od użytkownika). Użytkownik może odwrócić tę odpowiedź, zmieniając ustawienie Wheel w oprogramowaniu myszy. Zobacz uwagi, aby uzyskać więcej informacji na temat tego parametru.

pt
Określa współrzędną x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Wartość zwracana

Niezerowe, jeśli jest włączone przewijanie kółka myszy; w przeciwnym razie 0.

Uwagi

Jeśli nie zostanie zastąpiona, OnMouseWheel wywołaj wartość domyślną .WM_MOUSEWHEEL System Windows automatycznie kieruje komunikat do okna sterującego lub podrzędnego, które ma fokus. Funkcja DefWindowProc Win32 propaguje komunikat w górę łańcucha nadrzędnego do okna, które go przetwarza.

Parametr zDelta jest wielokrotną wartością WHEEL_DELTA, która jest ustawiona na wartość 120. Ta wartość jest progiem dla akcji, która ma zostać podjęta, a jedna taka akcja (na przykład przewijanie do przodu jednego wycięcie) powinna wystąpić dla każdej różnicy.

WHEEL_DELTA został ustawiony na 120, aby umożliwić precyzyjne koła rozdzielczości, takie jak swobodnie obracające się koło bez wycięć. Bardziej precyzyjne koło rozpoznawania wysyła więcej komunikatów na rotację, ale każdy komunikat ma mniejszą wartość różnicową. Aby użyć takiego koła, dodaj wartości przychodzące zDelta do momentu WHEEL_DELTA osiągnięcia (aby uzyskać tę samą odpowiedź dla danego obrotu różnicowego) lub przewiń częściowe linie w odpowiedzi na częstsze komunikaty. Możesz również wybrać stopień szczegółowości przewijania i gromadzić różnice do momentu WHEEL_DELTA osiągnięcia.

Zastąp tę funkcję składową, aby zapewnić własne zachowanie przewijania kółkiem myszy.

Uwaga

OnMouseWheel obsługuje komunikaty dla systemu Windows NT 4.0 i nowszych wersji. W przypadku obsługi komunikatów systemu Windows 95/98 lub Windows NT 3.51 użyj polecenia OnRegisteredMouseWheel.

CWnd::OnMove

Struktura wywołuje tę funkcję składową po przeniesieniu CWnd obiektu.

afx_msg void OnMove(
    int x,
    int y);

Parametry

x
Określa nową lokalizację współrzędnych x lewego górnego rogu obszaru klienta. Ta nowa lokalizacja jest podawana we współrzędnych ekranu dla nakładających się okien podręcznych i współrzędnych klienta nadrzędnego dla okien podrzędnych.

y
Określa nową współrzędną y w lewym górnym rogu obszaru klienta. Ta nowa lokalizacja jest podawana we współrzędnych ekranu dla nakładających się okien podręcznych i współrzędnych klienta nadrzędnego dla okien podrzędnych.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnMoving

Struktura wywołuje tę funkcję składową, gdy użytkownik przenosi CWnd obiekt.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Parametry

nSide
Krawędź okna do przeniesienia.

lpRect
CRect Adres struktury lubRECT, która będzie zawierać współrzędne elementu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcActivate

Struktura wywołuje tę funkcję składową, gdy obszar niekliencki musi zostać zmieniony, aby wskazać stan aktywny lub nieaktywny.

afx_msg BOOL OnNcActivate(BOOL bActive);

Parametry

bActive
Określa, kiedy należy zmienić pasek lub ikonę podpis, aby wskazać stan aktywny lub nieaktywny. Parametr bActive ma być TRUE rysowany, jeśli zostanie narysowana aktywna podpis lub ikona. Jest FALSE to dla nieaktywnej podpis lub ikony.

Wartość zwracana

Bezzerowe, jeśli system Windows powinien kontynuować przetwarzanie domyślne; 0, aby zapobiec dezaktywowaniu paska podpis lub ikony.

Uwagi

Domyślna implementacja rysuje pasek tytułu i tekst paska tytułu w aktywnych kolorach, jeśli bActive jest TRUE i w nieaktywnych kolorach, jeśli bActive ma wartość FALSE.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcCalcSize

Struktura wywołuje tę funkcję składową, gdy należy obliczyć rozmiar i położenie obszaru klienta.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parametry

bCalcValidRects
Określa, czy aplikacja powinna określić, która część obszaru klienta zawiera prawidłowe informacje. System Windows skopiuje prawidłowe informacje do określonego obszaru w nowym obszarze klienta. Jeśli ten parametr ma wartość TRUE, aplikacja powinna określić, która część obszaru klienta jest prawidłowa.

lpncsp
Wskazuje strukturę danych zawierającą NCCALCSIZE_PARAMS informacje, których aplikacja może użyć do obliczenia nowego rozmiaru i położenia CWnd prostokąta (w tym obszaru klienta, obramowań, podpis, pasków przewijania itd.).

Uwagi

Przetwarzając ten komunikat, aplikacja może kontrolować zawartość obszaru klienta okna, gdy zmienia się rozmiar lub położenie okna.

Niezależnie od wartości bCalcValidRects, pierwszy prostokąt w tablicy określony przez rgrc składową NCCALCSIZE_PARAMS struktury struktury zawiera współrzędne okna. W przypadku okna podrzędnego współrzędne są względne względem obszaru klienta okna nadrzędnego. W przypadku okien najwyższego poziomu współrzędne ekranu są współrzędnymi ekranu. Aplikacja powinna zmodyfikować rgrc[0] prostokąt, aby odzwierciedlał rozmiar i położenie obszaru klienta.

Prostokąty rgrc[1] i rgrc[2] są prawidłowe tylko wtedy, gdy bCalcValidRects ma wartość TRUE. W takim przypadku rgrc[1] prostokąt zawiera współrzędne okna przed jego przeniesieniem lub zmianą rozmiaru. Prostokąt rgrc[2] zawiera współrzędne obszaru klienta okna przed przeniesieniem okna. Wszystkie współrzędne są względne względem okna nadrzędnego lub ekranu.

Domyślna implementacja oblicza rozmiar obszaru klienta na podstawie właściwości okna (obecność pasków przewijania, menu itd.) i umieszcza wynik w .lpncsp

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcCreate

Struktura wywołuje tę funkcję składową przed komunikatem po pierwszym utworzeniu WM_CREATECWnd obiektu.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Parametry

lpCreateStruct
CREATESTRUCT Wskazuje strukturę danych dla elementu CWnd.

Wartość zwracana

Niezero, jeśli zostanie utworzony obszar niekliencki. Jest to wartość 0, jeśli wystąpi błąd; Create funkcja zwróci failure w tym przypadku wartość .

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcDestroy

Wywoływana przez platformę, gdy obszar niekliencki jest niszczony, i jest ostatnią funkcją składową wywoływaną podczas niszczenia okna systemu Windows.

afx_msg void OnNcDestroy();

Uwagi

Domyślna implementacja wykonuje oczyszczanie, a następnie wywołuje funkcję PostNcDestroywirtualnego elementu członkowskiego .

Zastąpij PostNcDestroy , jeśli chcesz wykonać własne czyszczenie, takie jak delete this operacja. Jeśli zastąpisz OnNcDestroymetodę , musisz wywołać metodę OnNcDestroy w klasie bazowej, aby upewnić się, że każda pamięć wewnętrznie przydzielona do okna zostanie zwolniona.

CWnd::OnNcHitTest

Struktura wywołuje tę funkcję składową dla CWnd obiektu zawierającego kursor (lub CWnd obiekt, który używał SetCapture funkcji składowej do przechwytywania danych wejściowych myszy) za każdym razem, gdy mysz zostanie przeniesiona.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parametry

point
Zawiera współrzędne x i y kursora. Te współrzędne są zawsze współrzędnymi ekranu.

Wartość zwracana

Jedna z wartości testu trafień myszy wyliczyła. Zobacz WM_NCHITTEST listę wartości.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcLButtonDblClk

Struktura wywołuje tę funkcję składową, gdy użytkownik dwukrotnie kliknie lewy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora. Zobacz WM_NCHITTEST listę wartości.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

W razie potrzeby zostanie wysłana WM_SYSCOMMAND wiadomość.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcLButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska lewy przycisk myszy, gdy kursor znajduje się w obszarze nieklientowym CWnd obiektu.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora. Zobacz WM_NCHITTEST listę wartości.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

W razie potrzeby WM_SYSCOMMAND element jest wysyłany.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcLButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwalnia lewy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora. Zobacz WM_NCHITTEST listę wartości.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Jeśli jest to konieczne, WM_SYSCOMMAND zostanie wysłane.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMButtonDblClk

Struktura wywołuje tę funkcję składową, gdy użytkownik kliknie dwukrotnie środkowy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska środkowy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwalnia środkowy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMouseHover

Struktura wywołuje tę funkcję składową, gdy kursor najecha kursorem na obszar niekliencki okna przez okres określony w poprzednim wywołaniu metody TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
[in] Wartość testu trafień zwrócona CWnd::DefWindowProc przez funkcję w wyniku przetworzenia komunikatu WM_NCHITTEST .

point
[in] CPoint Obiekt, który określa współrzędne x i y kursora względem lewego górnego rogu ekranu.

Uwagi

Ta metoda odbiera WM_NCMOUSEHOVER powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMouseLeave

Struktura wywołuje tę funkcję składową, gdy kursor opuszcza obszar nieklienta okna określonego w poprzednim wywołaniu metody TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Uwagi

Ta metoda odbiera WM_NCMOUSELEAVE powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcMouseMove

Struktura wywołuje tę funkcję składową, gdy kursor jest przenoszony w obszarze nonclient.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

W razie potrzeby zostanie wysłana WM_SYSCOMMAND wiadomość.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcPaint

Struktura wywołuje tę funkcję składową, gdy obszar niekliencki musi być malowany.

afx_msg void OnNcPaint();

Uwagi

Domyślna implementacja maluje ramkę okna.

Aplikacja może zastąpić to wywołanie i malować własną niestandardową ramkę okna. Obszar wycinków jest zawsze prostokątny, nawet jeśli kształt ramki zostanie zmieniony.

CWnd::OnNcRButtonDblClk

Struktura wywołuje tę funkcję składową, gdy użytkownik kliknie dwukrotnie prawym przyciskiem myszy, gdy kursor znajduje się w obszarze nieklientnym CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcRButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska prawy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcRButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwolni prawy przycisk myszy, gdy kursor znajduje się w obszarze nieklientnym.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parametry

nHitTest
Określa kod testu trafień. Test trafienia to test określający lokalizację kursora.

point
Określa CPoint obiekt zawierający współrzędne ekranu x i y położenia kursora. Te współrzędne są zawsze względne względem lewego górnego rogu ekranu.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcRenderingChanged

Struktura wywołuje ten element członkowski, gdy zasady renderowania dla obszaru nieklientowego uległy zmianie.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parametry

bIsRendering
[in] TRUE jeśli renderowanie programu Desktop Window Manager (DWM) jest włączone dla obszaru innego niż klient okna; FALSE jeśli renderowanie jest wyłączone.

Uwagi

Ta metoda odbiera WM_DWMNCRENDERINGCHANGED powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcXButtonDblClk

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie XBUTTON1 dwukrotnie lub XBUTTON2 gdy kursor znajduje się w obszarze innym niż klient okna.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[in] Wartość testu trafień zwrócona CWnd::DefWindowProc przez funkcję w wyniku przetworzenia komunikatu WM_NCHITTEST .

nButton
[in] Wartość XBUTTON1 , jeśli pierwszy przycisk Microsoft Intellimouse X jest dwukrotnie kliknięty lub XBUTTON2 jeśli drugi przycisk X jest dwukrotnie kliknięty.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_XBUTTONDBLCLK powiadomienie opisane w zestawie Windows SDK. Ta wiadomość jest publikowana w oknie zawierającym kursor. Jeśli okno przechwyciło mysz, ta wiadomość nie zostanie wysłana.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcXButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska XBUTTON1 lub XBUTTON2 myszy, gdy kursor znajduje się w obszarze innym niż klient okna.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[in] Wartość testu trafień zwrócona CWnd::DefWindowProc przez funkcję w wyniku przetworzenia komunikatu WM_NCHITTEST .

nButton
[in] Wartość w przypadku naciśnięcia XBUTTON1 pierwszego przycisku myszy X lub XBUTTON2 naciśnięcia drugiego przycisku X.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu ekranu.

Uwagi

Ta metoda odbiera WM_NCXBUTTONDOWN powiadomienie opisane w zestawie Windows SDK. Ta wiadomość jest publikowana w oknie zawierającym kursor. Jeśli okno przechwyciło mysz, ta wiadomość nie zostanie wysłana.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNcXButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwalnia XBUTTON1 lub XBUTTON2 myszy, gdy kursor znajduje się w obszarze innym niż klient okna.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametry

nHitTest
[in] Wartość testu trafień zwrócona CWnd::DefWindowProc przez funkcję w wyniku przetworzenia komunikatu WM_NCHITTEST .

nButton
[in] Wartość XBUTTON1 w przypadku zwolnienia pierwszego przycisku myszy X lub XBUTTON2 zwolnienia drugiego przycisku X.

point
[in] CPoint Obiekt, który określa współrzędne x i y kursora względem lewego górnego rogu ekranu.

Uwagi

Ta metoda odbiera WM_NCXBUTTONUP powiadomienie opisane w zestawie Windows SDK. Ta wiadomość jest publikowana w oknie zawierającym kursor. Jeśli okno przechwyciło mysz, ta wiadomość nie zostanie wysłana.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNextMenu

Struktura wywołuje tę funkcję składową, gdy klawisz strzałki w prawo lub w lewo jest używany do przełączania się między paskiem menu a menu systemowym.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parametry

nKey
[in] Bitowa kombinacja (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL. Aby uzyskać listę flag, zobacz podpozycję "Parametry komunikatu" w temacie About Mouse Input (Informacje o danych wejściowych myszy).

lpMdiNextMenu
[in] Wskaźnik do struktury zawierającej MDINEXTMENU informacje o menu do aktywowania.

Uwagi

Ta metoda odbiera WM_UNINITMENUPOPUP powiadomienie opisane w zestawie Windows SDK. W odpowiedzi na ten komunikat aplikacja może ustawić hmenuNext element członkowski struktury, aby określić menu do przełączenia, oraz hwndNext element członkowskiMDINEXTMENU, aby określić okno do odbierania komunikatów powiadomień menu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnNotify

Struktura wywołuje tę funkcję składową, aby poinformować okno nadrzędne kontrolki o wystąpieniu zdarzenia w kontrolce lub że kontrolka wymaga pewnego rodzaju informacji.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

wParam
Identyfikuje kontrolkę, która wysyła komunikat, jeśli komunikat pochodzi z kontrolki. wParam W przeciwnym razie wartość to 0.

lParam
Wskaźnik do struktury komunikatu powiadomienia (NMHDR), która zawiera kod powiadomienia i dodatkowe informacje. W przypadku niektórych komunikatów powiadomień ten parametr wskazuje większą strukturę, która ma NMHDR strukturę jako pierwszy element członkowski.

pResult
Wskaźnik do zmiennej LRESULT , w której ma być przechowywany kod wyniku, jeśli komunikat jest obsługiwany.

Wartość zwracana

Aplikacja zwraca wartość niezerową, jeśli przetwarza ten komunikat; w przeciwnym razie 0.

Uwagi

OnNotify przetwarza mapę komunikatów w celu powiadomienia o kontrolce.

Zastąp tę funkcję składową w klasie pochodnej WM_NOTIFY , aby obsłużyć komunikat. Przesłonięcia nie będą przetwarzać mapy komunikatów, chyba że zostanie wywołana klasa OnNotify bazowa.

Aby uzyskać więcej informacji na temat komunikatu WM_NOTIFY , zobacz Informacje techniczne 61 (TN061) ON_NOTIFY i WM_NOTIFY komunikaty. Możesz również zainteresować się powiązanymi tematami opisanymi w temacie Tematy sterowania i TN062, Emocje komunikatów dla kontrolek systemu Windows.

CWnd::OnNotifyFormat

Struktura wywołuje tę funkcję składową, aby określić, czy bieżące okno akceptuje struktury ANSI lub Unicode w WM_NOTIFY komunikacie powiadomienia.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Parametry

pWnd
[in] Wskaźnik do CWnd obiektu reprezentującego okno wysyłające WM_NOTIFY komunikat. Ten parametr jest wskaźnikiem do kontrolki, jeśli nCommand parametr ma NF_QUERYwartość , lub wskaźnik do okna nadrzędnego kontrolki, jeśli nCommand ma wartość NF_REQUERY.

nCommand
[in] Wartość polecenia, która specjalizuje się w WM_NOTIFY komunikacie. Możliwe wartości to:

  • NF_QUERY — Komunikat jest zapytaniem określającym, czy struktury ANSI lub Unicode powinny być używane w WM_NOTIFY komunikatach. Ten komunikat jest wysyłany z kontrolki do okna nadrzędnego podczas tworzenia kontrolki i w odpowiedzi na NF_REQUERY formularz tego komunikatu.
  • NF_REQUERY — Komunikat jest żądaniem wysłania NF_QUERY formularza tej wiadomości do okna nadrzędnego kontrolki. To żądanie jest wysyłane z okna nadrzędnego i prosi kontrolkę o ponowne zapytanie elementu nadrzędnego o typ struktury do użycia w WM_NOTIFY komunikatach. nCommand Jeśli parametr ma NF_REQUERYwartość , zwracana wartość jest wynikiem operacji ponownego zapytania.

Wartość zwracana

Wartość zwracana Znaczenie
NFR_ANSI Struktury ANSI powinny być używane w WM_NOTIFY komunikatach wysyłanych przez kontrolkę.
NFR_UNICODE Struktury Unicode powinny być używane w WM_NOTIFY komunikatach wysyłanych przez kontrolkę.
0 Wystąpił błąd.

Uwagi

Ta metoda odbiera WM_NOTIFYFORMAT powiadomienie opisane w zestawie Windows SDK. WM_NOTIFY komunikaty są wysyłane ze wspólnej kontrolki do okna nadrzędnego i z okna nadrzędnego do wspólnej kontrolki.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnPaint

Platforma wywołuje tę funkcję składową, gdy system Windows lub aplikacja wysyła żądanie przemalowania części okna aplikacji.

afx_msg void OnPaint();

Uwagi

Komunikat WM_PAINT jest wysyłany po wywołaniu UpdateWindow funkcji lub RedrawWindow składowej.

Okno może odbierać wewnętrzne komunikaty malowania w wyniku wywołania RedrawWindow funkcji składowej z zestawem RDW_INTERNALPAINT flag. W takim przypadku okno może nie mieć regionu aktualizacji. Aplikacja powinna wywołać GetUpdateRect funkcję składową, aby określić, czy okno ma region aktualizacji. Jeśli GetUpdateRect zwraca wartość 0, aplikacja nie powinna wywoływać funkcji składowych BeginPaint i EndPaint .

Obowiązkiem aplikacji jest sprawdzenie wszelkich niezbędnych wewnętrznych przemalowania lub aktualizacji przez sprawdzenie wewnętrznych struktur danych dla każdego WM_PAINT komunikatu, ponieważ WM_PAINT komunikat mógł być spowodowany zarówno nieprawidłowym obszarem, jak i wywołaniem RedrawWindow funkcji składowej z zestawem RDW_INTERNALPAINT flag.

Wiadomość wewnętrzna WM_PAINT jest wysyłana tylko raz przez system Windows. Po wysłaniu komunikatu wewnętrznego WM_PAINT do okna przez UpdateWindow funkcję składową żadne dalsze WM_PAINT komunikaty nie będą wysyłane ani publikowane, dopóki okno nie zostanie unieważnione lub dopóki RedrawWindow funkcja składowa nie zostanie ponownie wywołana z ustawionym flagą RDW_INTERNALPAINT .

Aby uzyskać informacje na temat renderowania obrazu w aplikacjach dokumentów/widoków, zobacz CView::OnDraw.

Aby uzyskać więcej informacji na temat korzystania z programu WM_Paint, zobacz następujące tematy w zestawie Windows SDK:

CWnd::OnPaintClipboard

Funkcja składowa właściciela OnPaintClipboard schowka jest wywoływana przez przeglądarkę Schowka, gdy właściciel Schowka umieścił dane w Schowku w CF_OWNERDISPLAY formacie, a obszar klienta przeglądarki Schowka wymaga przemalowania.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parametry

pClipAppWnd
Określa wskaźnik do okna Schowek-aplikacja. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

hPaintStruct
PAINTSTRUCT Określa strukturę danych, która definiuje część obszaru klienta do malowania.

Uwagi

Aby określić, czy cały obszar klienta, czy tylko jego część wymaga przemalowania, właściciel Schowka musi porównać wymiary obszaru rysunku podane w rcpaint elemencie członkowskim PAINTSTRUCT struktury do wymiarów podanych w najnowszym OnSizeClipboard wywołaniu funkcji składowej.

OnPaintClipboard należy użyć GlobalLock funkcji systemu Windows, aby zablokować pamięć zawierającą PAINTSTRUCT strukturę danych i odblokować tę pamięć za pomocą GlobalUnlock funkcji systemu Windows przed jej zamknięciem.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnPaletteChanged

Struktura wywołuje tę funkcję składową dla wszystkich okien najwyższego poziomu po oknie z fokusem wejściowym zdał sobie sprawę z palety logicznej, zmieniając w ten sposób paletę systemową.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Parametry

pFocusWnd
Określa wskaźnik do okna, które spowodowało zmianę palety systemowej. Wskaźnik może być tymczasowy i nie powinien być przechowywany.

Uwagi

To wywołanie umożliwia okno bez fokusu wejściowego, który używa palety kolorów do realizacji palet logicznych i aktualizowania obszaru klienta.

Funkcja OnPaletteChanged składowa jest wywoływana dla wszystkich okien najwyższego poziomu i nakładających się okien, w tym tych, które zmieniły paletę systemową i spowodowały wysłanie komunikatu WM_PALETTECHANGED . Jeśli jakiekolwiek okno podrzędne używa palety kolorów, ten komunikat musi zostać przekazany do niego.

Aby uniknąć nieskończonej pętli, okno nie powinno zdawać sobie sprawy z palety, chyba że określa, że pFocusWnd nie zawiera wskaźnika do siebie.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnPaletteIsChanging

Struktura wywołuje tę funkcję składową, aby poinformować aplikacje, że aplikacja będzie realizować paletę logiczną.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parametry

pRealizeWnd
Określa okno, które ma zrealizować paletę logiczną.

Uwagi

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnParentNotify

Funkcja składowa elementu nadrzędnego OnParentNotify jest wywoływana przez strukturę, gdy jego okno podrzędne jest tworzone lub niszczone, albo gdy użytkownik kliknie przycisk myszy, gdy kursor znajduje się nad oknem podrzędnym.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parametry

message
Określa zdarzenie, dla którego element nadrzędny jest powiadamiany i identyfikator okna podrzędnego. Zdarzenie jest wyrazem o niskiej kolejności .message Jeśli zdarzenie to WM_CREATE lub WM_DESTROY, wyraz o wysokiej kolejności message jest identyfikatorem okna podrzędnego; w przeciwnym razie wyraz o wysokiej kolejności jest niezdefiniowany. Zdarzenie (słowo messageo niskiej kolejności ) może być dowolną z następujących wartości:

  • WM_CREATE Tworzone jest okno podrzędne.

  • WM_DESTROY Okno podrzędne jest niszczone.

  • WM_LBUTTONDOWN Użytkownik umieścił kursor myszy nad oknem podrzędnym i kliknął lewy przycisk myszy.

  • WM_MBUTTONDOWN Użytkownik umieścił kursor myszy nad oknem podrzędnym i kliknął środkowy przycisk myszy.

  • WM_RBUTTONDOWN Użytkownik umieścił kursor myszy nad oknem podrzędnym i kliknął prawy przycisk myszy.

lParam
Jeśli zdarzenie (słowo o niskiej kolejności) message to WM_CREATE lub WM_DESTROY, lParam określa uchwyt okna okna okna; w przeciwnym razie lParam zawiera współrzędne x i y kursora. Współrzędna x znajduje się w wyrazie o niskiej kolejności, a współrzędna y znajduje się w wyrazie o wysokiej kolejności.

Uwagi

Po utworzeniu okna podrzędnego system wywołuje OnParentNotify tuż przed funkcją składową Create , która tworzy okno. Gdy okno podrzędne zostanie zniszczone, wywołania OnParentNotify systemowe przed rozpoczęciem przetwarzania zostaną zniszczone okno.

OnParentNotify parametr jest wywoływany dla wszystkich okien nadrzędnych okna podrzędnego, w tym okna najwyższego poziomu.

Wszystkie okna podrzędne z wyjątkiem tych, które mają WS_EX_NOPARENTNOTIFY styl, wysyłają tę wiadomość do okien nadrzędnych. Domyślnie okna podrzędne w oknie dialogowym mają WS_EX_NOPARENTNOTIFY styl, chyba że okno podrzędne zostało utworzone bez tego stylu przez wywołanie funkcji składowej CreateEx .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnPowerBroadcast

Platforma wywołuje tę funkcję składową, gdy wystąpi zdarzenie zarządzania energią.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parametry

nPowerEvent
[in] Zdarzenie zarządzania energią.

nEventData
[in] Dane specyficzne dla zdarzenia.

Wartość zwracana

Jeśli zdarzenie jest żądaniem, wróć TRUE , aby udzielić żądania lub BROADCAST_QUERY_DENY odmówić żądania.

Uwagi

Ta metoda odbiera WM_POWERBROADCAST komunikat opisany w zestawie Windows SDK.

Parametr nPowerEvent określa zdarzenia, takie jak zasilanie baterii jest niskie, stan zasilania został zmieniony, uprawnienie do wstrzymania operacji jest żądane lub odrzucone, operacja jest wznawiana automatycznie po zdarzeniu, system zawiesza działanie lub operacja jest wznawiana po zawieszeniu. Parametr nEventData jest zwykle nieużytny. Aby uzyskać więcej informacji, zobacz wParam parametry i lParam komunikatu WM_POWERBROADCAST .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnQueryDragIcon

Struktura wywołuje tę funkcję składową przez zminimalizowane (kultowe) okno, które nie ma ikony zdefiniowanej dla jej klasy.

afx_msg HCURSOR OnQueryDragIcon();

Wartość zwracana

Podwójna wartość zawierająca uchwyt kursora lub ikony w wyrazie o niskiej kolejności. Kursor lub ikona muszą być zgodne z rozdzielczością sterownika wyświetlania. Jeśli aplikacja zwróci NULLwartość , system wyświetli domyślny kursor. Domyślna wartość zwracana to NULL.

Uwagi

System wykonuje to wywołanie w celu uzyskania kursora do wyświetlenia, gdy użytkownik przeciąga zminimalizowane okno. Jeśli aplikacja zwraca uchwyt ikony lub kursora, system konwertuje go na czarno-biały. Jeśli aplikacja zwróci uchwyt, uchwyt musi zidentyfikować kursor monochromatyczny lub ikonę zgodną z rozdzielczością sterownika wyświetlania. Aplikacja może wywołać CWinApp::LoadCursor funkcje członkowskie lub CWinApp::LoadIcon , aby załadować kursor lub ikonę z zasobów w pliku wykonywalnym i uzyskać ten uchwyt.

CWnd::OnQueryEndSession

Platforma wywołuje tę funkcję składową, gdy użytkownik zdecyduje się zakończyć sesję systemu Windows lub gdy aplikacja wywołuje ExitWindows funkcję systemu Windows.

afx_msg BOOL OnQueryEndSession();

Wartość zwracana

Nonzero, jeśli aplikacja może być wygodnie zamknięta; w przeciwnym razie 0.

Uwagi

Jeśli jakakolwiek aplikacja zwróci wartość 0, sesja systemu Windows nie zostanie zakończona. System Windows zatrzymuje wywoływanie OnQueryEndSession , gdy tylko jedna aplikacja zwróci wartość 0 i wysyła WM_ENDSESSION komunikat z wartością parametru FALSE dla dowolnej aplikacji, która już zwróciła wartość niezerową.

CWnd::OnQueryNewPalette

Struktura wywołuje tę funkcję składową, gdy CWnd obiekt ma otrzymać fokus wejściowy, co daje CWnd możliwość realizacji palety logicznej podczas odbierania fokusu.

afx_msg BOOL OnQueryNewPalette();

Wartość zwracana

Nonzero, jeśli CWnd zdaje sobie sprawę z palety logicznej; w przeciwnym razie 0.

CWnd::OnQueryOpen

Struktura wywołuje tę funkcję składową, gdy CWnd obiekt jest zminimalizowany, a użytkownik żąda CWnd przywrócenia do jego rozmiaru i położenia premiimizowanego.

afx_msg BOOL OnQueryOpen();

Wartość zwracana

Nonzero, jeśli można otworzyć ikonę lub 0, aby zapobiec otwarciu ikony.

Uwagi

W programie OnQueryOpenCWnd nie należy wykonywać żadnych akcji, które spowodują zmianę aktywacji lub fokusu (na przykład utworzenie okna dialogowego).

CWnd::OnQueryUIState

Wywoływana w celu pobrania stanu interfejsu użytkownika dla okna.

afx_msg UINT OnQueryUIState();

Wartość zwracana

Wartość zwracana jest NULL , jeśli wskaźniki fokusu i akceleratory klawiatury są widoczne. W przeciwnym razie wartość zwracana może być co najmniej jedną z następujących wartości:

  • UISF_HIDEFOCUS Wskaźniki fokusu są ukryte.

  • UISF_HIDEACCEL Akceleratory klawiatury są ukryte.

  • UISF_ACTIVE Windows XP: Kontrolka powinna być rysowana w stylu używanym do aktywnych kontrolek.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu WM_QUERYUISTATE zgodnie z opisem w zestawie WINDOWS SDK.

CWnd::OnRawInput

Struktura wywołuje tę funkcję składową, gdy bieżące okno pobiera nieprzetworzone dane wejściowe.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parametry

nInputCode
[in] Kod wejściowy wskazujący, czy dane wejściowe wystąpiły, gdy aplikacja znajdowała się na pierwszym planie, czy nie. W obu przypadkach aplikacja musi wywołać metodę CWnd::DefWindowProc , aby system mógł przeprowadzić oczyszczanie. Ten parametr może być jedną z następujących wartości:

  • RIM_INPUT — Dane wejściowe wystąpiły, gdy aplikacja znajdowała się na pierwszym planie.
  • RIM_INPUTSINK — Dane wejściowe wystąpiły, gdy aplikacja nie znajdowała się na pierwszym planie.

hRawInput
[in] Dojmij do RAWINPUT struktury zawierającej nieprzetworzone dane wejściowe z urządzenia.

Uwagi

Ta metoda odbiera WM_INPUT powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnRButtonDblClk

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie dwukrotnie prawym przyciskiem myszy.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy jest wyłączony.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędne x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Tylko okna, które mają styl CS_DBLCLKS WNDCLASS , mogą odbierać OnRButtonDblClk wywołania. Jest to wartość domyślna dla okien w bibliotece klas programu Microsoft Foundation. System Windows wywołuje OnRButtonDblClk wywołania, gdy użytkownik naciska, zwalnia, a następnie ponownie naciska prawy przycisk myszy w ramach dwukrotnego limitu czasu kliknięcia systemu. Dwukrotne kliknięcie prawego przycisku myszy powoduje wygenerowanie czterech zdarzeń: WM_RBUTTONDOWN i WM_RBUTTONUP komunikatów, OnRButtonDblClk wywołania i innego komunikatu WM_RBUTTONUP po zwolnieniu przycisku.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnRButtonDown

Platforma wywołuje tę funkcję składową, gdy użytkownik naciska prawy przycisk myszy.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy jest wyłączony.

  • MK_RBUTTON Ustaw, jeśli prawy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędne x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnRButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwolni prawy przycisk myszy.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parametry

nFlags
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być dowolną kombinacją następujących wartości:

  • MK_CONTROL Ustaw, jeśli klawisz CTRL nie działa.

  • MK_LBUTTON Ustaw, jeśli lewy przycisk myszy jest wyłączony.

  • MK_MBUTTON Ustaw, jeśli środkowy przycisk myszy jest wyłączony.

  • MK_SHIFT Ustaw, czy klawisz SHIFT nie działa.

point
Określa współrzędne x i y kursora. Te współrzędne są zawsze względne względem lewego górnego rogu okna.

Uwagi

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnRegisteredMouseWheel

Struktura wywołuje tę funkcję składową, gdy użytkownik obraca koło myszy i napotyka następny nacięcie koła.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parametry

wParam
Położenie w poziomie wskaźnika.

lParam
Położenie w pionie wskaźnika.

Wartość zwracana

W tej chwili nieistotne. Zawsze zero.

Uwagi

Jeśli nie zostanie zastąpiony, OnRegisteredMouseWheel przekierowuje komunikat do odpowiedniego okna (okno nadrzędne z fokusem) i wywołuje procedurę WM_MOUSEWHEEL obsługi dla tego okna.

Zastąp tę funkcję składową, aby zapewnić własny routing komunikatów lub zmienić zachowanie przewijania kół myszy.

Uwaga

OnRegisteredMouseWheel obsługuje komunikaty dla systemów Windows 95/98 i Windows NT 3.51. W przypadku obsługi komunikatów systemu Windows NT 4.0 użyj polecenia OnMouseWheel.

CWnd::OnRenderAllFormats

Funkcja składowa właściciela OnRenderAllFormats schowka jest wywoływana przez platformę, gdy aplikacja właściciela jest niszczona.

afx_msg void OnRenderAllFormats();

Uwagi

Właściciel schowka powinien renderować dane we wszystkich formatach, które może wygenerować i przekazać uchwyt danych dla każdego formatu do Schowka, wywołując SetClipboardData funkcję systemu Windows. Gwarantuje to, że Schowek zawiera prawidłowe dane, mimo że aplikacja, która renderowała dane, zostanie zniszczona. Aplikacja powinna wywołać OpenClipboard funkcję składową przed wywołaniem SetClipboardData funkcji systemu Windows i wywołać CloseClipboard funkcję systemu Windows później.

CWnd::OnRenderFormat

Funkcja składowa właściciela OnRenderFormat schowka jest wywoływana przez platformę, gdy należy renderować określony format z opóźnionym renderowaniem.

afx_msg void OnRenderFormat(UINT nFormat);

Parametry

nFormat
Określa format Schowka.

Uwagi

Odbiornik powinien renderować dane w tym formacie i przekazywać je do Schowka przez wywołanie SetClipboardData funkcji systemu Windows.

Nie należy wywoływać funkcji składowej OpenClipboard ani CloseClipboard funkcji systemu Windows z poziomu programu OnRenderFormat.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSessionChange

Struktura wywołuje tę funkcję składową, aby powiadomić aplikację o zmianie stanu sesji.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parametry

nSessionState
[in] Kod stanu opisuje zmianę stanu sesji.

nId
[in] Identyfikator sesji.

Uwagi

Ta metoda odbiera WM_WTSSESSION_CHANGE powiadomienie opisane w zestawie Windows SDK.

Parametr nSessionState określa, że sesja jest połączona lub odłączona od konsoli lub terminalu zdalnego, użytkownik zalogowany lub wyłączony, sesja jest zablokowana lub odblokowana albo sesja została zmieniona na stan sterowany zdalnie. Aby uzyskać więcej informacji, zobacz wParam parametr komunikatu WM_WTSSESSION_CHANGE .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSetCursor

Struktura wywołuje tę funkcję składową, jeśli dane wejściowe myszy nie są przechwytywane, a mysz powoduje ruch kursora CWnd w obiekcie.

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Parametry

pWnd
Określa wskaźnik do okna zawierającego kursor. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

nHitTest
Określa kod obszaru testu trafień . Test trafienia określa lokalizację kursora.

message
Określa numer komunikatu myszy.

Wartość zwracana

Niezerowe, aby zatrzymać dalsze przetwarzanie, lub 0, aby kontynuować.

Uwagi

Domyślna implementacja wywołuje okno nadrzędne OnSetCursor przed przetworzeniem. Jeśli okno nadrzędne zwróci TRUEwartość , dalsze przetwarzanie zostanie zatrzymane. Wywołanie okna nadrzędnego daje kontrolkę okna nadrzędnego nad ustawieniem kursora w oknie podrzędnym.

Domyślna implementacja ustawia kursor na strzałkę, jeśli nie znajduje się w obszarze klienta lub do kursora klasy zarejestrowanej, jeśli jest.

Jeśli nHitTest jest HTERROR i message jest komunikatem myszy w dół, MessageBeep funkcja składowa jest wywoływana.

Parametr komunikatu to 0, gdy CWnd wchodzi w tryb menu.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSetFocus

Struktura wywołuje tę funkcję składową po uzyskaniu fokusu danych wejściowych.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Parametry

pOldWnd
CWnd Zawiera obiekt, który traci fokus wejściowy (może to być NULL). Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Aby wyświetlić karetki, CWnd należy w tym momencie wywołać odpowiednie funkcje karetki.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSettingChange

Struktura wywołuje OnSettingChange wszystkie okna najwyższego poziomu, gdy funkcja Win32 SystemParametersInfo zmienia ustawienie całego systemu.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parametry

uFlags
Gdy system wysyła komunikat w wyniku SystemParametersInfo wywołania, ten parametr jest flagą wskazującą parametr systemowy, który został zmieniony. Aby uzyskać listę wartości, zobacz SystemParametersInfo w zestawie Windows SDK. Gdy aplikacja wysyła komunikat, ten parametr musi mieć wartość 0.

lpszSection
Wskazuje ciąg, który określa nazwę zmienionej sekcji. (Ciąg nie zawiera nawiasów kwadratowych, które zawierają nazwę sekcji).

Uwagi

Aplikacja powinna wysłać komunikat do wszystkich okien najwyższego poziomu podczas wprowadzania zmian w parametrach systemowych, a system Windows wyśle komunikat, jeśli użytkownik zmieni ustawienia za pośrednictwem Panel sterowania.

Komunikat ON_WM_SETTINGCHANGE jest podobny do komunikatu ON_WM_WININICHANGE z następującą różnicą:

  • Użyj ON_WM_SETTINGCHANGE polecenia podczas uruchamiania systemu Windows NT 4.0 lub nowszego albo w systemie Windows 95/98.

  • Użyj ON_WININICHANGE polecenia podczas uruchamiania systemu Windows NT 3.51 lub starszego. Ta wiadomość jest teraz przestarzała.

Na mapie komunikatów powinien znajdować się tylko jedno z tych makr. Aby napisać program, który działa zarówno dla systemów Windows 95/98, jak i Windows NT 4.0, napisz program obsługi dla programu ON_WM_SETTINGCHANGE. W systemie Windows NT 3.51 program obsługi będzie wywoływany przez OnSettingChange program i uFlags zawsze będzie zero.

CWnd::OnShowWindow

Struktura wywołuje tę funkcję składową, gdy CWnd obiekt ma zostać ukryty lub pokazany.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parametry

bShow
Określa, czy jest wyświetlane okno. Jest to TRUE , jeśli okno jest wyświetlane; jest FALSE to, czy okno jest ukryte.

nStatus
Określa stan wyświetlanego okna. Jest to 0, jeśli komunikat jest wysyłany z powodu wywołania funkcji składowej ShowWindow ; w przeciwnym razie nStatus jest jednym z następujących:

  • SW_PARENTCLOSING Okno nadrzędne zamyka (jest kultowe) lub jest ukryte okno podręczne.

  • SW_PARENTOPENING Zostanie otwarte okno nadrzędne (wyświetlane) lub zostanie wyświetlone okno podręczne.

Uwagi

Okno jest ukryte lub wyświetlane po ShowWindow wywołaniu funkcji składowej, gdy nakładające się okno jest zmaksymalizowane lub przywrócone albo gdy nakładające się lub wyskakujące okno jest zamknięte (wykonane jako ikoniczne) lub otwarte (wyświetlane na ekranie). Gdy nakładające się okno zostanie zamknięte, wszystkie okna podręczne skojarzone z tym oknem są ukryte.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSize

Struktura wywołuje tę funkcję składową po zmianie rozmiaru okna.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parametry

nType
Określa typ żądanej zmiany rozmiaru. Ten parametr może być jedną z następujących wartości:

  • SIZE_MAXIMIZED Okno zostało zmaksymalizowane.

  • SIZE_MINIMIZED Okno zostało zminimalizowane.

  • SIZE_RESTORED Rozmiar okna został zmieniony, ale ani SIZE_MINIMIZEDSIZE_MAXIMIZED nie ma zastosowania.

  • SIZE_MAXHIDE Komunikat jest wysyłany do wszystkich okien podręcznych, gdy inne okno jest zmaksymalizowane.

  • SIZE_MAXSHOW Wiadomość jest wysyłana do wszystkich okien podręcznych, gdy inne okno zostało przywrócone do poprzedniego rozmiaru.

cx
Określa nową szerokość obszaru klienta.

cy
Określa nową wysokość obszaru klienta.

Uwagi

SetScrollPos Jeśli funkcja lub MoveWindow jest wywoływana dla okna podrzędnego z OnSize, bRedraw parametr SetScrollPosMoveWindow lub powinien być niezerowy, aby spowodować CWnd przemalowane.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

Przykład

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

Funkcja składowa właściciela OnSizeClipboard schowka jest wywoływana przez przeglądarkę Schowka, gdy Schowek zawiera dane z atrybutem CF_OWNERDISPLAY , a rozmiar obszaru klienta okna Schowka przeglądarki uległ zmianie.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parametry

pClipAppWnd
Identyfikuje okno Schowek-aplikacja. Wskaźnik może być tymczasowy i nie powinien być przechowywany.

hRect
Identyfikuje obiekt pamięci globalnej. Obiekt pamięci zawiera RECT strukturę danych, która określa obszar dla właściciela Schowka do malowania.

Uwagi

Funkcja OnSizeClipboard składowa jest wywoływana przy użyciu prostokąta o wartości null (0,0,0,0) jako nowego rozmiaru, gdy aplikacja Schowka ma zostać zniszczona lub zminimalizowana. Dzięki temu właściciel Schowka może zwolnić swoje zasoby wyświetlania.

W OnSizeClipboardprogramie aplikacja musi używać GlobalLock funkcji systemu Windows, aby zablokować pamięć zawierającą RECT strukturę danych. Aby aplikacja odblokowała tę pamięć za pomocą GlobalUnlock funkcji systemu Windows, zanim zwróci lub zwróci kontrolę.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSizing

Struktura wywołuje tę funkcję składową, aby wskazać, że użytkownik zmienia rozmiar prostokąta.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Parametry

nSide
Krawędź okna do przeniesienia.

lpRect
CRect Adres struktury lubRECT, która będzie zawierać współrzędne elementu.

Uwagi

Przetwarzając ten komunikat, aplikacja może monitorować rozmiar i położenie prostokąta przeciągania, a w razie potrzeby zmienić jego rozmiar lub położenie.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

Przykład

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

Struktura wywołuje tę funkcję składową z Menedżera wydruku przy każdym dodaniu lub usunięciu zadania z kolejki Menedżera wydruku.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parametry

nStatus
Określa flagę SP_JOBSTATUS .

nJobs
Określa liczbę zadań pozostałych w kolejce Menedżera wydruku.

Uwagi

To wywołanie służy tylko do celów informacyjnych.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnStyleChanged

Struktura wywołuje tę funkcję składową po SetWindowLong zmianie co najmniej jednego stylu okna.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametry

nStyleType
Określa, czy style rozszerzone lub nieostrojone okna zostały zmienione. Ten parametr może być kombinacją następujących wartości:

  • GWL_EXSTYLE Style rozszerzone okna uległy zmianie.

  • GWL_STYLE Niestępowane style okna uległy zmianie.

lpStyleStruct
Wskazuje strukturę zawierającą STYLESTRUCT nowe style okna. Aplikacja może zbadać style, ale nie może ich zmienić.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnStyleChanging

Struktura wywołuje tę funkcję składową, gdy SetWindowLong funkcja zmieni co najmniej jeden styl okna.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametry

nStyleType
Określa, czy style rozszerzone lub nieostrojone okna zostały zmienione. Ten parametr może być kombinacją następujących wartości:

  • GWL_EXSTYLE Style rozszerzone okna uległy zmianie.

  • GWL_STYLE Niestępowane style okna uległy zmianie.

lpStyleStruct
Wskazuje strukturę zawierającą STYLESTRUCT nowe style okna. Aplikacja może zbadać style i zmienić je.

Uwagi

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSysChar

Struktura wywołuje tę funkcję składową, jeśli CWnd ma fokus wejściowy, a WM_SYSKEYUP komunikaty i WM_SYSKEYDOWN są tłumaczone.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa kod klucza ASCII-znak klucza klawisza Control-menu.

nRepCnt
Określa liczbę powtórzeń, czyli liczbę powtórzeń, ile razy naciśnięcie klawisza jest powtarzane w wyniku przytrzymywania klucza przez użytkownika.

nFlags
Parametr nFlags może mieć następujące wartości:

Wartość Znaczenie
0-15 Określa liczbę powtórzeń. Wartość jest liczbą powtórzeń naciśnięć klawiszy w wyniku przytrzymywania klucza przez użytkownika.
16-23 Określa kod skanowania. Wartość zależy od producenta oryginalnego sprzętu (OEM)
24 Określa, czy klucz jest klawiszem rozszerzonym, takim jak klawisz ALT po prawej stronie i klawisze CTRL, które są wyświetlane na ulepszonej klawiaturze 101- lub 102-klawiszowej. Wartość to 1, jeśli jest to klucz rozszerzony; w przeciwnym razie wartość wynosi 0.
25-28 Używane wewnętrznie przez system Windows.
29 Określa kod kontekstu. Wartość to 1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza ; w przeciwnym razie wartość to 0.
30 Określa poprzedni stan klucza. Wartość to 1, jeśli klucz nie działa przed wysłaniem komunikatu lub wynosi 0, jeśli klucz jest w górę.
31 Określa stan przejścia. Wartość to 1, jeśli klucz jest zwalniany, lub wynosi 0, jeśli jest naciśnięty klawisz.

Uwagi

Określa kod klucza wirtualnego klucza klawisza Control-menu. (Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h)

Gdy kod kontekstu ma wartość 0, WM_SYSCHAR może przekazać WM_SYSCHAR komunikat do TranslateAccelerator funkcji systemu Windows, która będzie obsługiwać go tak, jakby był to normalny komunikat klucza zamiast systemowego klucza. Dzięki temu klucze akceleratora mogą być używane z aktywnym oknem, nawet jeśli aktywne okno nie ma fokusu wejściowego.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w systemie nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSysColorChange

Struktura wywołuje tę funkcję składową dla wszystkich okien najwyższego poziomu po wprowadzeniu zmiany w ustawieniu koloru systemu.

afx_msg void OnSysColorChange();

Uwagi

System Windows wywołuje OnSysColorChange każde okno, którego dotyczy zmiana koloru systemu.

Aplikacje, które mają pędzle korzystające z istniejących kolorów systemowych, powinny usunąć te pędzle i ponownie utworzyć je za pomocą nowych kolorów systemowych.

CWnd::OnSysCommand

Platforma wywołuje tę funkcję składową, gdy użytkownik wybierze polecenie z menu Kontrolka lub gdy użytkownik wybierze przycisk Maksymalizuj lub Minimalizuj.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Parametry

nID
Określa typ żądanego polecenia systemowego. Ten parametr może być jedną z następujących wartości:

  • SC_CLOSECWnd Zamknij obiekt.

  • SC_HOTKEYCWnd Aktywuj obiekt skojarzony z określonym przez aplikację kluczem gorącym. Słowo o niskiej kolejności lParam identyfikuje HWND okno do aktywowania.

  • SC_HSCROLL Przewiń w poziomie.

  • SC_KEYMENU Pobierz menu za pomocą naciśnięcia klawiszy.

  • SC_MAXIMIZE (lub SC_ZOOM) CWnd Maksymalizuj obiekt.

  • SC_MINIMIZE (lub SC_ICON) CWnd Zminimalizuj obiekt.

  • SC_MOUSEMENU Pobierz menu za pomocą kliknięcia myszy.

  • SC_MOVECWnd Przenieś obiekt.

  • SC_NEXTWINDOW Przejdź do następnego okna.

  • SC_PREVWINDOW Przejdź do poprzedniego okna.

  • SC_RESTORE Przywróć okno do normalnego położenia i rozmiaru.

  • SC_SCREENSAVE Wykonuje aplikację wygaszacza ekranu określoną w sekcji SYSTEM.INI [rozruch] pliku.

  • SC_SIZECWnd Rozmiar obiektu.

  • SC_TASKLIST Wykonaj lub aktywuj aplikację Menedżera zadań systemu Windows.

  • SC_VSCROLL Przewiń w pionie.

lParam
Jeśli wybrano polecenie Control-menu z myszą, lParam zawiera współrzędne kursora. Wyraz o niskiej kolejności zawiera współrzędną x, a wyraz o wysokiej kolejności zawiera współrzędną y. W przeciwnym razie ten parametr nie jest używany.

  • SC_HOTKEY Aktywuj okno skojarzone z określonym przez aplikację kluczem gorącym. Słowo o niskiej kolejności lParam identyfikuje okno do aktywowania.

  • SC_SCREENSAVEWykonaj aplikację zapisywania ekranu określoną w sekcji Desktop Panel sterowania.

Uwagi

Domyślnie OnSysCommand wykonuje żądanie control-menu dla wstępnie zdefiniowanych akcji określonych w poprzedniej tabeli.

W WM_SYSCOMMAND komunikatach cztery bity o niskiej kolejności parametru nID są używane wewnętrznie przez system Windows. Gdy aplikacja testuje wartość nID, musi połączyć wartość 0xFFF0 z wartością nID przy użyciu operatora bitowego AND w celu uzyskania poprawnego wyniku.

Elementy menu w menu Kontrolka można modyfikować za pomocą GetSystemMenufunkcji , AppendMenu, InsertMenui ModifyMenu elementów członkowskich. Aplikacje modyfikujące menu Kontrolka muszą przetwarzać WM_SYSCOMMAND komunikaty, a wszystkie WM_SYSCOMMAND komunikaty, które nie są obsługiwane przez aplikację, muszą być przekazywane do OnSysCommandusługi . Wszystkie wartości poleceń dodane przez aplikację muszą być przetwarzane przez aplikację i nie mogą być przekazywane do OnSysCommand.

Aplikacja może wykonywać dowolne polecenie systemowe w dowolnym momencie, przekazując WM_SYSCOMMAND komunikat do OnSysCommand.

Naciśnięcia klawiszy skrótu zdefiniowane w celu wybrania elementów z menu Kontrolka są tłumaczone na OnSysCommand wywołania; wszystkie inne naciśnięcia klawiszy akceleratora są tłumaczone na WM_COMMAND komunikaty.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSysDeadChar

Struktura wywołuje tę funkcję składową, jeśli CWnd obiekt ma fokus wejściowy, gdy OnSysKeyUp wywoływana jest funkcja składowa lub OnSysKeyDown .

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa wartość znaku dead-key.

nRepCnt
Określa liczbę powtórzeń.

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Znaczenie
0-7 Skanuj kod (wartość zależna od producenta OEM). Niski bajt wyrazu o wysokiej kolejności.
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony; w przeciwnym razie 0).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza; w przeciwnym razie 0).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wywołaniem, 0, jeśli klucz jest w górę).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

Uwagi

Określa wartość znaku martwego klucza.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSysKeyDown

CWnd Jeśli obiekt ma fokus wejściowy, funkcja składowa jest wywoływana przez platformę, OnSysKeyDown gdy użytkownik przytrzymuje klawisz ALT, a następnie naciska inny klawisz.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa kod klucza wirtualnego naciśnięcia klawisza. Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h

nRepCnt
Określa liczbę powtórzeń.

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Znaczenie
0-7 Skanuj kod (wartość zależna od producenta OEM). Niski bajt wyrazu o wysokiej kolejności.
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony; w przeciwnym razie 0).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza, 0 w przeciwnym razie).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wysłaniem komunikatu, 0, jeśli klucz jest uruchomiony).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

W przypadku OnSysKeyDown wywołań bit przejścia klucza (bit 15) to 0. Bit kodu kontekstowego (bit 13) to 1, jeśli klawisz ALT nie działa podczas naciśnięcia klawisza ; jest to 0, jeśli komunikat jest wysyłany do aktywnego okna, ponieważ żadne okno nie ma fokusu wejściowego.

Uwagi

Jeśli żadne okno nie ma obecnie fokusu wejściowego, wywoływana OnSysKeyDown jest funkcja składowa aktywnego okna. CWnd Obiekt, który odbiera komunikat, może odróżnić te dwa konteksty, sprawdzając kod kontekstu w pliku nFlags.

Gdy kod kontekstu ma wartość 0, WM_SYSKEYDOWN komunikat odebrany przez OnSysKeyDown program może zostać przekazany do TranslateAccelerator funkcji systemu Windows, która będzie obsługiwać go tak, jakby był to normalny komunikat klucza zamiast komunikatu klucza systemowego. Dzięki temu klucze akceleratora mogą być używane z aktywnym oknem, nawet jeśli aktywne okno nie ma fokusu wejściowego.

Ze względu na automatyczne powtarzanie może wystąpić więcej niż jedno OnSysKeyDown wywołanie przed odebraniem komunikatu WM_SYSKEYUP . Poprzedni stan klucza (bit 14) może służyć do określenia, czy OnSysKeyDown wywołanie wskazuje pierwsze przejście w dół, czy powtarzające się przejście w dół.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są prawym klawiszem ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; INS, DEL, HOME, END, PAGE UP, PAGE UP, PAGE DOWN i strzałki w klastrach po lewej stronie klawiatury liczbowej, a ukośnik (/) i klawisz ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w systemie nFlags.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnSysKeyUp

CWnd Jeśli obiekt ma fokus, funkcja składowa jest wywoływana przez platformę, OnSysKeyUp gdy użytkownik zwalnia klawisz, który został naciśnięty, gdy klawisz ALT został zatrzymany.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
Określa kod klucza wirtualnego naciśnięcia klawisza. Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h

nRepCnt
Określa liczbę powtórzeń.

nFlags
Określa kod skanowania, kod przejścia klucza, poprzedni stan klucza i kod kontekstu, jak pokazano na poniższej liście:

Wartość Znaczenie
0-7 Skanuj kod (wartość zależna od producenta OEM). Niski bajt wyrazu o wysokiej kolejności.
8 Klucz rozszerzony, taki jak klucz funkcji lub klucz na klawiaturze liczbowej (1, jeśli jest to klucz rozszerzony; w przeciwnym razie 0).
9-10 Nie używany.
11-12 Używane wewnętrznie przez system Windows.
13 Kod kontekstu (1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza, 0 w przeciwnym razie).
14 Poprzedni stan klucza (1, jeśli klucz nie działa przed wysłaniem komunikatu, 0, jeśli klucz jest uruchomiony).
15 Stan przejścia (1, jeśli klucz jest zwalniany, 0, jeśli jest naciśnięty klawisz).

W przypadku OnSysKeyUp wywołań bit przejścia klucza (bit 15) to 1. Bit kodu kontekstowego (bit 13) to 1, jeśli klawisz ALT nie działa podczas naciśnięcia klawisza ; jest to 0, jeśli komunikat jest wysyłany do aktywnego okna, ponieważ żadne okno nie ma fokusu wejściowego.

Uwagi

Jeśli żadne okno nie ma obecnie fokusu wejściowego, wywoływana OnSysKeyUp jest funkcja składowa aktywnego okna. CWnd Obiekt odbierający wywołanie może odróżnić te dwa konteksty, sprawdzając kod kontekstu w pliku nFlags.

Gdy kod kontekstu ma wartość 0, WM_SYSKEYUP komunikat odebrany przez OnSysKeyUp program może zostać przekazany do TranslateAccelerator funkcji systemu Windows, która będzie obsługiwać go tak, jakby był to normalny komunikat klucza zamiast komunikatu klucza systemowego. Umożliwia to używanie klawiszy skrótu (skrótów) z aktywnym oknem, nawet jeśli aktywne okno nie ma fokusu wejściowego.

W przypadku klawiatur IBM Enhanced 101- i 102-klawiszowych rozszerzone klawisze są właściwymi klawiszami ALT i prawymi klawiszami CTRL w głównej sekcji klawiatury; KLAWISZE INS, DEL, HOME, END, PAGE UP, PAGE DOWN i arrow w klastrach po lewej stronie klawiatury liczbowej; oraz ukośnik (/) i klawisze ENTER w klawiaturze liczbowej. Niektóre inne klawiatury mogą obsługiwać bit rozszerzonego klawisza w nFlags.

W przypadku stanów innych niż USA Ulepszone klawiatury 102-klawiszowe, prawy klawisz ALT jest obsługiwany jako kombinacja klawiszy CTRL+ALT. Poniżej przedstawiono sekwencję komunikatów i wywołań, które powodują naciśnięcie i wydanie tego klucza przez użytkownika:

Sequence Dostęp do funkcji Przekazano komunikat
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnTCard

Struktura wywołuje tę funkcję składową, gdy użytkownik kliknie przycisk możliwy do utworzenia.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parametry

idAction
Wskazuje akcję, która została podjęta przez użytkownika. Ten parametr może być jedną z następujących wartości:

  • IDABORT Użytkownik kliknął przycisk Autorable Abort.

  • IDCANCEL Użytkownik kliknął przycisk Anuluj, który można utworzyć.

  • IDCLOSE Użytkownik zamknął kartę szkoleniową.

  • IDHELP Użytkownik kliknął przycisk Autorable Windows Help (Pomoc systemu Windows).

  • IDIGNORE Użytkownik kliknął przycisk Ignoruj.

  • IDOK Użytkownik kliknął przycisk AUTORABLE OK.

  • IDNO Użytkownik kliknął przycisk Nie.

  • IDRETRY Użytkownik kliknął przycisk Ponów próbę autora.

  • HELP_TCARD_DATA Użytkownik kliknął przycisk z możliwością tworzenia. Parametr dwActionData zawiera długą liczbę całkowitą określoną przez autora pomocy.

  • HELP_TCARD_NEXT Użytkownik kliknął przycisk Next (Dalej).

  • HELP_TCARD_OTHER_CALLER Inna aplikacja zażądała kart szkoleniowych.

  • IDYES Użytkownik kliknął przycisk Tak.

dwActionData
Jeśli idAction parametr określa HELP_TCARD_DATA, ten parametr jest długą liczbą całkowitą określoną przez autora pomocy. W przeciwnym razie ten parametr ma wartość zero.

Uwagi

Ta funkcja jest wywoływana tylko wtedy, gdy aplikacja zainicjowała kartę szkoleniową za pomocą Pomocy systemu Windows. Aplikacja inicjuje kartę szkoleniową, określając HELP_TCARD polecenie w wywołaniu WinHelp funkcji.

CWnd::OnTimeChange

Struktura wywołuje tę funkcję składową po zmianie czasu systemu.

afx_msg void OnTimeChange();

Uwagi

Mieć dowolną aplikację, która zmienia czas systemowy, wysyła ten komunikat do wszystkich okien najwyższego poziomu. Aby wysłać WM_TIMECHANGE komunikat do wszystkich okien najwyższego poziomu, aplikacja może użyć SendMessage funkcji systemu Windows z jej hwnd parametrem ustawionym na HWND_BROADCAST.

CWnd::OnTimer

Struktura wywołuje tę funkcję składową po każdym interwale określonym w funkcji składowej SetTimer używanej do instalowania czasomierza.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Parametry

nIDEvent
Określa identyfikator czasomierza.

Uwagi

Funkcja DispatchMessage systemu Windows wysyła WM_TIMER komunikat, gdy żadne inne komunikaty nie znajdują się w kolejce komunikatów aplikacji.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

Przykład

Zobacz przykład w pliku CWnd::SetTimer.

CWnd::OnToolHitTest

Struktura wywołuje tę funkcję składową, aby określić, czy punkt znajduje się w prostokątze ograniczenia określonego narzędzia.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parametry

point
Określa współrzędną x i y kursora. Współrzędne te są zawsze względne względem lewego górnego rogu okna

pTI
Wskaźnik do TOOLINFO struktury. Następujące wartości struktury są ustawiane domyślnie:

  • hwnd = m_hWnd Obsługa w oknie

  • uId = (UINT)hWndChild Dojście do okna podrzędnego

  • uFlags |= TTF_IDISHWND Uchwyt narzędzia

  • lpszText = LPSTR_TEXTCALLBACK Wskaźnik do ciągu, który ma być wyświetlany w określonym oknie

Wartość zwracana

Jeśli znaleziono kontrolkę etykietki narzędzia, identyfikator kontrolki okna. Jeśli kontrolka etykietki narzędzia nie została znaleziona, -1.

Uwagi

Jeśli punkt znajduje się w prostokątze, pobiera informacje o narzędziu.

Jeśli obszar, z którym skojarzona jest etykietka narzędzia, nie jest przyciskiem, OnToolHitTest ustawia flagi struktury na TTF_NOTBUTTON i TTF_CENTERTIP.

Zastąpij OnToolHitTest , aby podać inne informacje niż wartość domyślna.

Aby uzyskać więcej informacji na temat struktury, zobacz TOOLINFO, w zestawie Sdk systemu Windows.

CWnd::OnTouchInput

Przetwarzanie pojedynczych danych wejściowych z poziomu dotyku systemu Windows.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parametry

pt
Punkt, w którym został dotknięty ekran (we współrzędnych klienta).

nInputNumber
Liczba wejść dotykowych.

nInputsCount
Całkowita liczba wejść dotykowych.

pInput
Wskaźnik do TOUCHINPUT struktury.

Wartość zwracana

TRUE jeśli aplikacja przetwarza dane wejściowe systemu Windows touch; w przeciwnym razie FALSE.

Uwagi

CWnd::OnTouchInputs

Przetwarza dane wejściowe z dotyku systemu Windows.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parametry

nInputsCount
Łączna liczba wejść dotykowych systemu Windows.

pInputs
Tablica .TOUCHINPUT

Wartość zwracana

TRUE jeśli aplikacja przetwarza dane wejściowe systemu Windows touch; w przeciwnym razie FALSE.

Uwagi

CWnd::OnUniChar

Platforma wywołuje tę funkcję składową po naciśnięciu klawisza. Oznacza to, że bieżące okno ma fokus klawiatury, a WM_KEYDOWN komunikat jest tłumaczony przez TranslateMessage funkcję.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametry

nChar
[in] Określa kod znaku naciśnięcia klawisza.

nRepCnt
[in] Określa liczbę powtórzeń dla bieżącego komunikatu. Wartość jest liczbą, ile razy naciśnięcie klawisza jest autorepeowane w wyniku przytrzymywania klucza przez użytkownika. Jeśli naciśnięcie klawiszy jest wystarczająco długie, wysyłanych jest wiele komunikatów. Jednak liczba powtórzeń nie jest skumulowana.

nFlags
[in] Flagi określające kod skanowania, klucz rozszerzony, kod kontekstu, poprzedni stan klucza i stan przejścia, jak pokazano w poniższej tabeli:

Bity flagi opis
0-7 Określa kod skanowania. Wartość zależy od producenta oryginalnego sprzętu (OEM).
8 Określa klawisz rozszerzony, taki jak klawisz ALT po prawej stronie i klawisze CTRL, które są wyświetlane na ulepszonej klawiaturze 101 lub 102 klawiszy. Flaga to 1, jeśli klucz jest kluczem rozszerzonym; w przeciwnym razie wartość wynosi 0.
9-12 Używane wewnętrznie przez system Windows.
13 Określa kod kontekstu. Flaga to 1, jeśli klawisz ALT jest przytrzymyany podczas naciśnięcia klawisza; w przeciwnym razie wartość to 0.
14 Określa poprzedni stan klucza. Flaga to 1, jeśli klucz nie działa przed wysłaniem komunikatu, lub 0, jeśli klucz jest w górę.
15 Określa stan przejścia. Flaga to 1, jeśli klucz jest zwalniany, lub 0, jeśli jest naciśnięty klawisz.

Uwagi

Ta metoda odbiera WM_UNICHAR powiadomienie opisane w zestawie Windows SDK. Wiadomość jest przeznaczona do wysyłania WM_UNICHAR lub publikowania znaków Unicode w oknach ANSI. Jest to odpowiednik komunikatu WM_CHAR , ale używa kodowania Unicode Transformation Format-32 (UTF-32), podczas gdy WM_CHAR komunikat używa formatu UTF-16.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnUnInitMenuPopup

Struktura wywołuje tę funkcję składową, gdy menu rozwijane lub podmenu zostało zniszczone.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parametry

pMenu
[in] Wskaźnik do CMenu obiektu reprezentującego menu lub podmenu.

nFlags
[in] Menu, które zostało zniszczone. Obecnie może to być tylko menu okna, MF_SYSMENU.

Uwagi

Ta metoda odbiera WM_UNINITMENUPOPUP powiadomienie opisane w zestawie Windows SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnUpdateUIState

Wywoływana w celu zmiany stanu interfejsu użytkownika dla określonego okna i wszystkich okien podrzędnych.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Parametry

nAction
Określa akcję do wykonania. Może być jedną z następujących wartości:

  • UIS_CLEAR Element stanu interfejsu użytkownika (określony przez nUIElement) powinien być ukryty.

  • UIS_INITIALIZE Element stanu interfejsu użytkownika (określony przez nUIElement) powinien zostać zmieniony na podstawie ostatniego zdarzenia wejściowego. Aby uzyskać więcej informacji, zobacz sekcję Uwagi w temacieWM_UPDATEISTATE.

  • UIS_SET Element stanu interfejsu użytkownika (określony przez nUIElement) powinien być widoczny.

nUIElement
Określa, które elementy stanu interfejsu użytkownika mają wpływ lub styl kontrolki. Może być jedną z następujących wartości:

  • UISF_HIDEACCEL Akceleratory klawiatury.

  • UISF_HIDEFOCUS Wskaźniki fokusu.

  • UISF_ACTIVE Windows XP: Kontrolka powinna być rysowana w stylu używanym do aktywnych kontrolek.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu WM_UPDATEUISTATE zgodnie z opisem w zestawie WINDOWS SDK.

CWnd::OnUserChanged

Platforma wywołuje ten element członkowski dla wszystkich okien po zalogowaniu lub wyłączeniu użytkownika.

afx_msg void OnUserChanged();

Uwagi

Ta metoda odbiera WM_USERCHANGED komunikat powiadomienia opisany w zestawie WINDOWS SDK. Gdy użytkownik loguje się lub wyłącza, system operacyjny aktualizuje ustawienia specyficzne dla użytkownika. System wysyła ten komunikat natychmiast po zaktualizowaniu ustawień.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnVKeyToItem

CWnd Jeśli obiekt jest właścicielem pola listy ze LBS_WANTKEYBOARDINPUT stylemWM_KEYDOWN, pole listy wyśle WM_VKEYTOITEM komunikat w odpowiedzi na komunikat.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Parametry

nKey
Określa kod klucza wirtualnego klucza, który użytkownik nacisnął. Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h

pListBox
Określa wskaźnik do pola listy. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

nIndex
Określa bieżącą pozycję karetki.

Wartość zwracana

Określa akcję wykonywaną przez aplikację w odpowiedzi na komunikat. Wartość zwracana -2 wskazuje, że aplikacja obsłużyła wszystkie aspekty wybierania elementu i nie wymaga dalszych działań według pola listy. Wartość zwracana -1 wskazuje, że pole listy powinno wykonać domyślną akcję w odpowiedzi na naciśnięcie klawisza. Wartość zwracana 0 lub większa określa indeks zerowy elementu w polu listy i wskazuje, że pole listy powinno wykonać domyślną akcję naciśnięcia klawiszy dla danego elementu.

Uwagi

Ta funkcja składowa jest wywoływana przez strukturę tylko dla pól listy, które mają LBS_HASSTRINGS styl.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnVScroll

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie pionowy pasek przewijania okna.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametry

nSBCode
Określa kod paska przewijania wskazujący żądanie przewijania użytkownika. Ten parametr może być jednym z następujących parametrów:

  • SB_BOTTOM Przewiń do dołu.

  • SB_ENDSCROLL Zakończ przewijanie.

  • SB_LINEDOWN Przewiń jedną linię w dół.

  • SB_LINEUP Przewiń jeden wiersz w górę.

  • SB_PAGEDOWN Przewiń jedną stronę w dół.

  • SB_PAGEUP Przewiń jedną stronę w górę.

  • SB_THUMBPOSITION Przewiń do położenia bezwzględnego. Bieżące położenie jest podane w elemencie nPos.

  • SB_THUMBTRACK Przeciągnij pole przewijania do określonej pozycji. Bieżące położenie jest podane w elemencie nPos.

  • SB_TOP Przewiń do góry.

nPos
Zawiera bieżące położenie pola przewijania, jeśli kod paska przewijania jest SB_THUMBPOSITION lub SB_THUMBTRACK; w przeciwnym razie nie jest używany. W zależności od początkowego zakresu nPos przewijania może być ujemny i w razie potrzeby rzutować do elementu int .

pScrollBar
Jeśli komunikat przewijania pochodzi z kontrolki paska przewijania, zawiera wskaźnik do kontrolki. Jeśli użytkownik kliknął pasek przewijania okna, ten parametr to NULL. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

OnVScroll zazwyczaj są używane przez aplikacje, które przesyłają opinię podczas przeciągania pola przewijania.

Jeśli OnVScroll przewija zawartość CWnd obiektu, musi również zresetować położenie pola przewijania za pomocą funkcji składowej SetScrollPos .

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnVScrollClipboard

Funkcja składowa właściciela OnVScrollClipboard schowka jest wywoływana przez przeglądarkę Schowka, gdy dane Schowka mają CF_OWNERDISPLAY format i istnieje zdarzenie na pionowym pasku przewijania schowka.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametry

pClipAppWnd
Określa wskaźnik do okna Schowka przeglądarki. Wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

nSBCode
Określa jedną z następujących wartości paska przewijania:

  • SB_BOTTOM Przewiń do dołu.

  • SB_ENDSCROLL Zakończ przewijanie.

  • SB_LINEDOWN Przewiń jedną linię w dół.

  • SB_LINEUP Przewiń jeden wiersz w górę.

  • SB_PAGEDOWN Przewiń jedną stronę w dół.

  • SB_PAGEUP Przewiń jedną stronę w górę.

  • SB_THUMBPOSITION Przewiń do położenia bezwzględnego. Bieżące położenie jest podane w elemencie nPos.

  • SB_TOP Przewiń do góry.

nPos
Zawiera położenie pola przewijania, jeśli kod paska przewijania to SB_THUMBPOSITION; w przeciwnym razie nPos nie jest używany.

Uwagi

Właściciel powinien przewinąć obraz Schowka, unieważnić odpowiednią sekcję i zaktualizować wartości paska przewijania.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnWindowMaximizedChanged

Struktura wywołuje ten element członkowski, gdy bieżące okno jest zmaksymalizowane, a okno składa się z Menedżera okien pulpitu (DWM).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parametry

bIsMaximized
[in] TRUE jeśli bieżące okno jest zmaksymalizowane, a FALSE jeśli tak nie jest.

Uwagi

Ta metoda odbiera WM_DWMWINDOWMAXIMIZEDCHANGE komunikat powiadomienia opisany w zestawie WINDOWS SDK.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnWindowPosChanged

Struktura wywołuje tę funkcję składową, gdy rozmiar, pozycja lub kolejność Z uległy zmianie w wyniku wywołania SetWindowPos funkcji składowej lub innej funkcji zarządzania oknami.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Parametry

lpwndpos
Wskazuje strukturę danych zawierającą WINDOWPOS informacje o nowym rozmiarze i położeniu okna.

Uwagi

Domyślna implementacja wysyła WM_SIZE komunikaty i WM_MOVE do okna. Te komunikaty nie są wysyłane, jeśli aplikacja obsługuje OnWindowPosChanged wywołanie bez wywoływania jej klasy bazowej. Wydajniejsze jest przeprowadzenie dowolnego przenoszenia lub zmiany rozmiaru przetwarzania podczas wywołania metody OnWindowPosChanged bez wywoływania jej klasy bazowej.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnWindowPosChanging

Struktura wywołuje tę funkcję składową, gdy rozmiar, pozycja lub kolejność Z zmieni się w wyniku wywołania SetWindowPos funkcji składowej lub innej funkcji zarządzania oknami.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Parametry

lpwndpos
Wskazuje strukturę danych zawierającą WINDOWPOS informacje o nowym rozmiarze i położeniu okna.

Uwagi

Aplikacja może zapobiec zmianom w oknie przez ustawienie lub wyczyszczenie odpowiednich bitów w flags składowej WINDOWPOS struktury.

W przypadku okna ze WS_OVERLAPPED stylem lub WS_THICKFRAME domyślna implementacja wysyła WM_GETMINMAXINFO komunikat do okna. Należy to zrobić, aby zweryfikować nowy rozmiar i położenie okna oraz wymusić CS_BYTEALIGNCLIENT style klienta i CS_BYTEALIGN . Aplikacja może zastąpić tę funkcję, nie wywołując jej klasy bazowej.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnWinIniChange

Struktura wywołuje tę funkcję składową po wprowadzeniu zmiany w pliku inicjowania systemu Windows. WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parametry

lpszSection
Wskazuje ciąg, który określa nazwę zmienionej sekcji. (Ciąg nie zawiera nawiasów kwadratowych, które zawierają nazwę sekcji).

Uwagi

Funkcja SystemParametersInfo systemu Windows wywołuje funkcję OnWinIniChange po użyciu funkcji w celu zmiany ustawienia w WIN.INI pliku.

Aby wysłać WM_WININICHANGE komunikat do wszystkich okien najwyższego poziomu, aplikacja może użyć SendMessage funkcji systemu Windows z jej hwnd parametrem ustawionym na HWND_BROADCAST.

Jeśli aplikacja zmieni wiele różnych sekcji w WIN.INI tym samym czasie, aplikacja powinna wysłać jeden WM_WININICHANGE komunikat z ustawioną wartością NULLlpszSection . W przeciwnym razie aplikacja powinna wysyłać WM_WININICHANGE za każdym razem, gdy wprowadza zmianę w pliku WIN.INI.

Jeśli aplikacja odbiera wywołanie z ustawioną wartością OnWinIniChangelpszSectionNULL, aplikacja powinna sprawdzić wszystkie sekcje w systemie WIN. INI, które wpływają na aplikację.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnWndMsg

Ta funkcja składowa jest wywoływana przez WindowProcelement lub jest wywoływana podczas odbicia komunikatu.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Określa komunikat do wysłania.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

pResult
Zwracana wartość .WindowProc Zależy od komunikatu; może mieć wartość NULL.

Wartość zwracana

WARTOŚĆ TRUE, jeśli komunikat został obsłużony; w przeciwnym razie FAŁSZ.

Uwagi

OnWndMsg określa typ komunikatu i wywołuje odpowiednią funkcję struktury (na przykład OnCommand dla WM_COMMAND) lub znajduje odpowiedni komunikat na mapie komunikatów.

Aby uzyskać więcej informacji na temat odbicia komunikatów, zobacz Obsługa komunikatów Emocje ed.

CWnd::OnXButtonDblClk

Platforma wywołuje tę funkcję składową, gdy użytkownik kliknie XBUTTON1 dwukrotnie lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[in] Kombinacja bitowa (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL.

nButton
[in] Wartość XBUTTON1 , jeśli pierwszy przycisk Microsoft Intellimouse X jest dwukrotnie kliknięty lub XBUTTON2, jeśli drugi przycisk X jest dwukrotnie kliknięty.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_XBUTTONDBLCLK powiadomienie opisane w zestawie Windows SDK. Jeśli mysz nie zostanie przechwycona, wiadomość zostanie wysłana do okna pod kursorem. W przeciwnym razie wiadomość zostanie wysłana do okna, które przechwyciło mysz.

Parametr nFlags może być kombinacją kluczy modyfikatora wymienionych w poniższej tabeli. Aby uzyskać więcej informacji, zobacz Informacje o danych wejściowych myszy.

Klucz modyfikatora opis
MK_CONTROL Naciśnięcie klawisza CTRL.
MK_LBUTTON Lewy przycisk myszy jest naciskany.
MK_MBUTTON Środkowy przycisk myszy jest naciśnięty.
MK_RBUTTON Naciśnięty jest prawy przycisk myszy.
MK_SHIFT Naciśnięcie klawisza SHIFT.
MK_XBUTTON1 Naciśnięty XBUTTON1 jest przycisk myszy narzędzia Microsoft IntelliMouse.
MK_XBUTTON2 Naciśnięty XBUTTON2 jest przycisk myszy narzędzia Microsoft IntelliMouse.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnXButtonDown

Struktura wywołuje tę funkcję składową, gdy użytkownik naciska XBUTTON1 lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[in] Kombinacja bitowa (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL.

nButton
[in] Wartość XBUTTON1 w przypadku kliknięcia pierwszego przycisku Microsoft Intellimouse X lub XBUTTON2 kliknięcia drugiego przycisku X.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_XBUTTONDOWN powiadomienie opisane w zestawie Windows SDK. Jeśli mysz nie zostanie przechwycona, wiadomość zostanie wysłana do okna pod kursorem. W przeciwnym razie wiadomość zostanie wysłana do okna, które przechwyciło mysz.

Parametr nFlags może być kombinacją kluczy modyfikatora wymienionych w poniższej tabeli. Aby uzyskać więcej informacji, zobacz Informacje o danych wejściowych myszy.

Klucz modyfikatora opis
MK_CONTROL Naciśnięcie klawisza CTRL.
MK_LBUTTON Lewy przycisk myszy jest naciskany.
MK_MBUTTON Środkowy przycisk myszy jest naciśnięty.
MK_RBUTTON Naciśnięty jest prawy przycisk myszy.
MK_SHIFT Naciśnięcie klawisza SHIFT.
MK_XBUTTON1 Naciśnięty XBUTTON1 jest przycisk myszy narzędzia Microsoft IntelliMouse.
MK_XBUTTON2 Naciśnięty XBUTTON2 jest przycisk myszy narzędzia Microsoft IntelliMouse.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OnXButtonUp

Struktura wywołuje tę funkcję składową, gdy użytkownik zwalnia XBUTTON1 lub XBUTTON2 gdy kursor znajduje się w obszarze klienta okna.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametry

nFlags
[in] Kombinacja bitowa (OR) flag wskazująca, które klawisze modyfikujące są naciskane. Na przykład flaga MK_CONTROL wskazuje, że naciśnięcie klawisza CTRL.

nButton
[in] Wartość XBUTTON1 , jeśli pierwszy przycisk Microsoft Intellimouse X został dwukrotnie kliknięty lub XBUTTON2 jeśli drugi przycisk X został dwukrotnie kliknięty.

point
[in] CPoint Obiekt określający x współrzędne i y kursora względem lewego górnego rogu obszaru klienta.

Uwagi

Ta metoda odbiera WM_XBUTTONUP powiadomienie opisane w zestawie Windows SDK. Jeśli mysz nie zostanie przechwycona, wiadomość zostanie wysłana do okna pod kursorem. W przeciwnym razie wiadomość zostanie wysłana do okna, które przechwyciło mysz.

Parametr nFlags może być kombinacją kluczy modyfikatora wymienionych w poniższej tabeli. Aby uzyskać więcej informacji, zobacz Informacje o danych wejściowych myszy.

Klucz modyfikatora opis
MK_CONTROL Naciśnięcie klawisza CTRL.
MK_LBUTTON Lewy przycisk myszy jest naciskany.
MK_MBUTTON Środkowy przycisk myszy jest naciśnięty.
MK_RBUTTON Naciśnięty jest prawy przycisk myszy.
MK_SHIFT Naciśnięcie klawisza SHIFT.
MK_XBUTTON1 Naciśnięty XBUTTON1 jest przycisk myszy narzędzia Microsoft IntelliMouse.
MK_XBUTTON2 Naciśnięty XBUTTON2 jest przycisk myszy narzędzia Microsoft IntelliMouse.

Uwaga

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić aplikacji obsługę komunikatu systemu Windows. Parametry przekazane do funkcji odzwierciedlają parametry odebrane przez platformę po odebraniu komunikatu. Jeśli wywołasz implementację klasy bazowej tej funkcji, ta implementacja będzie używać parametrów pierwotnie przekazanych z komunikatem, a nie parametrów dostarczonych do funkcji.

CWnd::OpenClipboard

Otwiera Schowek.

BOOL OpenClipboard();

Wartość zwracana

Niezero, jeśli Schowek jest otwarty za pośrednictwem CWnd, lub 0, jeśli inna aplikacja lub okno ma otwarte Schowek.

Uwagi

Inne aplikacje nie będą mogły modyfikować Schowka do momentu CloseClipboard wywołania funkcji systemu Windows.

Bieżący CWnd obiekt nie stanie się właścicielem Schowka, dopóki EmptyClipboard funkcja systemu Windows nie zostanie wywołana.

Przykład

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

Użyj tego operatora, aby uzyskać dojście CWnd do obiektu.

operator HWND() const;

CWnd::operator !=

Porównuje dwa CWnd obiekty, aby określić, czy nie mają tego samego m_hWndobiektu .

BOOL operator!=(const CWnd& wnd) const;

Parametry

wnd
Odwołanie do CWnd obiektu.

Wartość zwracana

Niezerowe, jeśli równe; w przeciwnym razie 0.

CWnd::operator ==

Porównuje dwa CWnd obiekty, aby ustalić, czy mają one ten sam m_hWndobiekt .

BOOL operator==(const CWnd& wnd) const;

Parametry

wnd
Odwołanie do CWnd obiektu.

Wartość zwracana

Niezerowe, jeśli równe; w przeciwnym razie 0.

CWnd::PaintWindowlessControls

Rysuje kontrolki bez okien w kontenerze sterowania.

BOOL PaintWindowlessControls(CDC* pDC);

Parametry

pDC
Kontekst urządzenia, na którym mają być rysowanie kontrolek bez okien.

Wartość zwracana

Zwraca wartość TRUE , jeśli istnieje kontener sterowania, a kontrolki bez okien są rysowane pomyślnie, w przeciwnym razie FALSE.

CWnd::PostMessage

Umieszcza komunikat w kolejce komunikatów okna, a następnie powraca bez oczekiwania na przetworzenie komunikatu przez odpowiednie okno.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

message
Określa komunikat do opublikowania.

wParam
Określa dodatkowe informacje o wiadomościach. Zawartość tego parametru zależy od publikowanego komunikatu.

lParam
Określa dodatkowe informacje o wiadomościach. Zawartość tego parametru zależy od publikowanego komunikatu.

Wartość zwracana

Nonzero, jeśli wiadomość jest opublikowana; w przeciwnym razie 0.

Uwagi

Komunikaty w kolejce komunikatów są pobierane przez wywołania GetMessage funkcji lub PeekMessage systemu Windows.

Funkcja systemu Windows PostMessage może służyć do uzyskiwania dostępu do innej aplikacji.

Przykład

Zobacz przykład dla elementu AfxGetMainWnd.

CWnd::PostNcDestroy

Wywoływana przez domyślną OnNcDestroy funkcję składową po zniszczeniu okna.

virtual void PostNcDestroy();

Uwagi

Klasy pochodne mogą używać tej funkcji do czyszczenia niestandardowego this , takiego jak usunięcie wskaźnika.

CWnd::PreCreateWindow

Wywoływana przez platformę przed utworzeniem okna systemu Windows dołączonego do tego CWnd obiektu.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parametry

cs
Struktura CREATESTRUCT .

Wartość zwracana

Niezerowe, jeśli tworzenie okna powinno kontynuować; 0, aby wskazać niepowodzenie tworzenia.

Uwagi

Ostrzeżenie

CWnd::PreCreateWindow teraz przypisuje element członkowski cs hMenu do this wskaźnika, jeśli menu to NULL , a styl zawiera WS_CHILD. Aby uzyskać odpowiednie funkcje, upewnij się, że kontrolka okna dialogowego ma identyfikator, który nie NULLjest .

Ta zmiana naprawia awarię w scenariuszach międzyoperacyjności zarządzanej/natywnej. Instrukcja TRACE w CWnd::Create alertach dla dewelopera problemu.

Nigdy nie wywołaj tej funkcji bezpośrednio.

Domyślna implementacja tej funkcji sprawdza NULL nazwę klasy okna i zastępuje odpowiednią wartość domyślną. Zastąpi tę funkcję składową, aby zmodyfikować CREATESTRUCT strukturę przed utworzeniem okna.

Każda klasa pochodząca z CWnd klasy dodaje własną funkcjonalność do zastąpienia elementu PreCreateWindow. Zgodnie z projektem te wyprowadzenia PreCreateWindow nie są udokumentowane. Aby określić style odpowiednie dla każdej klasy i współzależności między stylami, możesz zbadać kod źródłowy MFC dla klasy bazowej aplikacji. Jeśli zdecydujesz się zastąpić PreCreateWindow, , możesz określić, czy style używane w klasie bazowej aplikacji zapewniają potrzebne funkcje, korzystając z informacji zebranych z kodu źródłowego MFC.

Aby uzyskać więcej informacji na temat zmieniania stylów okien, zobacz Zmienianie stylów okna utworzonego przez MFC.

Przykład

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

Ta funkcja składowa jest wywoływana przez platformę, aby umożliwić wykonywanie innych niezbędnych podklas przed podklasą okna.

virtual void PreSubclassWindow();

Uwagi

Zastąpienie tej funkcji składowej umożliwia dynamiczne podklasowanie kontrolek. Jest to zaawansowane przesłonięcia.

CWnd::PreTranslateMessage

Używany przez klasę CWinApp do tłumaczenia komunikatów okien przed ich wysłaniem do TranslateMessage funkcji systemu Windows i DispatchMessage .

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

pMsg
Wskazuje strukturę zawierającą MSG komunikat do przetworzenia.

Wartość zwracana

Nonzero, jeśli wiadomość została przetłumaczona i nie powinna być wysyłana; 0, jeśli wiadomość nie została przetłumaczona i powinna zostać wysłana.

CWnd::Print

Wywołaj tę funkcję składową, aby narysować bieżące okno w określonym kontekście urządzenia, który jest najczęściej w kontekście urządzenia drukarki.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Parametry

pDC
Wskaźnik do kontekstu urządzenia.

dwFlags
Określa opcje rysunku. Ten parametr może być co najmniej jedną z następujących flag:

  • PRF_CHECKVISIBLE Rysuj okno tylko wtedy, gdy jest widoczne.

  • PRF_CHILDREN Rysuj wszystkie widoczne okna podrzędne.

  • PRF_CLIENT Rysuj obszar klienta okna.

  • PRF_ERASEBKGND Wymazywanie tła przed rysowaniem okna.

  • PRF_NONCLIENT Rysuj obszar niekliencki okna.

  • PRF_OWNED Rysuj wszystkie okna należące do użytkownika.

Uwagi

CWnd::DefWindowProc funkcja przetwarza ten komunikat w oparciu o to, która opcja rysunku jest określona:

  • Jeśli PRF_CHECKVISIBLE zostanie określony, a okno nie jest widoczne, nie rób nic.

  • Jeśli PRF_NONCLIENT zostanie określony, narysuj obszar niekliencki w danym kontekście urządzenia.

  • Jeśli PRF_ERASEBKGND zostanie określony, wyślij komunikat w WM_ERASEBKGND oknie.

  • Jeśli PRF_CLIENT zostanie określony, wyślij komunikat w WM_PRINTCLIENT oknie.

  • Jeśli PRF_CHILDREN jest ustawiona, wyślij każde widoczne okno podrzędne komunikat WM_PRINT .

  • Jeśli PRF_OWNED jest ustawiona, wyślij komunikat z każdym widocznym oknem należącym do WM_PRINT użytkownika.

CWnd::PrintClient

Wywołaj tę funkcję składową, aby narysować dowolne okno w określonym kontekście urządzenia (zazwyczaj kontekst urządzenia drukarki).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Parametry

pDC
Wskaźnik do kontekstu urządzenia.

dwFlags
Określa opcje rysunku. Ten parametr może być co najmniej jedną z następujących flag:

  • PRF_CHECKVISIBLE Rysuj okno tylko wtedy, gdy jest widoczne.

  • PRF_CHILDREN Rysuj wszystkie widoczne okna podrzędne.

  • PRF_CLIENT Rysuj obszar klienta okna.

  • PRF_ERASEBKGND Wymazywanie tła przed rysowaniem okna.

  • PRF_NONCLIENT Rysuj obszar niekliencki okna.

  • PRF_OWNED Rysuj wszystkie okna należące do użytkownika.

CWnd::PrintWindow

Kopiuje okno wizualizacji do określonego kontekstu urządzenia, zazwyczaj kontrolera domeny drukarki.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parametry

pDC
Wskaźnik do kontekstu urządzenia do wydrukowania.

nFlags
Określa opcje rysunku. Aby uzyskać listę możliwych wartości, zobacz PrintWindow.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji PrintWindow, zgodnie z opisem w zestawie Windows SDK.

CWnd::RedrawWindow

Aktualizacje określonego prostokąta lub regionu w obszarze klienta danego okna.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parametry

lpRectUpdate
Wskazuje strukturę zawierającą RECT współrzędne prostokąta aktualizacji. Ten parametr jest ignorowany, jeśli prgnUpdate zawiera prawidłowy uchwyt regionu.

prgnUpdate
Identyfikuje region aktualizacji. Jeśli oba prgnUpdate elementy i lpRectUpdateNULL, cały obszar klienta zostanie dodany do regionu aktualizacji.

flags
Następujące flagi służą do unieważnienia okna:

  • RDW_ERASE Powoduje, że okno otrzymuje WM_ERASEBKGND komunikat po przemalowywaniu okna. Należy również określić flagę RDW_INVALIDATE ; w przeciwnym razie RDW_ERASE nie ma wpływu.

  • RDW_FRAME Powoduje, że dowolna część obszaru innego niż klient okna przecina region aktualizacji w celu odebrania komunikatu WM_NCPAINT . Należy również określić flagę RDW_INVALIDATE ; w przeciwnym razie RDW_FRAME nie ma żadnego efektu.

  • RDW_INTERNALPAINTWM_PAINT Powoduje opublikowanie komunikatu w oknie niezależnie od tego, czy okno zawiera nieprawidłowy region.

  • RDW_INVALIDATE Unieważnij lpRectUpdate lub prgnUpdate (tylko jeden może nie NULLbyć ). Jeśli oba są NULL, całe okno jest unieważnione.

Następujące flagi służą do sprawdzania poprawności okna:

  • RDW_NOERASE Pomija wszystkie oczekujące WM_ERASEBKGND komunikaty.

  • RDW_NOFRAME Pomija wszystkie oczekujące WM_NCPAINT komunikaty. Ta flaga musi być używana z RDW_VALIDATE programem i jest zwykle używana z RDW_NOCHILDRENprogramem . Ta opcja powinna być używana z ostrożnością, ponieważ może uniemożliwić prawidłowe malowanie części okna.

  • RDW_NOINTERNALPAINT Pomija wszystkie oczekujące komunikaty wewnętrzne WM_PAINT . Ta flaga nie ma wpływu na WM_PAINT komunikaty wynikające z nieprawidłowych obszarów.

  • RDW_VALIDATE Sprawdza poprawność lpRectUpdate lub prgnUpdate (tylko jeden może nie NULLbyć ). Jeśli oba są NULL, całe okno zostanie zweryfikowane. Ta flaga nie ma wpływu na komunikaty wewnętrzne WM_PAINT .

Następujące flagi steruje podczas ponownego malowania. Obraz nie jest wykonywany przez RedrawWindow funkcję, chyba że określono jeden z tych bitów.

  • RDW_ERASENOW Powoduje, że objęte okna (określone przez RDW_ALLCHILDREN flagi i RDW_NOCHILDREN ) odbierają WM_NCPAINT komunikaty i WM_ERASEBKGND , jeśli to konieczne, przed zwróceniem funkcji. WM_PAINT komunikaty są odroczone.

  • RDW_UPDATENOW Powoduje, że objęte okna (określone przez RDW_ALLCHILDREN flagi i RDW_NOCHILDREN ) odbierają WM_NCPAINTkomunikaty , WM_ERASEBKGNDi WM_PAINT , jeśli to konieczne, przed zwróceniem funkcji.

Domyślnie okna, na które ma wpływ RedrawWindow funkcja, zależą od tego, czy określone okno ma WS_CLIPCHILDREN styl. Nie ma to wpływu na okna podrzędne WS_CLIPCHILDREN okien. Jednak te okna, które nie WS_CLIPCHILDREN są oknami, są rekursywnie weryfikowane lub unieważniane do momentu WS_CLIPCHILDREN napotkania okna. Następujące flagi sterują oknami, na które ma wpływ RedrawWindow funkcja:

  • RDW_ALLCHILDREN Obejmuje okna podrzędne, jeśli istnieją, w operacji przemalowania.

  • RDW_NOCHILDREN Wyklucza okna podrzędne, jeśli istnieją, z operacji przemalowania.

Wartość zwracana

Niezero, jeśli okno zostało pomyślnie ponownie wyrysowane; w przeciwnym razie 0.

Uwagi

RedrawWindow Gdy funkcja składowa jest używana do unieważnienia części okna pulpitu, to okno nie odbiera komunikatuWM_PAINT. Aby ponownie zaintować pulpit, aplikacja powinna używać CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindowlub RedrawWindow

CWnd::ReflectChildNotify

Ta funkcja komunikatu jest wywoływana przez strukturę z .OnChildNotify

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametry

message
Określa komunikat, który ma zostać odzwierciedlony.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

pResult
Wynik wygenerowany przez okno podrzędne, które ma zostać zwrócone przez okno nadrzędne. Może to być NULL.

Wartość zwracana

TRUE jeśli wiadomość została odzwierciedlona; w przeciwnym razie FALSE.

Uwagi

Jest to funkcja pomocnika, która odzwierciedla message jej źródło.

Emocje wiadomości są wysyłane bezpośrednio do lub CWnd::OnWndMsgCCmdTarget::OnCmdMsg.

Aby uzyskać więcej informacji na temat odbicia komunikatów, zobacz Obsługa komunikatów Emocje ed.

CWnd::ReflectLastMsg

Ta funkcja składowa jest wywoływana przez strukturę, aby odzwierciedlić ostatni komunikat w oknie podrzędnym.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parametry

hWndChild
Uchwyt do okna podrzędnego.

pResult
Wynik wygenerowany przez okno podrzędne, które ma zostać zwrócone przez okno nadrzędne. Może to być NULL.

Wartość zwracana

Nonzero, jeśli komunikat został obsłużony; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa wywołuje SendChildNotifyLastMsg , jeśli okno zidentyfikowane przez hWndChild jest kontrolką OLE lub oknem na stałej mapy.

Aby uzyskać więcej informacji na temat odbicia komunikatów, zobacz Obsługa komunikatów Emocje ed.

CWnd::ReleaseDC

Zwalnia kontekst urządzenia, zwalniając go do użytku przez inne aplikacje.

int ReleaseDC(CDC* pDC);

Parametry

pDC
Identyfikuje kontekst urządzenia, który ma zostać zwolniony.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Wpływ funkcji składowej ReleaseDC zależy od typu kontekstu urządzenia.

Aplikacja musi wywołać ReleaseDC funkcję składową dla każdego wywołania funkcji składowej GetWindowDC i dla każdego wywołania funkcji składowej GetDC .

CWnd::RepositionBars

Wywoływana w celu zmiany położenia i zmiany rozmiaru pasków sterowania w obszarze klienta okna.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Parametry

nIDFirst
Identyfikator pierwszego w zakresie pasków sterowania w celu zmiany położenia i zmiany rozmiaru.

nIDLast
Identyfikator ostatniego paska sterowania w celu zmiany położenia i zmiany rozmiaru.

nIDLeftOver
Określa identyfikator okienka, który wypełnia pozostałą część obszaru klienta.

nFlag
Może mieć jedną z następujących wartości:

  • CWnd::reposDefault Wykonuje układ pasków sterowania. lpRectParam nie jest używany i może mieć wartość NULL.

  • CWnd::reposQuery Układ pasków sterowania nie jest wykonywany; zamiast tego lpRectParam jest inicjowany z rozmiarem obszaru klienta, tak jakby układ został rzeczywiście wykonany.

  • CWnd::reposExtra Dodaje wartości do lpRectParam obszaru nIDLast klienta programu , a także wykonuje układ.

lpRectParam
RECT Wskazuje strukturę, której użycie zależy od wartości nFlag.

lpRectClient
Wskazuje strukturę zawierającą RECT dostępny obszar klienta. Jeśli NULLzostanie użyty obszar klienta okna.

bStretch
Wskazuje, czy słupek powinien być rozciągnięty do rozmiaru ramki.

Uwagi

Parametry nIDFirst i nIDLast definiują zakres identyfikatorów paska sterowania, które mają być zmieniane w obszarze klienta. Parametr nIDLeftOver określa identyfikator okna podrzędnego (zwykle widok), który jest zmieniany i zmieniany w celu wypełnienia reszty obszaru klienta, który nie jest wypełniony paskami sterowania.

CWnd::RunModalLoop

Wywołaj tę funkcję składową, aby pobrać, przetłumaczyć lub wysłać komunikaty, dopóki nie ContinueModal zwróci wartości FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parametry

dwFlags
Określa komunikat systemu Windows do wysłania. Może być jedną z następujących wartości:

  • MLF_NOIDLEMSG Nie wysyłaj WM_ENTERIDLE wiadomości do elementu nadrzędnego.

  • MLF_NOKICKIDLE Nie wysyłaj WM_KICKIDLE wiadomości do okna.

  • MLF_SHOWONIDLE Pokaż okno, gdy kolejka komunikatów przejdzie w stan bezczynności.

Wartość zwracana

Określa wartość parametru nResult przekazanego do funkcji składowej EndModalLoop , która jest następnie używana do zakończenia pętli modalnej.

Uwagi

Domyślnie ContinueModal funkcja zwraca wartość FALSE po EndModalLoop wywołaniu. Zwraca wartość podaną jako nResult .EndModalLoop

CWnd::ScreenToClient

Konwertuje współrzędne ekranu danego punktu lub prostokąta na ekranie na współrzędne klienta.

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

Parametry

lpPoint
Wskazuje obiekt lub POINT strukturę zawierającą CPoint współrzędne ekranu, które mają zostać przekonwertowane.

lpRect
Wskazuje obiekt lub RECT strukturę zawierającą CRect współrzędne ekranu, które mają zostać przekonwertowane.

Uwagi

Funkcja ScreenToClient składowa zastępuje współrzędne ekranu podane we lpPoint współrzędnych lub lpRect z współrzędnymi klienta. Nowe współrzędne są względem lewego górnego rogu CWnd obszaru klienta.

Przykład

Zobacz przykład dla elementu CListCtrl::GetItemRect.

CWnd::ScrollWindow

Przewija zawartość obszaru klienta bieżącego CWnd obiektu.

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Parametry

xAmount
Określa ilość w jednostkach urządzeń przewijania w poziomie. Ten parametr musi być wartością ujemną, aby przewinąć do lewej strony.

yAmount
Określa ilość w jednostkach urządzenia przewijania w pionie. Ten parametr musi być wartością ujemną, aby przewinąć w górę.

lpRect
CRect Wskazuje obiekt lub RECT strukturę, która określa część obszaru klienta do przewinięcia. Jeśli lpRect wartość to NULL, cały obszar klienta jest przewijany. Daszek jest zmieniany, jeśli prostokąt kursora przecina prostokąt przewijania.

lpClipRect
CRect Wskazuje obiekt lub RECT strukturę, która określa prostokąt wycinków do przewijania. Przewijane są tylko bity wewnątrz tego prostokąta. Bity poza tym prostokątem nie mają wpływu, nawet jeśli znajdują się w prostokątie lpRect . Jeśli lpClipRect wartość to NULL, na prostokątze przewijania nie jest wykonywane żadne wycinki.

Uwagi

Jeśli daszek jest przewijany CWnd , automatycznie ukrywa karetki, ScrollWindow aby zapobiec wymazaniu, a następnie przywraca karetki po zakończeniu przewijania. Położenie karetki jest odpowiednio dostosowywane.

Obszar odkryty przez funkcję składową ScrollWindow nie jest przemalowany, ale jest połączony z regionem aktualizacji bieżącego CWnd obiektu. Aplikacja w końcu otrzyma komunikat z powiadomieniem WM_PAINT o konieczności przemalowania regionu. Aby przemalować odkryty obszar w tym samym czasie przewijania, wywołaj UpdateWindow funkcję składową natychmiast po wywołaniu metody ScrollWindow.

Jeśli lpRect wartość to NULL, pozycje dowolnego okna podrzędnego w oknie są przesunięte o kwotę określoną przez xAmount i yAmount, a wszystkie nieprawidłowe (niezapłacone) obszary w oknie CWnd są również przesunięte. ScrollWindow funkcja jest szybsza, gdy lpRect wartość to NULL.

Jeśli lpRect nie NULLjest , pozycje okien podrzędnych nie są zmieniane, a nieprawidłowe obszary w CWnd nie są przesunięte. Aby zapobiec aktualizowaniu problemów, gdy lpRect nie NULLjest , wywołaj UpdateWindow funkcję składową, aby przemalować CWnd przed wywołaniem metody ScrollWindow.

CWnd::ScrollWindowEx

Przewija zawartość obszaru klienta okna.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Parametry

dx
Określa ilość w jednostkach urządzeń przewijania w poziomie. Ten parametr musi mieć wartość ujemną, aby przewinąć do lewej strony.

dy
Określa ilość w jednostkach urządzenia przewijania w pionie. Ten parametr musi mieć wartość ujemną, aby przewinąć w górę.

lpRectScroll
RECT Wskazuje strukturę, która określa część obszaru klienta do przewinięcia. Jeśli ten parametr to NULL, cały obszar klienta jest przewijany.

lpRectClip
Wskazuje strukturę określającą RECT prostokąt wycinków do przewijania. Ta struktura ma pierwszeństwo przed prostokątem wskazywany przez lpRectScroll. Przewijane są tylko bity wewnątrz tego prostokąta. Bity poza tym prostokątem nie mają wpływu, nawet jeśli znajdują się w prostokątie lpRectScroll . Jeśli ten parametr ma NULLwartość , nie jest wykonywane wycinki na prostokątze przewijania.

prgnUpdate
Identyfikuje region, który został zmodyfikowany w celu przechowywania regionu unieważnionego, przewijając. Ten parametr może mieć wartość NULL.

lpRectUpdate
RECT Wskazuje strukturę, która otrzyma granice prostokąta unieważnione przez przewinięcie. Ten parametr może mieć wartość NULL.

flags
Może mieć jedną z następujących wartości:

  • SW_ERASE Po określeniu za pomocą polecenia program SW_INVALIDATEwymazuje nowo unieważniony region, wysyłając WM_ERASEBKGND komunikat do okna.

  • SW_INVALIDATE Unieważnia region zidentyfikowany prgnUpdate po przewinięciu.

  • SW_SCROLLCHILDREN Przewija wszystkie okna podrzędne, które przecinają prostokąt wskazywany przez lpRectScroll liczbę pikseli określonych w i dxdy. System Windows wysyła WM_MOVE komunikat do wszystkich okien podrzędnych, które przecinają lpRectScrollelement , nawet jeśli nie zostaną przeniesione. Daszek jest zmieniany po przewinięciu okna podrzędnego, a prostokąt kursora przecina prostokąt przewijania.

Wartość zwracana

Wartość zwracana to SIMPLEREGION (prostokątny region unieważniony), COMPLEXREGION (nieodtworzony region nieprawidłowy; nakładające się prostokąty) lub NULLREGION (bez unieważnionego regionu), jeśli funkcja zakończy się pomyślnie; w przeciwnym razie zwracana wartość to ERROR.

Uwagi

Ta funkcja jest podobna ScrollWindow do funkcji z dodatkowymi funkcjami.

Jeśli SW_INVALIDATE funkcja składowa nie zostanie określona i SW_ERASE nie zostanie określona, ScrollWindowEx nie unieważnia obszaru, od którego jest przewijany. Jeśli którakolwiek z tych flag jest ustawiona, ScrollWindowEx unieważnia ten obszar. Obszar nie jest aktualizowany, dopóki aplikacja nie wywołuje UpdateWindow funkcji składowej, wywołuje RedrawWindow funkcję składową (określającą RDW_UPDATENOW lub RDW_ERASENOW) lub pobiera WM_PAINT komunikat z kolejki aplikacji.

Jeśli okno ma WS_CLIPCHILDREN styl, zwrócone obszary określone przez prgnUpdate i lpRectUpdate reprezentują całkowity obszar okna przewijania, który musi zostać zaktualizowany, w tym wszystkie obszary w oknach podrzędnych, które wymagają aktualizacji.

Jeśli zostanie określona flaga SW_SCROLLCHILDREN , system Windows nie zaktualizuje poprawnie ekranu, jeśli część okna podrzędnego zostanie przewinięta. Część przewijanego okna podrzędnego, która znajduje się poza prostokątem źródłowym, nie zostanie wymazana i nie zostanie poprawnie wyrysowana w nowym miejscu docelowym. DeferWindowPos Użyj funkcji systemu Windows, aby przenieść okna podrzędne, które nie leżą całkowicie w prostokątzelpRectScroll. Kursor jest zmieniany, jeśli flaga SW_SCROLLCHILDREN jest ustawiona, a prostokąt karetki przecina prostokąt przewijania.

Przyjmuje się, że wszystkie współrzędne wejściowe i wyjściowe (dla lpRectScroll, lpRectClip, lpRectUpdatei prgnUpdate) znajdują się we współrzędnych klienta, niezależnie od tego, czy okno ma CS_OWNDC styl klasy lub .CS_CLASSDC LPtoDP W razie potrzeby użyj funkcji i DPtoLP Systemu Windows, aby przekonwertować na i z współrzędnych logicznych.

CWnd::SendChildNotifyLastMsg

Ta funkcja składowa jest wywoływana przez strukturę w celu dostarczenia komunikatu powiadomienia do okna podrzędnego z okna nadrzędnego, aby okno podrzędne może obsłużyć zadanie.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parametry

pResult
Wynik wygenerowany przez okno podrzędne, które ma zostać zwrócone przez okno nadrzędne.

Wartość zwracana

Nonzero, jeśli okno podrzędne obsłużyło wiadomość wysłaną do elementu nadrzędnego; w przeciwnym razie 0.

Uwagi

SendChildNotifyLastMsg wyślij bieżący komunikat do źródła, jeśli jest to komunikat, który jest odzwierciedlony.

Aby uzyskać więcej informacji na temat odbicia komunikatów, zobacz Obsługa komunikatów Emocje ed.

CWnd::SendDlgItemMessage

Wysyła komunikat do kontrolki.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

nID
Określa identyfikator kontrolki okna dialogowego, która będzie odbierać komunikat.

message
Określa komunikat do wysłania.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

Wartość zwracana

Określa wartość zwracaną przez procedurę okna kontrolki lub 0, jeśli kontrolka nie została znaleziona.

Uwagi

SendDlgItemMessage Funkcja składowa nie zwraca się do momentu przetworzenia komunikatu.

Użycie SendDlgItemMessage jest identyczne z uzyskaniem CWnd* dla danej kontrolki i wywoływaniem funkcji składowej SendMessage .

Przykład

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

Wysyła określony komunikat do tego okna.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametry

message
Określa komunikat do wysłania.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

Wartość zwracana

Wynik przetwarzania komunikatów; jego wartość zależy od wysłanej wiadomości.

Uwagi

SendMessage Funkcja składowa wywołuje procedurę okna bezpośrednio i nie zwraca się, dopóki ta procedura okna nie przetworzyła komunikatu. Jest to w przeciwieństwie do funkcji składowej PostMessage , która umieszcza komunikat w kolejce komunikatów okna i zwraca natychmiast.

Przykład

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

Wywołaj tę funkcję składową, aby wysłać określony komunikat systemu Windows do wszystkich okien potomnych.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Parametry

message
Określa komunikat do wysłania.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

bDeep
Określa poziom, do którego ma być wyszukiwane. Jeśli TRUE, rekursywnie przeszukaj wszystkie elementy podrzędne; jeśli FALSE, wyszukaj tylko natychmiastowe dzieci.

bOnlyPerm
Określa, czy komunikat zostanie odebrany przez okna tymczasowe. Jeśli TRUE, okna tymczasowe mogą odbierać komunikat; jeśli FALSEtylko stałe okna odbierają komunikat. Aby uzyskać więcej informacji na temat okien tymczasowych, zobacz Technical Note 3 (Uwaga techniczna 3).

Uwagi

Jeśli bDeep to FALSE, wiadomość jest wysyłana tylko do natychmiastowych elementów podrzędnych okna. W przeciwnym razie wiadomość jest wysyłana do wszystkich okien potomnych.

Jeśli bDeep element i bOnlyPerm to TRUE, wyszukiwanie będzie kontynuowane poniżej okien tymczasowych. W takim przypadku tylko stałe okna napotkane podczas wyszukiwania otrzymają komunikat. Jeśli bDeep to FALSE, komunikat jest wysyłany tylko do natychmiastowych elementów podrzędnych okna.

Przykład

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

Wysyła określony komunikat do okna.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parametry

message
Określa komunikat do wysłania.

wParam
Określa dodatkowe informacje zależne od komunikatów.

lParam
Określa dodatkowe informacje zależne od komunikatów.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Jeśli okno zostało utworzone przez wątek wywołujący, SendNotifyMessage wywołuje procedurę okna dla okna i nie zwraca się do momentu przetworzenia komunikatu przez procedurę okna. Jeśli okno zostało utworzone przez inny wątek, SendNotifyMessage przekazuje komunikat do procedury okna i zwraca się natychmiast. Nie czeka na zakończenie przetwarzania komunikatu przez procedurę okna.

CWnd::SetActiveWindow

Powoduje, że CWnd aktywne okno.

CWnd* SetActiveWindow();

Wartość zwracana

Okno, które było wcześniej aktywne.

Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Funkcja SetActiveWindow składowa powinna być używana z ostrożnością, ponieważ umożliwia aplikacji arbitralne przejęcie aktywnego okna i fokusu wejściowego. Zwykle system Windows zajmuje się całą aktywacją.

CWnd::SetCapture

Powoduje wysłanie wszystkich kolejnych danych wejściowych myszy do bieżącego CWnd obiektu niezależnie od położenia kursora.

CWnd* SetCapture();

Wartość zwracana

Wskaźnik do obiektu okna, który wcześniej otrzymał wszystkie dane wejściowe myszy. To jest NULL , jeśli nie ma takiego okna. Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Jeśli CWnd nie wymaga już wszystkich danych wejściowych myszy, aplikacja powinna wywołać ReleaseCapture funkcję, aby inne okna mogły odbierać dane wejściowe myszy.

Gdy dane wejściowe myszy są przechwytywane, żadne komunikaty lub WM_SETCURSOR nie WM_NCHITTEST są wysyłane do aktywnego okna.

CWnd::SetCaretPos

Ustawia położenie karetki.

static void PASCAL SetCaretPos(POINT point);

Parametry

point
Określa nowe współrzędne x i y (we współrzędnych klienta) karetki.

Uwagi

Funkcja SetCaretPos składowa przenosi daszek tylko wtedy, gdy jest własnością okna w bieżącym zadaniu. SetCaretPos przesuwa karetki, czy karetki są ukryte.

Daszek jest zasobem udostępnionym. Okno nie powinno przenosić karetki, jeśli nie jest właścicielem karetki.

Przykład

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

Dodaje to okno do łańcucha okien, które są powiadamiane (za pomocą komunikatu WM_DRAWCLIPBOARD ) za każdym razem, gdy zawartość Schowka zostanie zmieniona.

HWND SetClipboardViewer();

Wartość zwracana

Uchwyt do następnego okna w łańcuchu Schowek-viewer, jeśli się powiedzie. Aplikacje powinny zapisywać ten uchwyt (może być przechowywany jako zmienna składowa) i używać go podczas odpowiadania na komunikaty łańcucha Schowka-viewer.

Uwagi

Okno będące częścią łańcucha Schowka-viewer musi odpowiadać na WM_DRAWCLIPBOARDkomunikaty , WM_CHANGECBCHAINi WM_DESTROY przekazać komunikat do następnego okna w łańcuchu.

Ta funkcja składowa WM_DRAWCLIPBOARD wysyła komunikat do okna. Ponieważ dojście do następnego okna w łańcuchu Schowka-viewer nie zostało jeszcze zwrócone, aplikacja nie powinna przekazać komunikatu WM_DRAWCLIPBOARD odbieranego podczas wywołania metody SetClipboardViewer.

Aby usunąć się z łańcucha Clipboard-viewer, aplikacja musi wywołać funkcję składową ChangeClipboardChain .

CWnd::SetDlgCtrlID

Ustawia identyfikator okna lub identyfikator kontrolki dla okna na nową wartość.

int SetDlgCtrlID(int nID);

Parametry

nID
Nowa wartość ustawiana dla identyfikatora kontrolki.

Wartość zwracana

Poprzedni identyfikator okna, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Okno może być dowolnym oknem podrzędnym, a nie tylko kontrolką w oknie dialogowym. Okno nie może być oknem najwyższego poziomu.

CWnd::SetDlgItemInt

Ustawia tekst danej kontrolki w oknie dialogowym na ciąg reprezentujący określoną wartość całkowitą.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parametry

nID
Określa identyfikator liczby całkowitej kontrolki, która ma zostać zmieniona.

nValue
Określa wartość całkowitą użytą do wygenerowania tekstu elementu.

bSigned
Określa, czy wartość całkowita jest podpisana, czy niepodpisane. Jeśli ten parametr ma TRUEwartość , nValue jest podpisany. Jeśli ten parametr jest TRUE mniejszy niż nValue 0, znak minus zostanie umieszczony przed pierwszą cyfrą w ciągu. Jeśli ten parametr to FALSE, nValue jest niepodpisany.

Uwagi

SetDlgItemIntWM_SETTEXT wysyła komunikat do danej kontrolki.

Przykład

Zobacz przykład dla elementu CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Ustawia podpis lub tekst kontrolki należącej do okna lub okna dialogowego.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parametry

nID
Identyfikuje kontrolkę, której tekst ma zostać ustawiony.

lpszString
CString Wskazuje obiekt lub ciąg zakończony wartością null, który zawiera tekst, który ma zostać skopiowany do kontrolki.

Uwagi

SetDlgItemTextWM_SETTEXT wysyła komunikat do danej kontrolki.

Przykład

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

Umieszcza wątek, który utworzył okno na pierwszym planie i aktywuje okno.

BOOL SetForegroundWindow();

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Dane wejściowe klawiatury są kierowane do okna, a dla użytkownika zmieniane są różne sygnały wizualne. Okno pierwszego planu to okno, w którym użytkownik aktualnie pracuje. Okno pierwszego planu dotyczy tylko okien najwyższego poziomu (okien ramowych lub okien dialogowych).

Przykład

Zobacz przykład dla elementu CWnd::FindWindow.

CWnd::SetFocus

Twierdzi, że fokus danych wejściowych.

CWnd* SetFocus();

Wartość zwracana

Wskaźnik do obiektu okna, który wcześniej miał fokus wejściowy. To jest NULL , jeśli nie ma takiego okna. Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany.

Uwagi

Fokus wejściowy kieruje wszystkie kolejne dane wejściowe klawiatury do tego okna. Każde okno, które wcześniej miało fokus wejściowy, traci je.

SetFocus Funkcja składowa WM_KILLFOCUS wysyła komunikat do okna, które traci fokus wejściowy i WM_SETFOCUS komunikat do okna, które odbiera fokus wejściowy. Aktywuje również okno lub jego element nadrzędny.

Jeśli bieżące okno jest aktywne, ale nie ma fokusu (oznacza to, że żadne okno nie ma fokusu), każdy klawisz naciśnięty spowoduje wygenerowanie komunikatów WM_SYSCHAR, WM_SYSKEYDOWNlub WM_SYSKEYUP.

CWnd::SetFont

WM_SETFONT Wysyła komunikat do okna, aby użyć określonej czcionki.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Parametry

pFont
Wskaźnik do CFont obiektu.

bRedraw
TRUE aby okno było ponownie rysowane natychmiast po jego zakończeniu przetwarzania komunikatu WM_SETFONT ; w przeciwnym razie FALSE.

Uwagi

Ta metoda nie ma żadnego efektu, chyba że okno przetwarza WM_SETFONT komunikat. Wiele klas MFC, które pochodzą z CWnd procesu tego komunikatu, ponieważ są one dołączone do wstępnie zdefiniowanej klasy okna, która zawiera procedurę obsługi komunikatów dla komunikatu WM_SETFONT . Aby użyć tej metody, klasy pochodzące z CWnd klasy muszą definiować procedurę obsługi dla komunikatu WM_SETFONT .

CWnd::SetIcon

Wywołaj tę funkcję składową, aby ustawić uchwyt na określoną ikonę, zidentyfikowaną przez hIconelement .

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parametry

hIcon
Uchwyt do poprzedniej ikony.

bBigIcon
Określa ikonę 32 pikseli na 32 pikseli, jeśli TRUE; określa ikonę 16 pikseli na 16 pikseli, jeśli FALSE.

Wartość zwracana

Uchwyt do ikony.

Uwagi

Po zarejestrowaniu klasy okna zostanie wybrana ikona.

Przykład

Zobacz przykład dla elementu CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Ustawia nieprzezroczystość i klucz koloru przezroczystości okna warstwowego.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parametry

crKey
Wskaźnik do COLORREF wartości, która określa klucz koloru przezroczystości, który ma być używany podczas komponowania okna warstwowego. Wszystkie piksele malowane przez okno w tym kolorze będą przezroczyste. Aby wygenerować element COLORREF, użyj makra RGB .

bAlpha
Wartość alfa używana do opisania nieprzezroczystości okna warstwowego. Aby uzyskać więcej informacji, zobacz SourceConstantAlpha element członkowski BLENDFUNCTION struktury. Gdy bAlpha wartość wynosi 0, okno jest całkowicie przezroczyste. Gdy bAlpha ma wartość 255, okno jest nieprzezroczyste.

dwFlags
Określa akcję do wykonania. Ten parametr może być co najmniej jedną z następujących wartości. Aby uzyskać listę możliwych wartości, zobacz SetLayeredWindowAttributes.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji SetLayeredWindowAttributes, zgodnie z opisem w zestawie Windows SDK.

CWnd::SetMenu

Ustawia bieżące menu na określone menu.

BOOL SetMenu(CMenu* pMenu);

Parametry

pMenu
Identyfikuje nowe menu. Jeśli ten parametr to NULL, bieżące menu zostanie usunięte.

Wartość zwracana

Niezerowe, jeśli menu zostanie zmienione; w przeciwnym razie 0.

Uwagi

Powoduje ponowne rysowanie okna w celu odzwierciedlenia zmiany menu.

SetMenu nie spowoduje zniszczenia poprzedniego menu. Aplikacja powinna wywołać funkcję składową CMenu::DestroyMenu , aby wykonać to zadanie.

Przykład

Zobacz przykład dla elementu CMenu::LoadMenu.

CWnd::SetOwner

Ustawia właściciela bieżącego okna na określony obiekt okna.

void SetOwner(CWnd* pOwnerWnd);

Parametry

pOwnerWnd
Identyfikuje nowego właściciela obiektu okna. Jeśli ten parametr to NULL, obiekt okna nie ma właściciela.

Uwagi

Ten właściciel może następnie odbierać komunikaty poleceń z bieżącego obiektu okna. Domyślnie element nadrzędny bieżącego okna jest jego właścicielem.

Często przydaje się nawiązywanie połączeń między obiektami okien, które nie są powiązane z hierarchią okien. Na przykład CToolBar wysyła powiadomienia do właściciela zamiast do elementu nadrzędnego. Dzięki temu pasek narzędzi staje się elementem podrzędnym jednego okna (takiego jak okno aplikacji kontenera OLE) podczas wysyłania powiadomień do innego okna (takiego jak okno ramki w miejscu). Ponadto, gdy okno serwera jest dezaktywowane lub aktywowane podczas edycji w miejscu, każde okno należące do okna ramki jest ukryte lub wyświetlane. Ta własność jest jawnie ustawiana za pomocą wywołania metody SetOwner.

Koncepcja własności tej funkcji różni się od koncepcji własności .GetWindow

CWnd::SetParent

Zmienia okno nadrzędne okna podrzędnego.

CWnd* SetParent(CWnd* pWndNewParent);

Parametry

pWndNewParent
Identyfikuje nowe okno nadrzędne.

Wartość zwracana

Wskaźnik do poprzedniego obiektu okna nadrzędnego, jeśli się powiedzie. Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

Jeśli okno podrzędne jest widoczne, system Windows wykonuje odpowiednie ponowne rysowanie i przemalowywanie.

CWnd::SetProperty

Wywołaj tę funkcję składową, aby ustawić właściwość kontrolki OLE określoną przez dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parametry

dwDispID
Określa właściwość, która ma zostać ustawiona.

vtProp
Określa typ właściwości, która ma zostać ustawiona. Aby uzyskać możliwe wartości, zobacz sekcję Uwagi dla COleDispatchDriver::InvokeHelperelementu .

...
Pojedynczy parametr typu określony przez vtProp.

Uwagi

Uwaga

Ta funkcja powinna być wywoływana tylko w obiekcie reprezentującym CWnd kontrolkę OLE.

Aby uzyskać więcej informacji na temat korzystania z tej funkcji składowej z kontenerami kontrolek OLE, zobacz artykuł ActiveX Control Containers: Programming ActiveX Controls in an ActiveX Control Container (Kontenery kontrolek ActiveX: programowanie kontrolek ActiveX w kontenerze kontrolek ActiveX).

CWnd::SetRedraw

Wywołania SetRedraw aplikacji, aby umożliwić ponowne rysowanie zmian lub uniemożliwienie ponownego rysowania zmian.

void SetRedraw(BOOL bRedraw = TRUE);

Parametry

bRedraw
Określa stan flagi redraw. Jeśli ten parametr to TRUE, flaga redraw jest ustawiona; jeśli FALSEflaga zostanie wyczyszczone.

Uwagi

Ta funkcja składowa ustawia lub czyści flagę ponownego rysowania. Podczas wyczyszczenia flagi ponownego rysowania zawartość nie zostanie zaktualizowana po każdej zmianie i nie zostanie przemalowana do momentu ustawienia flagi ponownego rysowania. Na przykład aplikacja, która musi dodać kilka elementów do pola listy, może wyczyścić flagę ponownego rysowania, dodać elementy, a następnie ustawić flagę ponownego rysowania. Na koniec aplikacja może wywołać Invalidate funkcję składową lub InvalidateRect , aby pole listy było przemalowane.

Przykład

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

Wywołaj tę funkcję składową, aby ustawić informacje, które SCROLLINFO struktura utrzymuje na pasku przewijania.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parametry

nBar
Określa, czy pasek przewijania jest kontrolką, czy częścią obszaru innego niż klient okna. Jeśli jest on częścią obszaru innego niż klient, nBar wskazuje również, czy pasek przewijania jest umieszczony w poziomie, w pionie, czy w obu przypadkach. Musi to być jeden z następujących elementów:

  • SB_CTL Zawiera parametry kontrolki paska przewijania. Element m_hWnd członkowski danych musi być uchwytem kontrolki paska przewijania.

  • SB_HORZ Określa, że okno jest poziomym paskiem przewijania.

  • SB_VERT Określa, że okno jest pionowym paskiem przewijania.

lpScrollInfo
Wskaźnik do SCROLLINFO struktury. Aby uzyskać więcej informacji na temat tej struktury, zobacz zestaw Windows SDK.

bRedraw
Określa, czy pasek przewijania ma zostać ponownie wyrysowyny, aby odzwierciedlić nową pozycję. Jeśli bRedraw ma wartość TRUE, pasek przewijania zostanie ponownie narysowane. Jeśli jest FALSEto wartość , nie jest ona rysowana ponownie. Pasek przewijania jest domyślnie ponownie rysowany.

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość TRUE. W przeciwnym razie jest to FALSE.

Uwagi

Struktura SCROLLINFO zawiera informacje o pasku przewijania, w tym minimalne i maksymalne pozycje przewijania, rozmiar strony i położenie pola przewijania (kciuk). SCROLLINFO Zobacz temat struktury w zestawie Windows SDK, aby uzyskać więcej informacji na temat zmieniania domyślnych ustawień struktury.

Programy obsługi komunikatów systemu Windows MFC wskazujące położenie CWnd::OnHScroll paska przewijania i CWnd::OnVScroll, udostępniają tylko 16 bitów danych położenia. GetScrollInfo i SetScrollInfo podaj 32 bity danych położenia paska przewijania. W związku z tym aplikacja może wywołać GetScrollInfo funkcję przetwarzania CWnd::OnHScroll lub CWnd::OnVScroll uzyskać 32-bitowe dane położenia paska przewijania.

Uwaga

CWnd::GetScrollInfo Umożliwia aplikacjom używanie 32-bitowych pozycji paska przewijania.

CWnd::SetScrollPos

Ustawia bieżące położenie pola przewijania i, jeśli jest to wymagane, ponownie rysuje pasek przewijania, aby odzwierciedlić nową pozycję pola przewijania.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parametry

nBar
Określa pasek przewijania, który ma zostać ustawiony. Ten parametr może mieć jedną z następujących wartości:

  • SB_HORZ Ustawia położenie pola przewijania na poziomym pasku przewijania okna.

  • SB_VERT Ustawia położenie pola przewijania na pionowym pasku przewijania okna.

nPos
Określa nowe położenie pola przewijania. Musi znajdować się w zakresie przewijania.

bRedraw
Określa, czy pasek przewijania powinien zostać przemalowany, aby odzwierciedlić nową pozycję pola przewijania. Jeśli ten parametr to TRUE, pasek przewijania zostanie przemalowany. Jeśli FALSEpasek przewijania nie zostanie przemalowany.

Wartość zwracana

Poprzednie położenie pola przewijania.

Uwagi

Ustawienie bRedraw wartości jest FALSE przydatne za każdym razem, gdy pasek przewijania zostanie ponownie narysowany przez kolejne wywołanie innej funkcji.

CWnd::SetScrollRange

Ustawia wartości minimalnej i maksymalnej pozycji dla danego paska przewijania.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parametry

nBar
Określa pasek przewijania, który ma zostać ustawiony. Ten parametr może być jedną z następujących wartości:

  • SB_HORZ Ustawia zakres poziomego paska przewijania okna.

  • SB_VERT Ustawia zakres pionowego paska przewijania okna.

nMinPos
Określa minimalną pozycję przewijania.

nMaxPos
Określa maksymalną pozycję przewijania.

bRedraw
Określa, czy pasek przewijania ma zostać ponownie wyrysowyny, aby odzwierciedlić zmianę. Jeśli bRedraw ma TRUEwartość , pasek przewijania zostanie ponownie narysowy; jeśli FALSEpasek przewijania nie zostanie ponownie wyrysy.

Uwagi

Można go również użyć do ukrywania lub pokazywania standardowych pasków przewijania.

Aplikacja nie powinna wywoływać tej funkcji, aby ukryć pasek przewijania podczas przetwarzania komunikatu powiadomienia paska przewijania.

Jeśli wywołanie polecenia SetScrollRange natychmiast następuje wywołanie funkcji składowejSetScrollPos, parametr w SetScrollPos funkcji składowej powinien mieć wartość 0, bRedraw aby zapobiec dwukrotnemu narysowaniu paska przewijania.

Domyślny zakres standardowego paska przewijania to od 0 do 100. Domyślny zakres kontrolki paska przewijania jest pusty (wartości nMinPos i nMaxPos to 0). Różnica między wartościami określonymi przez nMinPos element i nMaxPos nie może być większa niż INT_MAX.

CWnd::SetTimer

Instaluje czasomierz systemowy.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Parametry

nIDEvent
Określa niezerowy identyfikator czasomierza. Jeśli identyfikator czasomierza jest unikatowy, ta sama wartość jest zwracana przez SetTimer. SetTimer W przeciwnym razie określa nową unikatową wartość i zwraca to. W przypadku czasomierza okna (z funkcją wywołania zwrotnego NULL ) wartość musi być unikatowa tylko dla innych czasomierzy okien skojarzonych z bieżącym oknem. W przypadku czasomierza wywołania zwrotnego wartość musi być unikatowa dla wszystkich czasomierzy we wszystkich procesach. W związku z tym podczas tworzenia czasomierza wywołania zwrotnego jest bardziej prawdopodobne, że zwrócona wartość może różnić się od określonej wartości.

nElapse
Określa wartość limitu czasu lub interwał w milisekundach.

lpfnTimer
Określa adres funkcji wywołania zwrotnego dostarczonej TimerProc przez aplikację, która przetwarza WM_TIMER komunikaty. Jeśli ten parametr to NULL, WM_TIMER komunikaty są umieszczane w kolejce komunikatów aplikacji i obsługiwane przez CWnd obiekt.

Wartość zwracana

Identyfikator czasomierza nowego czasomierza, jeśli funkcja zakończy się pomyślnie. Ta wartość może być równa wartości przekazanej za pośrednictwem parametru nIDEvent . Aplikacja powinna zawsze przekazywać wartość zwracaną do funkcji składowej KillTimer , aby zabić czasomierz. Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Określana jest wartość interwału i za każdym razem, gdy upłynie interwał, system publikuje WM_TIMER komunikat w kolejce komunikatów instalacji aplikacji lub przekazuje komunikat do funkcji wywołania zwrotnego zdefiniowanego przez TimerProc aplikację.

Funkcja lpfnTimer wywołania zwrotnego nie musi mieć nazwy TimerProc, ale musi być zadeklarowana jako statyczna i zdefiniowana w następujący sposób.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Przykład

W tym przykładzie użyto wartości CWnd::SetTimer, CWnd::OnTimeri CWnd::KillTimer do obsługi WM_TIMER komunikatów. Pierwszy czasomierz jest skonfigurowany do wysyłania komunikatu WM_TIMER do głównego okna ramki co 2 sekundy w .OnStartTimer Program OnTimer obsługi zdarzeń obsługuje WM_TIMER komunikaty dla głównego okna ramki. Ta metoda powoduje, że głośnik pc jest sygnałem dźwiękowym co 2 sekundy. Drugi czasomierz wysyła komunikat do funkcji wywołania zwrotnego co 3,75 sekundy. OnStopTimer spowoduje zatrzymanie obu czasomierzy przez wywołanie CWnd::KillTimer każdego identyfikatora czasomierza.

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

Wywołaj tę funkcję składową, aby skojarzyć identyfikator kontekstu pomocy z określonym oknem.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parametry

dwContextHelpId
Identyfikator kontekstu pomocy.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Jeśli okno podrzędne nie ma identyfikatora kontekstu pomocy, dziedziczy identyfikator okna nadrzędnego. Podobnie, jeśli okno należące do użytkownika nie ma identyfikatora kontekstu pomocy, dziedziczy identyfikator okna właściciela. To dziedziczenie identyfikatorów kontekstu pomocy umożliwia aplikacji ustawienie tylko jednego identyfikatora okna dialogowego i wszystkich jego kontrolek.

Przykład

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

Ustawia stan wyświetlania i normalne (przywrócone), zminimalizowane i zmaksymalizowane pozycje dla okna.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Parametry

lpwndpl
Wskazuje strukturę określającą WINDOWPLACEMENT nowy stan show i pozycje.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

CWnd::SetWindowPos

Zmienia rozmiar, położenie i kolejność Z okna podrzędnego, wyskakującego i najwyższego poziomu.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parametry

pWndInsertAfter
CWnd Identyfikuje obiekt, który będzie poprzedni (większy niż) ten CWnd obiekt w kolejności Z. Ten parametr może być wskaźnikiem do CWnd wskaźnika lub wskaźnikiem do jednej z następujących wartości:

  • wndBottom Umieszcza okno w dolnej części kolejności Z. Jeśli jest to CWnd najbardziej górne okno, okno traci najwyższy stan; system umieszcza okno w dolnej części wszystkich innych okien.

  • wndTop Umieszcza okno w górnej części kolejności Z.

  • wndTopMost Umieszcza okno powyżej wszystkich okien nienależących do góry. Okno utrzymuje najwyższą pozycję nawet wtedy, gdy jest dezaktywowana.

  • wndNoTopMost Zmienia położenie okna na górę wszystkich okien innych niż najwyższe (czyli za wszystkimi oknami z góry). Ta flaga nie ma żadnego wpływu, jeśli okno jest już nienajmniejsze okno.

Aby uzyskać informacje o sposobie używania tego parametru, zobacz sekcję "Uwagi" tego tematu.

x
Określa nowe położenie lewej strony okna.

y
Określa nowe położenie górnej części okna.

cx
Określa nową szerokość okna.

cy
Określa nową wysokość okna.

nFlags
Określa opcje określania rozmiaru i pozycjonowania. Ten parametr może być kombinacją następujących flag:

  • SWP_DRAWFRAME Rysuje ramkę (zdefiniowaną podczas tworzenia okna) wokół okna.

  • SWP_FRAMECHANGEDWM_NCCALCSIZE Wysyła komunikat do okna, nawet jeśli rozmiar okna nie jest zmieniany. Jeśli ta flaga nie zostanie określona, zostanie wysłana tylko wtedy, WM_NCCALCSIZE gdy rozmiar okna zostanie zmieniony.

  • SWP_HIDEWINDOW Ukrywa okno.

  • SWP_NOACTIVATE Nie aktywuje okna. Jeśli ta flaga nie jest ustawiona, okno zostanie aktywowane i przeniesione na górną część górnej lub nienajdącej do góry grupy (w zależności od ustawienia parametru pWndInsertAfter ).

  • SWP_NOCOPYBITS Odrzuca całą zawartość obszaru klienta. Jeśli ta flaga nie zostanie określona, prawidłowa zawartość obszaru klienta zostanie zapisana i skopiowana z powrotem do obszaru klienta po rozmiarze lub zmianie położenia okna.

  • SWP_NOMOVE Zachowuje bieżące położenie (ignoruje x parametry i y ).

  • SWP_NOOWNERZORDER Nie zmienia pozycji okna właściciela w kolejności Z.

  • SWP_NOREDRAW Nie rysuje zmian ponownie. Jeśli ta flaga jest ustawiona, nie ma żadnego przemalowania jakiegokolwiek rodzaju. Dotyczy to obszaru klienta, obszaru nieklienta (w tym tytułów i pasków przewijania) oraz dowolnej części okna nadrzędnego odkrytego w wyniku przeniesionego okna. Po ustawieniu tej flagi aplikacja musi jawnie unieważnić lub ponownie wyrysować wszystkie części okna i okna nadrzędnego, które muszą zostać ponownie rysowane.

  • SWP_NOREPOSITION Tak samo jak SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Uniemożliwia odbieranie komunikatu przez WM_WINDOWPOSCHANGING okno.

  • SWP_NOSIZE Zachowuje bieżący rozmiar (ignoruje cx parametry i cy ).

  • SWP_NOZORDER Zachowuje bieżące kolejność (ignoruje pWndInsertAfter).

  • SWP_SHOWWINDOW Wyświetla okno.

Wartość zwracana

Nonzero, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie, 0.

Uwagi

Okna są uporządkowane na ekranie zgodnie z kolejnością Z; okno w górnej części kolejności Z jest wyświetlane w górnej części wszystkich pozostałych okien w kolejności.

Wszystkie współrzędne okien podrzędnych to współrzędne klienta (względem lewego górnego rogu obszaru klienta okna nadrzędnego).

Okno można przenieść do góry kolejności Z przez ustawienie parametru pWndInsertAfter na &wndTopMost i upewnienie się, że SWP_NOZORDER flaga nie jest ustawiona lub przez ustawienie kolejności Z okna tak, aby było powyżej istniejących okien najwyższego poziomu. Gdy okno nienajmnie najwyższego poziomu jest najwięcej, jego własnością okna są również wykonane na najwyższym szczycie. Jego właściciele nie są zmieniani.

Najbardziej górne okno nie jest już najbardziej górne, jeśli znajduje się w dolnej części (&wndBottom) kolejności Z lub po każdym nieopowierzchniowym oknie. Gdy najbardziej górne okno jest nienajechsze, wszyscy jego właściciele i jego własnością okna są również wykonane nienajechomienie okna.

Jeśli żadna z SWP_NOACTIVATE nich nie SWP_NOZORDER zostanie określona (oznacza to, że gdy aplikacja żąda, aby okno zostało jednocześnie aktywowane i umieszczone w określonej kolejności Z), wartość określona w pWndInsertAfter pliku jest używana tylko w następujących okolicznościach:

  • Ani nie &wndTopMost&wndNoTopMost jest określony w parametrze pWndInsertAfter .

  • To okno nie jest aktywnym oknem.

Aplikacja nie może aktywować nieaktywnego okna, nie przenosząc go również do góry kolejności Z. Aplikacje mogą zmieniać kolejność Z aktywowanego okna bez ograniczeń.

Okno spoza góry może być właścicielem najbardziej górnego okna, ale nie odwrotnie. Każde okno (na przykład okno dialogowe) należące do najwyższego poziomu okna jest tworzone na najwyższym poziomie okna, aby upewnić się, że wszystkie okna należące do właściciela pozostają nad ich właścicielem.

W systemie Windows w wersji 3.1 lub nowszej okna można przenosić do góry kolejności Z i blokować je, ustawiając ich WS_EX_TOPMOST style. Takie najbardziej najwyższe okno utrzymuje najwyższą pozycję nawet w przypadku dezaktywacji. Na przykład wybranie polecenia WinHelp Always On Top powoduje, że okno Pomoc jest najbardziej widoczne, a następnie pozostaje widoczne po powrocie do aplikacji.

Aby utworzyć najbardziej najwyższe okno, wywołaj SetWindowPos metodę z parametrem pWndInsertAfter równym &wndTopMostlub ustaw WS_EX_TOPMOST styl podczas tworzenia okna.

Jeśli kolejność Z zawiera okna ze WS_EX_TOPMOST stylem, okno przeniesione z wartością &wndTopMost znajduje się w górnej części wszystkich okien nienachwytnych, ale poniżej dowolnego najwyższego poziomu okien. Gdy aplikacja aktywuje nieaktywne okno bez bitu WS_EX_TOPMOST , okno zostanie przeniesione powyżej wszystkich okien nienależących do góry, ale poniżej dowolnego najwyższego poziomu okien.

Jeśli SetWindowPos parametr jest wywoływany, gdy pWndInsertAfter parametr to &wndBottom i CWnd jest najbardziej górnym oknem, okno traci najwyższy stan (WS_EX_TOPMOST jest czyszczone), a system umieszcza okno w dolnej części kolejności Z.

Przykład

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

Wywołaj tę funkcję składową, aby ustawić region okna.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parametry

hRgn
Uchwyt do regionu.

bRedraw
Jeśli TRUEsystem operacyjny ponownie wyrysuje okno po ustawieniu regionu; w przeciwnym razie nie. Zazwyczaj ustaw wartość na bRedrawTRUE , jeśli okno jest widoczne. Jeśli ustawiono wartość TRUE, system wysyła WM_WINDOWPOSCHANGING komunikaty i WM_WINDOWPOSCHANGED do okna.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest niezerowa. Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to zero.

Uwagi

Współrzędne regionu okna są względem lewego górnego rogu okna, a nie obszaru klienta okna.

Po pomyślnym wywołaniu do SetWindowRgnprogramu system operacyjny jest właścicielem regionu określonego przez region dojścia hRgn. System operacyjny nie wykonuje kopii regionu, dlatego nie wykonuje żadnych kolejnych wywołań funkcji za pomocą tego uchwytu regionu i nie zamykaj tego uchwytu regionu.

CWnd::SetWindowText

Ustawia tytuł okna na określony tekst.

void SetWindowText(LPCTSTR lpszString);

Parametry

lpszString
CString Wskazuje obiekt lub ciąg zakończony wartością null, który ma być używany jako nowy tytuł lub tekst sterujący.

Uwagi

Jeśli okno jest kontrolką, tekst w kontrolce jest ustawiony.

Ta funkcja powoduje wysłanie komunikatu WM_SETTEXT do tego okna.

Przykład

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

Pokazuje karetki na ekranie w bieżącej pozycji karetki.

void ShowCaret();

Uwagi

Po pokazaniu karetki zaczynają migać automatycznie.

Funkcja ShowCaret składowa pokazuje daszek tylko wtedy, gdy ma bieżący kształt i nie został ukryty dwa lub więcej razy z rzędu. Jeśli daszek nie jest własnością tego okna, daszek nie jest wyświetlany.

Ukrywanie karetki jest skumulowane. HideCaret Jeśli funkcja składowa została wywołana pięć razy z rzędu, musi być wywoływana pięć razy, ShowCaret aby pokazać daszek.

Daszek jest zasobem udostępnionym. Okno powinno pokazywać karetki tylko wtedy, gdy ma fokus wejściowy lub jest aktywny.

Przykład

Zobacz przykład dla elementu CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Wyświetla lub ukrywa wszystkie wyskakujące okna należące do tego okna.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parametry

bShow
Określa, czy okna podręczne mają być wyświetlane, czy ukryte. Jeśli ten parametr to TRUE, zostaną wyświetlone wszystkie ukryte okna podręczne. Jeśli ten parametr to FALSE, wszystkie widoczne okna podręczne są ukryte.

Przykład

Zobacz przykład dla elementu CWnd::SetWindowPos.

CWnd::ShowScrollBar

Wyświetla lub ukrywa pasek przewijania.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parametry

nBar
Określa, czy pasek przewijania jest kontrolką, czy częścią obszaru innego niż klient okna. Jeśli jest on częścią obszaru innego niż klient, wskazuje również, nBar czy pasek przewijania jest umieszczony w poziomie, w pionie, czy w obu przypadkach. Musi to być jeden z następujących elementów:

  • SB_BOTH Określa poziome i pionowe paski przewijania okna.

  • SB_HORZ Określa, że okno jest poziomym paskiem przewijania.

  • SB_VERT Określa, że okno jest pionowym paskiem przewijania.

bShow
Określa, czy system Windows pokazuje, czy ukrywa pasek przewijania. Jeśli ten parametr to TRUE, zostanie wyświetlony pasek przewijania; w przeciwnym razie pasek przewijania jest ukryty.

Uwagi

Aplikacja nie powinna wywoływać ShowScrollBar w celu ukrycia paska przewijania podczas przetwarzania komunikatu powiadomienia paska przewijania.

CWnd::ShowWindow

Ustawia stan widoczności okna.

BOOL ShowWindow(int nCmdShow);

Parametry

nCmdShow
Określa sposób wyświetlania parametru CWnd . Musi to być jedna z następujących wartości:

  • SW_HIDE Ukrywa to okno i przekazuje aktywację do innego okna.

  • SW_MINIMIZE Minimalizuje okno i aktywuje okno najwyższego poziomu na liście systemu.

  • SW_RESTORE Aktywuje i wyświetla okno. Jeśli okno zostanie zminimalizowane lub zmaksymalizowane, system Windows przywróci go do oryginalnego rozmiaru i położenia.

  • SW_SHOW Aktywuje okno i wyświetla go w bieżącym rozmiarze i położeniu.

  • SW_SHOWMAXIMIZED Aktywuje okno i wyświetla je jako zmaksymalizowane okno.

  • SW_SHOWMINIMIZED Aktywuje okno i wyświetla je jako ikonę.

  • SW_SHOWMINNOACTIVE Wyświetla okno jako ikonę. Okno, które jest obecnie aktywne, pozostaje aktywne.

  • SW_SHOWNA Wyświetla okno w bieżącym stanie. Okno, które jest obecnie aktywne, pozostaje aktywne.

  • SW_SHOWNOACTIVATE Wyświetla okno w najnowszym rozmiarze i pozycji. Okno, które jest obecnie aktywne, pozostaje aktywne.

  • SW_SHOWNORMAL Aktywuje i wyświetla okno. Jeśli okno zostanie zminimalizowane lub zmaksymalizowane, system Windows przywróci go do oryginalnego rozmiaru i położenia.

Wartość zwracana

Niezerowe, jeśli okno było wcześniej widoczne; 0, jeśli CWnd element został wcześniej ukryty.

Uwagi

ShowWindow element musi być wywoływany tylko raz na aplikację dla okna głównego za pomocą polecenia CWinApp::m_nCmdShow. Kolejne wywołania muszą używać ShowWindow jednej z wartości wymienionych powyżej zamiast określonej przez CWinApp::m_nCmdShowelement .

Przykład

Zobacz przykład dla elementu CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Wywołaj tę funkcję składową do "dynamicznie podklasy" kontrolki utworzonej na podstawie szablonu okna dialogowego i dołącz ją do tego CWnd obiektu.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parametry

nID
Identyfikator kontrolki.

pParent
Element nadrzędny kontrolki (zazwyczaj okno dialogowe).

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Gdy kontrolka jest dynamicznie podklasowana, komunikaty systemu Windows będą kierować przez CWndmapę komunikatów i wywołać programy obsługi komunikatów w pierwszej klasie klasy CWnd. Komunikaty przekazywane do klasy bazowej zostaną przekazane do domyślnej procedury obsługi komunikatów w kontrolce.

Ta funkcja składowa dołącza kontrolkę CWnd systemu Windows do obiektu i zastępuje funkcje i AfxWndProc kontrolkiWndProc. Funkcja przechowuje stare WndProc w lokalizacji zwróconej przez funkcję składową GetSuperWndProcAddr .

Przykład

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

Wywołaj tę funkcję składową, aby "dynamicznie podklasy" okno i dołączyć je do tego CWnd obiektu.

BOOL SubclassWindow(HWND hWnd);

Parametry

hWnd
Uchwyt do okna.

Wartość zwracana

Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Gdy okno jest dynamicznie podklasowane, komunikaty systemu Windows będą kierować przez CWndmapę komunikatów i wywołać programy obsługi komunikatów w CWndpierwszej klasie klasy. Komunikaty przekazywane do klasy bazowej zostaną przekazane do domyślnej procedury obsługi komunikatów w oknie.

Ta funkcja składowa dołącza kontrolkę CWnd systemu Windows do obiektu i zastępuje funkcje i AfxWndProc oknaWndProc. Funkcja przechowuje wskaźnik do starego WndProcCWnd obiektu.

Uwaga

Okno nie może być jeszcze dołączone do obiektu MFC po wywołaniu tej funkcji.

Przykład

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

Wywołaj tę funkcję składową, aby odblokować okno, które zostało zablokowane za pomocą CWnd::LockWindowUpdatepolecenia .

void UnlockWindowUpdate();

Uwagi

Za pomocą polecenia LockWindowUpdatemożna zablokować tylko jedno okno jednocześnie. Aby uzyskać więcej informacji na temat blokowania okien, zobacz CWnd::LockWindowUpdate lub funkcja LockWindowUpdate Win32.

CWnd::UnsubclassWindow

Wywołaj tę funkcję składową, aby przywrócić WndProc jej oryginalną wartość i odłączyć okno zidentyfikowane przez HWND z CWnd obiektu.

HWND UnsubclassWindow();

Wartość zwracana

Uchwyt do okna nieklasyfikowanego.

Przykład

Zobacz przykład dla elementu CWnd::SubclassWindow.

CWnd::UpdateData

Wywołaj tę funkcję składową, aby zainicjować dane w oknie dialogowym lub pobrać i zweryfikować dane okna dialogowego.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parametry

bSaveAndValidate
Flaga wskazująca, czy okno dialogowe jest inicjowane (FALSE) lub dane są pobierane (TRUE).

Wartość zwracana

Nonzero, jeśli operacja zakończyła się pomyślnie; w przeciwnym razie 0. Jeśli bSaveAndValidate wartość to TRUE, zwracana wartość niezerowa oznacza, że dane zostały pomyślnie zweryfikowane.

Uwagi

Platforma automatycznie wywołuje metodę UpdateData z ustawioną wartością bSaveAndValidateFALSE , gdy modalne okno dialogowe zostanie utworzone w domyślnej implementacji programu CDialog::OnInitDialog. Wywołanie występuje przed widocznym oknom dialogowym. Domyślna implementacja wywołań tej funkcji składowej CDialog::OnOK z ustawioną wartością bSaveAndValidate w celu TRUE pobrania danych, a jeśli zakończy się pomyślnie, spowoduje zamknięcie okna dialogowego. (Jeśli przycisk Anuluj jest klikany w oknie dialogowym, okno dialogowe jest zamykane bez pobierania danych).

CWnd::UpdateDialogControls

Wywołaj tę funkcję składową, aby zaktualizować stan przycisków okna dialogowego i innych kontrolek w oknie dialogowym lub oknie, które korzysta z ON_UPDATE_COMMAND_UI mechanizmu wywołania zwrotnego.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parametry

pTarget
Wskazuje główne okno ramki aplikacji i służy do routingu komunikatów aktualizacji.

bDisableIfNoHndler
Flaga wskazująca, czy kontrolka, która nie ma programu obsługi aktualizacji, powinna być automatycznie wyświetlana jako wyłączona.

Uwagi

Jeśli kontrolka podrzędna nie ma programu obsługi i bDisableIfNoHndler ma TRUEwartość , kontrolka podrzędna zostanie wyłączona.

Struktura wywołuje tę funkcję składową dla kontrolek na paskach okien dialogowych lub paskach narzędzi w ramach bezczynnego przetwarzania aplikacji.

CWnd::UpdateLayeredWindow

Aktualizacje położenie, rozmiar, kształt, zawartość i przezroczystość okna warstwowego.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Parametry

pDCDst
Wskaźnik do kontekstu urządzenia dla ekranu. Służy do dopasowywania kolorów palety podczas aktualizowania zawartości okna. Jeśli pDCDst wartość to NULL, zostanie użyta paleta domyślna.

Jeśli pDCSrc parametr ma NULLwartość , pDCDst musi mieć wartość NULL.

pptDst
Wskaźnik do POINT struktury określającej położenie nowego ekranu okna warstwowego. Jeśli bieżące położenie nie zmienia się, pptDst może to być NULL.

psize
Wskaźnik do SIZE struktury, która określa nowy rozmiar okna warstwowego. Jeśli rozmiar okna nie zmienia się, psize może to być NULL.

Jeśli pDCSrc parametr ma NULLwartość , psize musi mieć wartość NULL.

pDCSrc
Wskaźnik kontrolera domeny dla powierzchni definiującej okno warstwowe. Jeśli kształt i kontekst wizualny okna nie ulegają zmianie, pDCSrc może to być NULL.

pptSrc
Wskaźnik do POINT struktury, która określa lokalizację warstwy w kontekście urządzenia.

Jeśli pDCSrc parametr ma NULLwartość , pptSrc powinien mieć wartość NULL.

crKey
Wskaźnik do COLORREF wartości, która określa klucz koloru przezroczystości, który ma być używany podczas komponowania okna warstwowego. Wszystkie piksele malowane przez okno w tym kolorze będą przezroczyste. Aby wygenerować element , użyj makra COLORREFRGB.

pblend
Wskaźnik do BLENDFUNCTION struktury, która określa wartość przezroczystości, która ma być używana podczas komponowania okna warstwowego.

dwFlags
Określa akcję do wykonania. Ten parametr może być co najmniej jedną z następujących wartości. Aby uzyskać listę możliwych wartości, zobacz UpdateLayeredWindow.

Wartość zwracana

Nonzero, jeśli funkcja powiedzie się; w przeciwnym razie 0.

Uwagi

Ta funkcja składowa emuluje funkcjonalność funkcji UpdateLayeredWindow, zgodnie z opisem w zestawie Windows SDK.

CWnd::UpdateWindow

Aktualizacje obszaru klienta, wysyłając komunikat, WM_PAINT jeśli region aktualizacji nie jest pusty.

void UpdateWindow();

Uwagi

UpdateWindow Funkcja składowa wysyła WM_PAINT komunikat bezpośrednio, pomijając kolejkę aplikacji. Jeśli region aktualizacji jest pusty, WM_PAINT nie jest wysyłany.

Przykład

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

Sprawdza poprawność obszaru klienta w danym prostokątze przez usunięcie prostokąta z regionu aktualizacji okna.

void ValidateRect(LPCRECT lpRect);

Parametry

lpRect
Wskazuje obiekt lub RECT strukturę zawierającą CRect współrzędne klienta prostokąta do usunięcia z regionu aktualizacji. Jeśli lpRect wartość to NULL, całe okno zostanie zweryfikowane.

Uwagi

Funkcja BeginPaint składowa automatycznie weryfikuje cały obszar klienta. Ani ValidateRect funkcja składowa nie ValidateRgn powinna być wywoływana, jeśli przed następnym wygenerowaniem należy zweryfikować WM_PAINT część regionu aktualizacji.

System Windows nadal generuje WM_PAINT komunikaty do momentu zweryfikowania bieżącego regionu aktualizacji.

CWnd::ValidateRgn

Weryfikuje obszar klienta w danym regionie, usuwając region z bieżącego regionu aktualizacji okna.

void ValidateRgn(CRgn* pRgn);

Parametry

pRgn
Wskaźnik do CRgn obiektu, który identyfikuje region, który definiuje obszar, który ma zostać usunięty z regionu aktualizacji. Jeśli ten parametr to NULL, cały obszar klienta zostanie usunięty.

Uwagi

Dany region musi zostać utworzony wcześniej przez funkcję regionu. Przyjmuje się, że współrzędne regionu są współrzędnymi klienta.

Funkcja BeginPaint składowa automatycznie weryfikuje cały obszar klienta. Ani ValidateRectValidateRgn funkcja ani składowa nie powinna być wywoływana, jeśli część regionu aktualizacji musi zostać zweryfikowana przed wygenerowaniem następnego WM_PAINT komunikatu.

CWnd::WindowFromPoint

Pobiera okno zawierające określony punkt; point musi określać współrzędne ekranu punktu na ekranie.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parametry

point
Określa CPoint obiekt lub POINT strukturę danych, która definiuje punkt do sprawdzenia.

Wartość zwracana

Wskaźnik do obiektu okna, w którym znajduje się punkt. Jest to NULL , jeśli w danym momencie nie istnieje okno. Zwrócony wskaźnik może być tymczasowy i nie powinien być przechowywany do późniejszego użycia.

Uwagi

WindowFromPoint nie pobiera ukrytego lub wyłączonego okna, nawet jeśli punkt znajduje się w oknie. Aplikacja powinna używać funkcji składowej ChildWindowFromPoint do wyszukiwania bez ograniczeń.

CWnd::WindowProc

Zawiera procedurę systemu Windows (WindowProc) dla CWnd obiektu.

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

Parametry

message
Określa komunikat systemu Windows do przetworzenia.

wParam
Udostępnia dodatkowe informacje używane podczas przetwarzania komunikatu. Wartość parametru zależy od komunikatu.

lParam
Udostępnia dodatkowe informacje używane podczas przetwarzania komunikatu. Wartość parametru zależy od komunikatu.

Wartość zwracana

Wartość zwracana zależy od komunikatu.

Uwagi

Wysyła komunikaty za pośrednictwem mapy komunikatów okna.

CWnd::WinHelp

Wywołana w celu zainicjowania aplikacji WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parametry

dwData
Określa dodatkowe dane. Użyta wartość zależy od wartości parametru nCmd .

nCmd
Określa typ żądanej pomocy. Aby uzyskać listę możliwych wartości i ich wpływ na dwData parametr, zobacz WinHelp funkcję systemu Windows w zestawie Windows SDK.

Uwagi

Aby uzyskać więcej informacji, zobacz CWinApp::WinHelp.

CWnd::RegisterTouchWindow

Rejestruje lub wyrejestrowuje obsługę dotykową systemu Windows.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parametry

bRegister
TRUE wskazuje rejestrację obsługi dotyku systemu Windows; FALSE Inaczej.

ulFlags
Zestaw flag bitowych określających opcjonalne modyfikacje. To pole może zawierać 0 lub jedną z następujących wartości: TWF_FINETOUCH, TWF_WANTPALM.

Wartość zwracana

TRUE w przypadku powodzenia; w przeciwnym razie FALSE.

Uwagi

CWnd::ResizeDynamicLayout

Wywoływana przez platformę, gdy rozmiar okna zmienia się w celu dostosowania układu okien podrzędnych, jeśli dynamiczny układ jest włączony dla okna.

virtual void ResizeDynamicLayout();

Uwagi

Zobacz też

CCmdTarget Klasa
Wykres hierarchii
CFrameWnd Klasa
CView Klasa