Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt de basisfunctionaliteit van alle vensterklassen in de Microsoft Foundation Class Library.
Syntaxis
class CWnd : public CCmdTarget
Leden
Openbare constructors
| Naam | Description |
|---|---|
CWnd::CWnd |
Maakt een CWnd-object. |
Openbare methoden
| Naam | Description |
|---|---|
CWnd::accDoDefaultAction |
Aangeroepen door het framework om de standaardactie van het object uit te voeren. |
CWnd::accHitTest |
Aangeroepen door het framework om het onderliggende element of het onderliggende object op een bepaald punt op het scherm op te halen. |
CWnd::accLocation |
Aangeroepen door het framework om de huidige schermlocatie van het opgegeven object op te halen. |
CWnd::accNavigate |
Aangeroepen door het framework om door te gaan naar een ander element van de gebruikersinterface binnen een container en indien mogelijk, haalt u het object op. |
CWnd::accSelect |
Aangeroepen door het framework om de selectie te wijzigen of de toetsenbordfocus van het opgegeven object te verplaatsen. |
CWnd::AnimateWindow |
Hiermee wordt het bijbehorende vensterobject geactiveerd. |
CWnd::ArrangeIconicWindows |
Rangschikt alle geminimaliseerde (iconische) kindervensters. |
CWnd::Attach |
Hiermee wordt een Windows-ingang aan een CWnd object gekoppeld. |
CWnd::BeginModalState |
Roep deze lidfunctie aan om een framevenster modaal te maken. |
CWnd::BeginPaint |
Bereidt zich CWnd voor op schilderen. |
CWnd::BindDefaultProperty |
Verbindt de standaard eenvoudige afhankelijke eigenschap van het aanroepende object, zoals gemarkeerd in de typebibliotheek, met een cursor die is gekoppeld aan een besturingselement voor gegevensbronnen. |
CWnd::BindProperty |
Hiermee wordt een aan cursor gebonden eigenschap op een gegevensgebonden besturingselement gekoppeld aan een besturingselement voor gegevensbronnen en wordt die relatie met de MFC-bindingsbeheerder geregistreerd. |
CWnd::BringWindowToTop |
Komt CWnd boven aan een stapel overlappende vensters. |
CWnd::CalcWindowRect |
Aangeroepen om de rechthoek van het venster te berekenen vanuit de clientrechthoek. |
CWnd::CancelToolTips |
Hiermee schakelt u het besturingselement knopinfo uit. |
CWnd::CenterWindow |
Centreert een venster ten opzichte van het bovenliggende venster. |
CWnd::ChangeClipboardChain |
Wordt CWnd verwijderd uit de keten van Klembord-viewers. |
CWnd::CheckDlgButton |
Hiermee plaatst u een vinkje naast of verwijdert u een vinkje uit een knop besturingselement. |
CWnd::CheckRadioButton |
Controleert het opgegeven keuzerondje en verwijdert het vinkje uit alle andere keuzerondjes in de opgegeven groep knoppen. |
CWnd::ChildWindowFromPoint |
Bepaalt welke, indien aanwezig, van de onderliggende vensters het opgegeven punt bevat. |
CWnd::ClientToScreen |
Converteert de clientcoördinaten van een bepaald punt of rechthoek op de weergave naar schermcoördinaten. |
CWnd::CloseWindow |
Hiermee wordt het venster geminimaliseerd. |
CWnd::ContinueModal |
Hiermee wordt de modale status van een venster voortgezet. |
CWnd::Create |
Hiermee maakt en initialiseert u het onderliggende venster dat aan het CWnd object is gekoppeld. |
CWnd::CreateAccessibleProxy |
Hiermee maakt u een actieve toegankelijkheidsproxy voor het opgegeven object. |
CWnd::CreateCaret |
Hiermee maakt u een nieuwe vorm voor de systeemzorg en wordt eigenaar van de caret. |
CWnd::CreateControl |
Maak een ActiveX-besturingselement dat wordt weergegeven in een MFC-programma door een CWnd object. |
CWnd::CreateEx |
Hiermee maakt u een windows-overlappend, pop-upvenster of onderliggend venster en koppelt u het aan een CWnd object. |
CWnd::CreateGrayCaret |
Hiermee maakt u een grijs blok voor de systeemzorg en wordt het eigendom van de caret. |
CWnd::CreateSolidCaret |
Hiermee maakt u een solide blok voor de systeemzorg en krijgt u het eigendom van de caret. |
CWnd::DeleteTempMap |
Wordt automatisch aangeroepen door de CWinApp handler voor inactiviteit en verwijdert tijdelijke CWnd objecten die zijn gemaakt door FromHandle. |
CWnd::DestroyWindow |
Vernietigt het bijgevoegde Venster van Windows. |
CWnd::Detach |
Loskoppelt een Windows-ingang van een CWnd object en retourneert de ingang. |
CWnd::DlgDirList |
Hiermee wordt een keuzelijst gevuld met een bestand of mapvermelding. |
CWnd::DlgDirListComboBox |
Hiermee wordt de keuzelijst van een keuzelijst met invoervak gevuld met een lijst met bestanden of mappen. |
CWnd::DlgDirSelect |
Hiermee haalt u de huidige selectie op uit een keuzelijst. |
CWnd::DlgDirSelectComboBox |
Hiermee haalt u de huidige selectie op uit de keuzelijst met invoervak. |
CWnd::DragAcceptFiles |
Geeft aan dat het venster slepende bestanden accepteert. |
CWnd::DragDetect |
Legt de muis vast en houdt de beweging bij totdat de gebruiker de linkerknop loslaat, op esc drukt of de muis verplaatst buiten de rechthoek met slepen rond het opgegeven punt. |
CWnd::DrawAnimatedRects |
Hiermee tekent u een rechthoek met draadframes en geeft u er animatie aan om het openen van een pictogram of het minimaliseren of maximaliseren van een venster aan te geven. |
CWnd::DrawCaption |
Hiermee tekent u een bijschrift. |
CWnd::DrawMenuBar |
Hiermee tekent u de menubalk opnieuw. |
CWnd::EnableActiveAccessibility |
Hiermee schakelt u door de gebruiker gedefinieerde Active Accessibility functies in. |
CWnd::EnableDynamicLayout |
Hiermee kunt u de positie en grootte van onderliggende vensters dynamisch aanpassen wanneer de gebruiker het formaat van het venster wijzigt. |
CWnd::EnableD2DSupport |
Hiermee schakelt u ondersteuning voor vensters D2D in of uit. Roep deze methode aan voordat het hoofdvenster wordt geïnitialiseerd. |
CWnd::EnableScrollBar |
Hiermee schakelt u een of beide pijlen van een schuifbalk in of uit. |
CWnd::EnableScrollBarCtrl |
Hiermee schakelt u een besturingselement voor de schuifbalk op hetzelfde niveau in of uit. |
CWnd::EnableToolTips |
Hiermee schakelt u het besturingselement knopinfo in. |
CWnd::EnableTrackingToolTips |
Hiermee schakelt u het besturingselement voor knopinfo in de traceringsmodus in. |
CWnd::EnableWindow |
Hiermee schakelt u muis- en toetsenbordinvoer in of uit. |
CWnd::EndModalLoop |
Hiermee wordt de modale status van een venster beëindigd. |
CWnd::EndModalState |
Roep deze lidfunctie aan om een framevenster te wijzigen van modaal naar modusloos. |
CWnd::EndPaint |
Markeert het einde van het schilderen. |
CWnd::ExecuteDlgInit |
Hiermee wordt een dialoogvensterresource gestart. |
CWnd::FilterToolTipMessage |
Hiermee haalt u de titel of tekst op die is gekoppeld aan een besturingselement in een dialoogvenster. |
CWnd::FindWindow |
Retourneert de ingang van het venster, die wordt geïdentificeerd door de naam van het venster en de vensterklasse. |
CWnd::FindWindowEx |
Retourneert de ingang van het venster, die wordt geïdentificeerd door de naam van het venster en de vensterklasse. |
CWnd::FlashWindow |
Knippert het venster eenmaal. |
CWnd::FlashWindowEx |
Knippert het venster met extra functionaliteit. |
CWnd::FromHandle |
Retourneert een aanwijzer naar een CWnd object wanneer een ingang aan een venster wordt gegeven. Als een CWnd object niet aan de ingang is gekoppeld, wordt er een tijdelijk CWnd object gemaakt en gekoppeld. |
CWnd::FromHandlePermanent |
Retourneert een aanwijzer naar een CWnd object wanneer een ingang aan een venster wordt gegeven. |
CWnd::get_accChild |
Aangeroepen door het framework om het adres van een IDispatch-interface voor het opgegeven onderliggende element op te halen. |
CWnd::get_accChildCount |
Wordt aangeroepen door het framework om het aantal onderliggende items op te halen dat bij dit object hoort. |
CWnd::get_accDefaultAction |
Aangeroepen door het framework om een tekenreeks op te halen die de standaardactie van het object beschrijft. |
CWnd::get_accDescription |
Aangeroepen door framework om een tekenreeks op te halen die het uiterlijk van het opgegeven object beschrijft. |
CWnd::get_accFocus |
Aangeroepen door het framework om het object met de toetsenbordfocus op te halen. |
CWnd::get_accHelp |
Aangeroepen door het framework om de Help-eigenschapstekenreeks van een object op te halen. |
CWnd::get_accHelpTopic |
Wordt aangeroepen door het framework om het volledige pad op te halen van het WinHelp-bestand dat is gekoppeld aan het opgegeven object en de id van het juiste onderwerp in dat bestand. |
CWnd::get_accKeyboardShortcut |
Aangeroepen door het framework om de sneltoets of toegangssleutel van het opgegeven object op te halen. |
CWnd::get_accName |
Aangeroepen door het framework om de naam van het opgegeven object op te halen. |
CWnd::get_accParent |
Aangeroepen door het framework om de interface van het IDispatch bovenliggende object op te halen. |
CWnd::get_accRole |
Wordt aangeroepen door het framework om informatie op te halen die de rol van het opgegeven object beschrijft. |
CWnd::get_accSelection |
Aangeroepen door het framework om de geselecteerde onderliggende elementen van dit object op te halen. |
CWnd::get_accState |
Aangeroepen door het framework om de huidige status van het opgegeven object op te halen. |
CWnd::get_accValue |
Aangeroepen door het framework om de waarde van het opgegeven object op te halen. |
CWnd::GetActiveWindow |
Hiermee wordt het actieve venster opgehaald. |
CWnd::GetAncestor |
Hiermee wordt het bovenliggende vensterobject van het opgegeven venster opgehaald. |
CWnd::GetCapture |
Hiermee haalt u de CWnd muisopname op. |
CWnd::GetCaretPos |
Haalt de clientcoördinaten op van de huidige positie van de caret. |
CWnd::GetCheckedRadioButton |
Retourneert de id van het momenteel ingeschakelde keuzerondje in een groep knoppen. |
CWnd::GetClientRect |
Hiermee haalt u de afmetingen van het CWnd clientgebied op. |
CWnd::GetClipboardOwner |
Hiermee haalt u een aanwijzer op naar de huidige eigenaar van het Klembord. |
CWnd::GetClipboardViewer |
Hiermee wordt een aanwijzer opgehaald naar het eerste venster in de keten van klembordviewers. |
CWnd::GetControlUnknown |
Hiermee wordt een aanwijzer opgehaald naar een onbekend ActiveX-besturingselement. |
CWnd::GetDC |
Hiermee haalt u een weergavecontext voor het clientgebied op. |
CWnd::GetDCEx |
Hiermee haalt u een weergavecontext voor het clientgebied op en schakelt u knipsels in tijdens het tekenen. |
CWnd::GetDCRenderTarget |
Hiermee wordt het doel van de apparaatcontext (DC) voor het CWnd venster opgehaald. |
CWnd::GetDescendantWindow |
Doorzoekt alle onderliggende vensters en retourneert het venster met de opgegeven id. |
CWnd::GetDesktopWindow |
Hiermee wordt het Windows-bureaubladvenster opgehaald. |
CWnd::GetDlgCtrlID |
Als het CWnd een onderliggend venster is, retourneert het aanroepen van deze functie de id-waarde. |
CWnd::GetDlgItem |
Hiermee haalt u het besturingselement met de opgegeven id op uit het opgegeven dialoogvenster. |
CWnd::GetDlgItemInt |
Hiermee wordt de tekst van een besturingselement in het opgegeven dialoogvenster omgezet in een geheel getal. |
CWnd::GetDlgItemText |
Hiermee haalt u het bijschrift of de tekst op die aan een besturingselement is gekoppeld. |
CWnd::GetDSCCursor |
Hiermee wordt een aanwijzer opgehaald naar de onderliggende cursor die is gedefinieerd door de eigenschappen DataSource, UserName, Password en SQL van een gegevensbronbesturingselement. |
CWnd::GetDynamicLayout |
Hiermee haalt u een aanwijzer op naar het dynamische indelingsbeheerobject. |
CWnd::GetExStyle |
Retourneert de uitgebreide stijl van het venster. |
CWnd::GetFocus |
Hiermee haalt u de CWnd invoerfocus op die momenteel beschikbaar is. |
CWnd::GetFont |
Hiermee wordt het huidige lettertype opgehaald. |
CWnd::GetForegroundWindow |
Retourneert een aanwijzer naar het voorgrondvenster (het venster op het hoogste niveau waarmee de gebruiker momenteel werkt). |
CWnd::GetIcon |
Hiermee haalt u de greep op een pictogram op. |
CWnd::GetLastActivePopup |
Bepaalt welk pop-upvenster het CWnd laatst actief was. |
CWnd::GetLayeredWindowAttributes |
Haalt de dekkings- en transparantiekleursleutel van een gelaagd venster op. |
CWnd::GetMenu |
Hiermee wordt een aanwijzer naar het opgegeven menu opgehaald. |
CWnd::GetNextDlgGroupItem |
Hiermee wordt gezocht naar het volgende (of vorige) besturingselement binnen een groep besturingselementen. |
CWnd::GetNextDlgTabItem |
Hiermee haalt u het eerste besturingselement op met de WS_TABSTOP stijl die volgt (of voorafgaat) aan het opgegeven besturingselement. |
CWnd::GetNextWindow |
Retourneert het volgende (of vorige) venster in de lijst met vensterbeheer. |
CWnd::GetOleControlSite |
Haalt de aangepaste site voor het opgegeven ActiveX-besturingselement op. |
CWnd::GetOpenClipboardWindow |
Hiermee wordt een aanwijzer opgehaald naar het venster waarop het Klembord momenteel is geopend. |
CWnd::GetOwner |
Hiermee wordt een aanwijzer opgehaald naar de eigenaar van een CWnd. |
CWnd::GetParent |
Hiermee wordt het bovenliggende venster van CWnd (indien van toepassing) opgehaald. |
CWnd::GetParentFrame |
Hiermee wordt het bovenliggende framevenster van het CWnd object opgehaald. |
CWnd::GetParentOwner |
Retourneert een aanwijzer naar het bovenliggende venster van een onderliggend venster. |
CWnd::GetProperty |
Hiermee haalt u een ActiveX-besturingselementeigenschap op. |
CWnd::GetRenderTarget |
Hiermee haalt u een renderdoel op dat aan dit venster is gekoppeld. |
CWnd::GetSafeHwnd |
Retourneert m_hWndof NULL als de this aanwijzer NULL is. |
CWnd::GetSafeOwner |
Haalt de veilige eigenaar voor het opgegeven venster op. |
CWnd::GetScrollBarCtrl |
Hiermee wordt een besturingselement voor de schuifbalk op hetzelfde niveau geretourneerd. |
CWnd::GetScrollBarInfo |
Haalt informatie over de opgegeven schuifbalk op. |
CWnd::GetScrollInfo |
Haalt de informatie op die de SCROLLINFO structuur over een schuifbalk onderhoudt. |
CWnd::GetScrollLimit |
Hiermee haalt u de limiet van de schuifbalk op. |
CWnd::GetScrollPos |
Hiermee haalt u de huidige positie van een schuifvak op. |
CWnd::GetScrollRange |
Hiermee kopieert u de huidige minimale en maximale schuifbalkposities voor de opgegeven schuifbalk. |
CWnd::GetStyle |
Retourneert de huidige vensterstijl. |
CWnd::GetSystemMenu |
Hiermee heeft de toepassing toegang tot het menu Control voor het kopiëren en wijzigen. |
CWnd::GetTitleBarInfo |
Haalt informatie over de opgegeven titelbalk op. |
CWnd::GetTopLevelFrame |
Hiermee wordt het framevenster op het hoogste niveau van het venster opgehaald. |
CWnd::GetTopLevelOwner |
Hiermee haalt u het venster op het hoogste niveau op. |
CWnd::GetTopLevelParent |
Haalt het bovenliggende item op het hoogste niveau van het venster op. |
CWnd::GetTopWindow |
Retourneert het eerste onderliggende venster dat deel uitmaakt van het CWnd. |
CWnd::GetUpdateRect |
Haalt de coördinaten op van de kleinste rechthoek die het CWnd updategebied volledig omsluit. |
CWnd::GetUpdateRgn |
Haalt de CWnd updateregio op. |
CWnd::GetWindow |
Retourneert het venster met de opgegeven relatie met dit venster. |
CWnd::GetWindowContextHelpId |
Haalt de Help-context-id op. |
CWnd::GetWindowDC |
Hiermee wordt de weergavecontext voor het hele venster opgehaald, inclusief de bijschriftbalk, menu's en schuifbalken. |
CWnd::GetWindowedChildCount |
Retourneert het aantal gekoppelde onderliggende vensters. |
CWnd::GetWindowInfo |
Retourneert informatie over het venster. |
CWnd::GetWindowlessChildCount |
Retourneert het aantal gekoppelde vensters zonder venster. |
CWnd::GetWindowPlacement |
Haalt de weergavestatus en de normale (herstelde), geminimaliseerde en gemaximaliseerde posities van een venster op. |
CWnd::GetWindowRect |
Hiermee haalt u de schermcoördinaten van CWnd. |
CWnd::GetWindowRgn |
Hiermee haalt u een kopie van het venstergebied van een venster op. |
CWnd::GetWindowText |
Retourneert de titel van het venster of de titel van het bijschrift (als deze een titel heeft). |
CWnd::GetWindowTextLength |
Retourneert de lengte van de tekst- of bijschrifttitel van het venster. |
CWnd::HideCaret |
Verbergt de caret door deze te verwijderen uit het scherm. |
CWnd::HiliteMenuItem |
Markeert of verwijdert de markering uit een menu-item op het hoogste niveau (menubalk). |
CWnd::HtmlHelp |
Aangeroepen om de HTMLHelp-toepassing te initiëren. |
CWnd::Invalidate |
Ongeldig het gehele clientgebied. |
CWnd::InvalidateRect |
Ongeldig het clientgebied binnen de opgegeven rechthoek door die rechthoek toe te voegen aan het huidige updategebied. |
CWnd::InvalidateRgn |
Ongeldig het clientgebied binnen de opgegeven regio door die regio toe te voegen aan de huidige updateregio. |
CWnd::InvokeHelper |
Roept een ActiveX-besturingsmethode of -eigenschap aan. |
CWnd::IsChild |
Geeft aan of CWnd een onderliggend venster of een andere directe afstammeling van het opgegeven venster is. |
CWnd::IsD2DSupportEnabled |
Bepaalt of D2D-ondersteuning is ingeschakeld. |
CWnd::IsDialogMessage |
Bepaalt of het opgegeven bericht is bedoeld voor het modusloze dialoogvenster en, indien dat het het is, verwerkt. |
CWnd::IsDlgButtonChecked |
Bepaalt of een knop besturingselement is ingeschakeld. |
CWnd::IsDynamicLayoutEnabled |
Bepaalt of dynamische indeling is ingeschakeld in dit venster. Als dynamische indeling is ingeschakeld, kan de positie en grootte van onderliggende vensters veranderen wanneer de gebruiker de grootte van het bovenliggende venster wijzigt. |
CWnd::IsIconic |
Bepaalt of CWnd het geminimaliseerd (iconisch) is. |
CWnd::IsTouchWindow |
Hiermee geeft u op of CWnd aanraakondersteuning wordt geboden. |
CWnd::IsWindowEnabled |
Bepaalt of het venster is ingeschakeld voor muis- en toetsenbordinvoer. |
CWnd::IsWindowVisible |
Bepaalt of het venster zichtbaar is. |
CWnd::IsZoomed |
Bepaalt of CWnd deze is gemaximaliseerd. |
CWnd::KillTimer |
Doodt een systeemtimer. |
CWnd::LockWindowUpdate |
Hiermee schakelt u de tekening uit of schakelt u deze opnieuw in het opgegeven venster uit. |
CWnd::MapWindowPoints |
Converteert (kaarten) een set punten van de coördinaatruimte van de CWnd coördinaatruimte naar de coördinaatruimte van een ander venster. |
CWnd::MessageBox |
Hiermee maakt en geeft u een venster weer dat een bericht en bijschrift bevat dat door de toepassing is opgegeven. |
CWnd::ModifyStyle |
Hiermee wijzigt u de huidige vensterstijl. |
CWnd::ModifyStyleEx |
Hiermee wijzigt u de uitgebreide stijl van het venster. |
CWnd::MoveWindow |
Wijzigt de positie en afmetingen van CWnd. |
CWnd::NotifyWinEvent |
Geeft het systeem aan dat er een vooraf gedefinieerde gebeurtenis is opgetreden. |
CWnd::OnAmbientProperty |
Omgevingseigenschapswaarden implementeren. |
CWnd::OnDrawIconicThumbnailOrLivePreview |
Wordt aangeroepen door het framework wanneer er een bitmap moet worden opgehaald die moet worden weergegeven op de miniatuur van het windows 7-tabblad of op de client voor een korte weergave van de toepassing. |
CWnd::OnHelp |
Verwerkt F1 Help binnen de toepassing (met behulp van de huidige context). |
CWnd::OnHelpFinder |
Verwerkt de ID_HELP_FINDER en ID_DEFAULT_HELP opdrachten. |
CWnd::OnHelpIndex |
Verwerkt de ID_HELP_INDEX opdracht en biedt een standaard-Help-onderwerp. |
CWnd::OnHelpUsing |
Hiermee wordt de ID_HELP_USING opdracht afgehandeld. |
CWnd::OnToolHitTest |
Bepaalt of een punt zich in de begrenzingsrechthoek van het opgegeven hulpmiddel bevindt en informatie over het hulpprogramma ophaalt. |
CWnd::OpenClipboard |
Hiermee opent u het Klembord. Andere toepassingen kunnen het Klembord pas wijzigen als de Windows-functie CloseClipboard wordt aangeroepen. |
CWnd::PaintWindowlessControls |
Hiermee tekent u vensterloze besturingselementen in de besturingscontainer. |
CWnd::PostMessage |
Plaatst een bericht in de toepassingswachtrij en wordt vervolgens geretourneerd zonder te wachten tot het venster het bericht heeft verwerkt. |
CWnd::PreCreateWindow |
Aangeroepen vóór het maken van het Windows-venster dat aan dit CWnd object is gekoppeld. |
CWnd::PreSubclassWindow |
Hiermee kunt u andere benodigde subklassen uitvoeren voordat SubclassWindow deze wordt aangeroepen. |
CWnd::PreTranslateMessage |
Wordt gebruikt voor CWinApp het filteren van vensterberichten voordat ze naar de TranslateMessage functies en DispatchMessage Windows worden verzonden. |
CWnd::Print |
Hiermee tekent u het huidige venster in de opgegeven apparaatcontext. |
CWnd::PrintClient |
Hiermee tekent u een venster in de opgegeven apparaatcontext (meestal een printerapparaatcontext). |
CWnd::PrintWindow |
Kopieert een visueel venster naar de opgegeven apparaatcontext, meestal een printerdomeincontroller. |
CWnd::RedrawWindow |
Hiermee werkt u de opgegeven rechthoek of regio in het clientgebied bij. |
CWnd::RegisterTouchWindow |
Windows Touch-ondersteuning registreren/de registratie ervan opheffen. |
CWnd::ReleaseDC |
Hiermee worden client- en vensterapparaatcontexten uitgebracht, zodat ze kunnen worden gebruikt door andere toepassingen. |
CWnd::RepositionBars |
Hiermee verplaatst u besturingsbalken in het clientgebied. |
CWnd::RunModalLoop |
Hiermee worden berichten opgehaald, vertaald of verzonden voor een venster dat de modale status heeft. |
CWnd::ScreenToClient |
Converteert de schermcoördinaten van een bepaald punt of rechthoek op de weergave naar clientcoördinaten. |
CWnd::ScrollWindow |
Hiermee schuift u door de inhoud van het clientgebied. |
CWnd::ScrollWindowEx |
Hiermee schuift u door de inhoud van het clientgebied.
ScrollWindowVergelijkbaar met , met extra functies. |
CWnd::SendChildNotifyLastMsg |
Biedt een meldingsbericht naar een onderliggend venster, vanuit het bovenliggende venster, zodat het onderliggende venster een taak kan verwerken. |
CWnd::SendDlgItemMessage |
Hiermee wordt een bericht verzonden naar het opgegeven besturingselement. |
CWnd::SendMessage |
Hiermee wordt een bericht naar het CWnd object verzonden en wordt pas geretourneerd als het bericht is verwerkt. |
CWnd::SendMessageToDescendants |
Hiermee wordt een bericht verzonden naar alle onderliggende vensters van het venster. |
CWnd::SendNotifyMessage |
Verzendt het opgegeven bericht naar het venster en retourneert zo snel mogelijk, afhankelijk van of de aanroepende thread het venster heeft gemaakt. |
CWnd::SetActiveWindow |
Hiermee wordt het venster geactiveerd. |
CWnd::SetCapture |
Zorgt ervoor dat alle volgende muisinvoer wordt verzonden naar de CWnd. |
CWnd::SetCaretPos |
Hiermee verplaatst u de caret naar een opgegeven positie. |
CWnd::SetClipboardViewer |
Wordt toegevoegd CWnd aan de keten van vensters die worden gewaarschuwd wanneer de inhoud van het Klembord wordt gewijzigd. |
CWnd::SetDlgCtrlID |
Hiermee stelt u het venster of de besturingselement-id voor het venster in (dit kan elk onderliggend venster zijn, niet alleen een besturingselement in een dialoogvenster). |
CWnd::SetDlgItemInt |
Hiermee stelt u de tekst van een besturingselement in op de tekenreeks die een geheel getal vertegenwoordigt. |
CWnd::SetDlgItemText |
Hiermee stelt u het bijschrift of de tekst van een besturingselement in het opgegeven dialoogvenster in. |
CWnd::SetFocus |
Claimt de invoerfocus. |
CWnd::SetFont |
Hiermee stelt u het huidige lettertype in. |
CWnd::SetForegroundWindow |
Hiermee plaatst u de thread die het venster op de voorgrond heeft gemaakt en activeert u het venster. |
CWnd::SetIcon |
Hiermee stelt u de ingang in op een specifiek pictogram. |
CWnd::SetLayeredWindowAttributes |
Hiermee stelt u de dekkings- en transparantiekleursleutel van een gelaagd venster in. |
CWnd::SetMenu |
Hiermee stelt u het menu in op het opgegeven menu. |
CWnd::SetOwner |
Hiermee wijzigt u de eigenaar van een CWnd. |
CWnd::SetParent |
Hiermee wijzigt u het bovenliggende venster. |
CWnd::SetProperty |
Hiermee stelt u een ActiveX-besturingselementeigenschap in. |
CWnd::SetRedraw |
Hiermee kunt u wijzigingen CWnd opnieuw tekenen of voorkomen dat wijzigingen opnieuw worden getekend. |
CWnd::SetScrollInfo |
Hiermee stelt u informatie in over de schuifbalk. |
CWnd::SetScrollPos |
Hiermee stelt u de huidige positie van een schuifvak in en, indien opgegeven, wordt de schuifbalk opnieuw getekend om de nieuwe positie weer te geven. |
CWnd::SetScrollRange |
Hiermee stelt u de minimum- en maximumpositiewaarden voor de opgegeven schuifbalk in. |
CWnd::SetTimer |
Hiermee wordt een systeemtimer geïnstalleerd waarmee een WM_TIMER bericht wordt verzonden wanneer dit wordt geactiveerd. |
CWnd::SetWindowContextHelpId |
Hiermee stelt u de help-context-id in. |
CWnd::SetWindowPlacement |
Hiermee stelt u de weergavestatus en de normale (herstelde), geminimaliseerde en gemaximaliseerde posities voor een venster in. |
CWnd::SetWindowPos |
Hiermee wijzigt u de grootte, positie en volgorde van onderliggende, pop-upvensters en vensters op het hoogste niveau. |
CWnd::SetWindowRgn |
Hiermee stelt u de regio van een venster in. |
CWnd::SetWindowText |
Hiermee stelt u de titel van het venster of bijschrift in op de opgegeven tekst. |
CWnd::ShowCaret |
Geeft de caret weer op de weergave op de huidige positie van de caret. Zodra de caret wordt weergegeven, knippert de caret automatisch. |
CWnd::ShowOwnedPopups |
Hiermee worden alle pop-upvensters weergegeven of verborgen die eigendom zijn van het venster. |
CWnd::ShowScrollBar |
Hiermee wordt een schuifbalk weergegeven of verborgen. |
CWnd::ShowWindow |
Hiermee wordt het venster weergegeven of verborgen. |
CWnd::SubclassDlgItem |
Voegt een Windows-besturingselement toe aan een CWnd object en zorgt ervoor dat berichten worden gerouteerd via de CWndberichttoewijzing. |
CWnd::SubclassWindow |
Hiermee wordt een venster aan een CWnd object gekoppeld en worden berichten doorgestuurd via de CWndberichttoewijzing. |
CWnd::UnlockWindowUpdate |
Hiermee wordt een venster ontgrendeld waarmee is vergrendeld CWnd::LockWindowUpdate. |
CWnd::UnsubclassWindow |
Een venster loskoppelen van een CWnd object |
CWnd::UpdateData |
Initialiseert of haalt gegevens op uit een dialoogvenster. |
CWnd::UpdateDialogControls |
Aanroep om de status van dialoogvensterknoppen en andere besturingselementen bij te werken. |
CWnd::UpdateLayeredWindow |
Hiermee werkt u de positie, grootte, vorm, inhoud en doorzichtigheid van een gelaagd venster bij. |
CWnd::UpdateWindow |
Hiermee wordt het clientgebied bijgewerkt. |
CWnd::ValidateRect |
Valideert het clientgebied in de opgegeven rechthoek door de rechthoek uit de huidige updateregio te verwijderen. |
CWnd::ValidateRgn |
Valideert het clientgebied binnen de opgegeven regio door de regio uit de huidige updateregio te verwijderen. |
CWnd::WindowFromPoint |
Hiermee wordt het venster geïdentificeerd dat het opgegeven punt bevat. |
CWnd::WinHelp |
Aangeroepen om de WinHelp-toepassing te initiëren. |
Beveiligde methoden
| Naam | Description |
|---|---|
CWnd::Default |
Roept de standaardvensterprocedure aan, die standaardverwerking biedt voor vensterberichten die een toepassing niet verwerkt. |
CWnd::DefWindowProc |
Roept de standaardvensterprocedure aan, die standaardverwerking biedt voor vensterberichten die een toepassing niet verwerkt. |
CWnd::DoDataExchange |
Voor het uitwisselen en valideren van dialoogvenstergegevens. Gebeld door UpdateData. |
CWnd::GetCurrentMessage |
Retourneert een aanwijzer naar het bericht dat dit venster momenteel wordt verwerkt. Moet alleen worden aangeroepen in een OnMessage berichtenhandlerlidfunctie. |
CWnd::InitDynamicLayout |
Aangeroepen door het framework om de dynamische indeling voor het venster te initialiseren. |
CWnd::LoadDynamicLayoutResource |
Laadt dynamische indelingsgegevens uit het resourcebestand. |
CWnd::OnActivate |
Wordt aangeroepen wanneer CWnd deze wordt geactiveerd of gedeactiveerd. |
CWnd::OnActivateApp |
Wordt aangeroepen wanneer de toepassing op het punt staat te worden geactiveerd of gedeactiveerd. |
CWnd::OnAppCommand |
Aangeroepen wanneer de gebruiker een gebeurtenis voor de toepassingsopdracht genereert. |
CWnd::OnAskCbFormatName |
Aangeroepen door een Klembord-viewertoepassing wanneer de eigenaar van het Klembord de inhoud van het Klembord weergeeft. |
CWnd::OnCancelMode |
Aangeroepen om CWnd interne modi te annuleren, zoals het vastleggen van de muis. |
CWnd::OnCaptureChanged |
Hiermee wordt een bericht verzonden naar het venster dat de muisopname verliest. |
CWnd::OnChangeCbChain |
Hiermee wordt aangegeven dat een opgegeven venster wordt verwijderd uit de keten. |
CWnd::OnChangeUIState |
Wordt aangeroepen wanneer de gebruikersinterfacestatus moet worden gewijzigd. |
CWnd::OnChar |
Aangeroepen wanneer een toetsaanslag wordt omgezet in een niet-systeemteken. |
CWnd::OnCharToItem |
Aangeroepen door een onderliggend keuzelijstje met de LBS_WANTKEYBOARDINPUT stijl in reactie op een WM_CHAR bericht. |
CWnd::OnChildActivate |
Wordt aangeroepen voor meerdere vensters van de documentinterface (MDI) wanneer de grootte of positie van CWnd wijzigingen wordt gewijzigd of CWnd geactiveerd. |
CWnd::OnChildNotify |
Aangeroepen door een bovenliggend venster om een meldingsbeheer een kans te geven om te reageren op een melding van een besturingselement. |
CWnd::OnClipboardUpdate |
Aangeroepen wanneer de inhoud van het klembord is gewijzigd. |
CWnd::OnClose |
Aangeroepen als een signaal dat CWnd moet worden gesloten. |
CWnd::OnColorizationColorChanged |
Aangeroepen wanneer het renderingbeleid voor het niet-clientgebied is gewijzigd. |
CWnd::OnCommand |
Aangeroepen wanneer de gebruiker een opdracht selecteert. |
CWnd::OnCompacting |
Wordt aangeroepen wanneer Windows detecteert dat het systeemgeheugen laag is. |
CWnd::OnCompareItem |
Wordt aangeroepen om de relatieve positie van een nieuw item in een onderliggende keuzelijst met invoervak of keuzelijst met invoervak te bepalen. |
CWnd::OnCompositionChanged |
Wordt aangeroepen voor alle vensters op het hoogste niveau wanneer de samenstelling van Desktop Window Manager (DWM) is ingeschakeld of uitgeschakeld. |
CWnd::OnContextMenu |
Wordt aangeroepen wanneer de gebruiker op de rechtermuisknop in het venster klikt. |
CWnd::OnCopyData |
Hiermee kopieert u gegevens van de ene toepassing naar de andere. |
CWnd::OnCreate |
Aangeroepen als onderdeel van het maken van vensters. |
CWnd::OnCtlColor |
Aangeroepen als CWnd het bovenliggende element van een besturingselement is wanneer het besturingselement op het punt staat te worden getekend. |
CWnd::OnDeadChar |
Aangeroepen wanneer een toetsaanslag wordt omgezet in een niet-systeem dood teken (zoals accenttekens). |
CWnd::OnDeleteItem |
Wordt aangeroepen wanneer een keuzelijst met invoervak of keuzelijst met invoervak wordt vernietigd of wanneer items uit het besturingselement worden verwijderd. |
CWnd::OnDestroy |
Geroepen wanneer CWnd wordt vernietigd. |
CWnd::OnDestroyClipboard |
Aangeroepen wanneer het Klembord wordt geleegd via een aanroep naar de Windows-functie EmptyClipboard . |
CWnd::OnDeviceChange |
Hiermee wordt een toepassing of apparaatstuurprogramma gemeld van een wijziging in de hardwareconfiguratie van een apparaat of de computer. |
CWnd::OnDevModeChange |
Wordt aangeroepen voor alle vensters op het hoogste niveau wanneer de gebruiker de apparaatmodusinstellingen wijzigt. |
CWnd::OnDrawClipboard |
Aangeroepen wanneer de inhoud van het Klembord wordt gewijzigd. |
CWnd::OnDrawItem |
Wordt aangeroepen wanneer een visueel aspect van een besturingselement voor een onderliggend besturingselement met invoervak, keuzelijstbesturingselement of menu moet worden getekend. |
CWnd::OnDropFiles |
Aangeroepen wanneer de gebruiker de linkermuisknop loslaat over een venster dat zich heeft geregistreerd als ontvanger van verwijderde bestanden. |
CWnd::OnEnable |
Aangeroepen wanneer CWnd is ingeschakeld of uitgeschakeld. |
CWnd::OnEndSession |
Wordt aangeroepen wanneer de sessie wordt beëindigd. |
CWnd::OnEnterIdle |
Wordt aangeroepen om de hoofdvensterprocedure van een toepassing te informeren dat een modaal dialoogvenster of een menu een niet-actieve status invoert. |
CWnd::OnEnterMenuLoop |
Wordt aangeroepen wanneer een modale lus van het menu is ingevoerd. |
CWnd::OnEnterSizeMove |
Aangeroepen nadat het betrokken venster een bewegende of formaat modale lus binnenkomt. |
CWnd::OnEraseBkgnd |
Wordt aangeroepen wanneer de achtergrond van het venster moet worden uitgewricht. |
CWnd::OnExitMenuLoop |
Wordt aangeroepen wanneer een modale lus van het menu is afgesloten. |
CWnd::OnExitSizeMove |
Aangeroepen nadat het betrokken venster een bewegende of formaat modale lus verlaat. |
CWnd::OnFontChange |
Aangeroepen wanneer de groep lettertypebronnen wordt gewijzigd. |
CWnd::OnGetDlgCode |
Wordt aangeroepen voor een besturingselement, zodat het besturingselement de invoer van de pijl-toets en tabtoets zelf kan verwerken. |
CWnd::OnGetMinMaxInfo |
Wordt aangeroepen wanneer Windows de gemaximaliseerde positie of afmetingen moet kennen, of de minimale of maximale traceringsgrootte. |
CWnd::OnHelpInfo |
Aangeroepen door het framework wanneer de gebruiker op de F1-toets drukt. |
CWnd::OnHotKey |
Wordt aangeroepen wanneer de gebruiker op een systeembrede sneltoets drukt. |
CWnd::OnHScroll |
Aangeroepen wanneer de gebruiker op de horizontale schuifbalk van CWnd. |
CWnd::OnHScrollClipboard |
Wordt aangeroepen wanneer de eigenaar van het Klembord de afbeelding van het Klembord moet schuiven, de juiste sectie ongeldig moet maken en de waarden van de schuifbalk moet bijwerken. |
CWnd::OnIconEraseBkgnd |
Geroepen wanneer CWnd wordt geminimaliseerd (iconisch) en de achtergrond van het pictogram moet worden opgevuld voordat het pictogram wordt geschilderd. |
CWnd::OnInitMenu |
Wordt aangeroepen wanneer een menu op het punt staat om actief te worden. |
CWnd::OnInitMenuPopup |
Wordt aangeroepen wanneer een snelmenu op het punt staat om actief te worden. |
CWnd::OnInputDeviceChange |
Wordt aangeroepen wanneer een I/O-apparaat wordt toegevoegd aan of verwijderd uit het systeem. |
CWnd::OnInputLangChange |
Aangeroepen nadat de invoertaal van een toepassing is gewijzigd. |
CWnd::OnInputLangChangeRequest |
Wordt aangeroepen wanneer de gebruiker een nieuwe invoertaal kiest. |
CWnd::OnKeyDown |
Wordt aangeroepen wanneer een niet-systeemsleutel wordt ingedrukt. |
CWnd::OnKeyUp |
Wordt aangeroepen wanneer een niet-systeemsleutel wordt vrijgegeven. |
CWnd::OnKillFocus |
Direct aangeroepen voordat CWnd de invoerfocus verloren gaat. |
CWnd::OnLButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt op de linkermuisknop. |
CWnd::OnLButtonDown |
Wordt aangeroepen wanneer de gebruiker op de linkermuisknop drukt. |
CWnd::OnLButtonUp |
Aangeroepen wanneer de gebruiker de linkermuisknop loslaat. |
CWnd::OnMButtonDblClk |
Wordt aangeroepen wanneer de gebruiker dubbelklikt op de middelste muisknop. |
CWnd::OnMButtonDown |
Wordt aangeroepen wanneer de gebruiker op de middelste muisknop drukt. |
CWnd::OnMButtonUp |
Aangeroepen wanneer de gebruiker de middelste muisknop loslaat. |
CWnd::OnMDIActivate |
Wordt aangeroepen wanneer een onderliggend MDI-venster wordt geactiveerd of gedeactiveerd. |
CWnd::OnMeasureItem |
Wordt aangeroepen voor een keuzelijst met invoervak, keuzelijst of menu-item van eigenaar tekenen wanneer het besturingselement wordt gemaakt.
CWnd informeert Windows over de afmetingen van het besturingselement. |
CWnd::OnMenuChar |
Wordt aangeroepen wanneer de gebruiker op een menumnemonic-teken drukt dat niet overeenkomt met een van de vooraf gedefinieerde nemonics in het huidige menu. |
CWnd::OnMenuDrag |
Wordt aangeroepen wanneer de gebruiker een menu-item begint te slepen. |
CWnd::OnMenuGetObject |
Wordt aangeroepen wanneer de muiscursor een menu-item invoert of van het midden van het item naar de boven- of onderkant van het item gaat. |
CWnd::OnMenuRButtonUp |
Aangeroepen wanneer de gebruiker de rechtermuisknop loslaat terwijl de cursor zich in een menu-item bevindt. |
CWnd::OnMenuSelect |
Wordt aangeroepen wanneer de gebruiker een menu-item selecteert. |
CWnd::OnMouseActivate |
Aangeroepen wanneer de cursor zich in een inactief venster bevindt en de gebruiker op een muisknop drukt. |
CWnd::OnMouseHover |
Aangeroepen wanneer de cursor de muisaanwijzer over het clientgebied van het venster beweegt gedurende de periode die is opgegeven in een voorafgaande aanroep.TrackMouseEvent |
CWnd::OnMouseHWheel |
Wordt aangeroepen wanneer het horizontale schuifwiel van de muis wordt gekanteld of gedraaid. |
CWnd::OnMouseLeave |
Aangeroepen wanneer de cursor het clientgebied verlaat van het venster dat is opgegeven in een voorafgaande aanroep TrackMouseEvent. |
CWnd::OnMouseMove |
Aangeroepen wanneer de muiscursor wordt verplaatst. |
CWnd::OnMouseWheel |
Wordt aangeroepen wanneer een gebruiker het muiswiel draait. Hiermee wordt de verwerking van berichten in Windows NT 4.0 gebruikt. |
CWnd::OnMove |
Aangeroepen nadat de positie van de CWnd functie is gewijzigd. |
CWnd::OnMoving |
Geeft aan dat een gebruiker een CWnd object verplaatst. |
CWnd::OnNcActivate |
Aangeroepen wanneer het niet-clientgebied moet worden gewijzigd om een actieve of inactieve status aan te geven. |
CWnd::OnNcCalcSize |
Wordt aangeroepen wanneer de grootte en positie van het clientgebied moeten worden berekend. |
CWnd::OnNcCreate |
Aangeroepen voordat OnCreate het niet-clientgebied wordt gemaakt. |
CWnd::OnNcDestroy |
Wordt aangeroepen wanneer het niet-clientgebied wordt vernietigd. |
CWnd::OnNcHitTest |
Wordt door Windows aangeroepen telkens wanneer de muis wordt verplaatst als CWnd deze de cursor bevat of de invoer van de muis heeft vastgelegd met SetCapture. |
CWnd::OnNcLButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt op de linkermuisknop terwijl de cursor zich in een niet-clientgebied van CWndbevindt. |
CWnd::OnNcLButtonDown |
Wordt aangeroepen wanneer de gebruiker op de linkermuisknop drukt terwijl de cursor zich in een niet-clientgebied bevindt.CWnd |
CWnd::OnNcLButtonUp |
Aangeroepen wanneer de gebruiker de linkermuisknop loslaat terwijl de cursor zich in een niet-clientgebied van CWndbevindt. |
CWnd::OnNcMButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt op de middelste muisknop terwijl de cursor zich in een niet-clientgebied bevindt.CWnd |
CWnd::OnNcMButtonDown |
Wordt aangeroepen wanneer de gebruiker op de middelste muisknop drukt terwijl de cursor zich in een niet-clientgebied bevindt.CWnd |
CWnd::OnNcMButtonUp |
Aangeroepen wanneer de gebruiker de middelste muisknop loslaat terwijl de cursor zich in een niet-clientgebied van CWndbevindt. |
CWnd::OnNcMouseHover |
Aangeroepen wanneer de cursor de muisaanwijzer boven het niet-clientgebied van het venster beweegt gedurende de periode die is opgegeven in een voorafgaande aanroep.TrackMouseEvent |
CWnd::OnNcMouseLeave |
Het framework roept deze lidfunctie aan wanneer de cursor het niet-clientgebied van het venster verlaat dat is opgegeven in een voorafgaande aanroep.TrackMouseEvent |
CWnd::OnNcMouseMove |
Aangeroepen wanneer de cursor wordt verplaatst binnen een niet-clientgebied van CWnd. |
CWnd::OnNcPaint |
Wordt aangeroepen wanneer het niet-clientgebied schilderen nodig heeft. |
CWnd::OnNcRButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt op de rechtermuisknop terwijl de cursor zich in een niet-clientgebied van CWndbevindt. |
CWnd::OnNcRButtonDown |
Wordt aangeroepen wanneer de gebruiker op de rechtermuisknop drukt terwijl de cursor zich in een niet-clientgebied bevindt.CWnd |
CWnd::OnNcRButtonUp |
Wordt aangeroepen wanneer de gebruiker de rechtermuisknop loslaat terwijl de cursor zich in een niet-clientgebied bevindt.CWnd |
CWnd::OnNcRenderingChanged |
Aangeroepen wanneer het renderingbeleid voor het niet-clientgebied is gewijzigd. |
CWnd::OnNcXButtonDblClk |
Wordt aangeroepen wanneer de gebruiker dubbelklikt XBUTTON1 of XBUTTON2 terwijl de cursor zich in het niet-clientgebied van een venster bevindt. |
CWnd::OnNcXButtonDown |
Aangeroepen wanneer de gebruiker op of XBUTTON2 van de muis drukt XBUTTON1 terwijl de cursor zich in het niet-clientgebied van een venster bevindt. |
CWnd::OnNcXButtonUp |
Wordt aangeroepen wanneer de gebruiker of XBUTTON2 de muis loslaat XBUTTON1 terwijl de cursor zich in het niet-clientgebied van een venster bevindt. |
CWnd::OnNextMenu |
Aangeroepen wanneer de pijl-rechts of pijl-links wordt gebruikt om te schakelen tussen de menubalk en het systeemmenu. |
CWnd::OnNotify |
Aangeroepen door het framework om een bovenliggend venster te informeren dat er een gebeurtenis is opgetreden in een van de besturingselementen of dat het besturingselement informatie nodig heeft. |
CWnd::OnNotifyFormat |
Wordt aangeroepen om te bepalen of het huidige venster ANSI- of Unicode-structuren in het WM_NOTIFY meldingsbericht accepteert. |
CWnd::OnPaint |
Wordt aangeroepen om een deel van het venster opnieuw te gebruiken. |
CWnd::OnPaintClipboard |
Aangeroepen wanneer het clientgebied van de Klembord-viewer opnieuw moet worden geschilderd. |
CWnd::OnPaletteChanged |
Wordt aangeroepen om vensters toe te staan die gebruikmaken van een kleurenpalet om hun logische paletten te realiseren en hun clientgebieden bij te werken. |
CWnd::OnPaletteIsChanging |
Informeert andere toepassingen wanneer een toepassing het logische palet gaat realiseren. |
CWnd::OnParentNotify |
Wordt aangeroepen wanneer een onderliggend venster wordt gemaakt of vernietigd, of wanneer de gebruiker op een muisknop klikt terwijl de cursor zich boven het onderliggende venster bevindt. |
CWnd::OnPowerBroadcast |
Wordt aangeroepen wanneer er een energiebeheergebeurtenis plaatsvindt. |
CWnd::OnQueryDragIcon |
Wordt aangeroepen wanneer een geminimaliseerde (iconische) CWnd gebruiker op het punt staat te worden gesleept. |
CWnd::OnQueryEndSession |
Wordt aangeroepen wanneer de gebruiker ervoor kiest om de Windows-sessie te beëindigen. |
CWnd::OnQueryNewPalette |
Informeert CWnd dat het gaat om het ontvangen van de invoerfocus. |
CWnd::OnQueryOpen |
Aangeroepen wanneer CWnd een pictogram is en de gebruiker vraagt of het pictogram moet worden geopend. |
CWnd::OnQueryUIState |
Wordt aangeroepen om de gebruikersinterfacestatus (UI) voor een venster op te halen. |
CWnd::OnRawInput |
Aangeroepen wanneer het huidige venster onbewerkte invoer krijgt. |
CWnd::OnRButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt op de rechtermuisknop. |
CWnd::OnRButtonDown |
Wordt aangeroepen wanneer de gebruiker op de rechtermuisknop drukt. |
CWnd::OnRButtonUp |
Aangeroepen wanneer de gebruiker de rechtermuisknop loslaat. |
CWnd::OnRenderAllFormats |
Aangeroepen wanneer de eigenaartoepassing wordt vernietigd en alle indelingen moet weergeven. |
CWnd::OnRenderFormat |
De eigenaar van het Klembord wordt aangeroepen wanneer een bepaalde indeling met vertraagde rendering moet worden weergegeven. |
CWnd::OnSessionChange |
Wordt aangeroepen om een toepassing op de hoogte te stellen van een wijziging in sessiestatus. |
CWnd::OnSetCursor |
Aangeroepen als de invoer van de muis niet wordt vastgelegd en de muis de cursorverplaatsing binnen een venster veroorzaakt. |
CWnd::OnSetFocus |
Aangeroepen nadat CWnd de invoerfocus is behaald. |
CWnd::OnSettingChange |
Aangeroepen wanneer de Win32-functie SystemParametersInfo een systeembrede instelling wijzigt. |
CWnd::OnShowWindow |
Wordt aangeroepen wanneer CWnd moet worden verborgen of weergegeven. |
CWnd::OnSize |
Aangeroepen nadat de grootte CWnd is gewijzigd. |
CWnd::OnSizeClipboard |
Aangeroepen wanneer de grootte van het clientgebied van het Klembord-viewervenster is gewijzigd. |
CWnd::OnSizing |
Geeft aan dat de gebruiker de grootte van de rechthoek wijzigt. |
CWnd::OnSpoolerStatus |
Wordt aangeroepen vanuit Afdrukbeheer wanneer een taak wordt toegevoegd aan of verwijderd uit de afdrukbeheerwachtrij. |
CWnd::OnStyleChanged |
Geeft aan dat de SetWindowLong Windows-functie een of meer van de stijlen van het venster heeft gewijzigd. |
CWnd::OnStyleChanging |
Geeft aan dat de SetWindowLong Windows-functie op het punt staat een of meer stijlen van het venster te wijzigen. |
CWnd::OnSysChar |
Aangeroepen wanneer een toetsaanslag wordt omgezet in een systeemteken. |
CWnd::OnSysColorChange |
Wordt aangeroepen voor alle vensters op het hoogste niveau wanneer er een wijziging wordt aangebracht in de systeemkleurinstelling. |
CWnd::OnSysCommand |
Wordt aangeroepen wanneer de gebruiker een opdracht selecteert in het menu Control of wanneer de gebruiker de knop Maximaliseren of Minimaliseren selecteert. |
CWnd::OnSysDeadChar |
Wordt aangeroepen wanneer een toetsaanslag wordt omgezet in een systeem dood teken (zoals accenttekens). |
CWnd::OnSysKeyDown |
Wordt aangeroepen wanneer de gebruiker de Alt-toets ingedrukt houdt en vervolgens op een andere toets drukt. |
CWnd::OnSysKeyUp |
Wordt aangeroepen wanneer de gebruiker een toets loslaat die werd ingedrukt terwijl de Alt-toets werd ingedrukt. |
CWnd::OnTCard |
Wordt aangeroepen wanneer de gebruiker op een ontwerpbare knop klikt. |
CWnd::OnTimeChange |
Wordt aangeroepen voor alle vensters op het hoogste niveau nadat de systeemtijd is gewijzigd. |
CWnd::OnTimer |
Aangeroepen na elk interval dat is opgegeven in SetTimer. |
CWnd::OnTouchInput |
Eén invoer verwerken vanuit Windows Touch. |
CWnd::OnTouchInputs |
Invoer van Windows Touch verwerken. |
CWnd::OnUniChar |
Wordt aangeroepen wanneer een toets wordt ingedrukt. Dat wil gezegd, het huidige venster heeft de toetsenbordfocus en een WM_KEYDOWN bericht wordt vertaald door de TranslateMessage functie. |
CWnd::OnUnInitMenuPopup |
Wordt aangeroepen wanneer een vervolgkeuzemenu of submenu is vernietigd. |
CWnd::OnUpdateUIState |
Wordt aangeroepen om de gebruikersinterfacestatus (UI) voor het opgegeven venster en alle onderliggende vensters te wijzigen. |
CWnd::OnUserChanged |
Aangeroepen nadat de gebruiker zich heeft aangemeld of uitgeschakeld. |
CWnd::OnVKeyToItem |
Aangeroepen door een keuzelijst die eigendom is van CWnd een WM_KEYDOWN bericht. |
CWnd::OnVScroll |
Wordt aangeroepen wanneer de gebruiker op de verticale schuifbalk van het venster klikt. |
CWnd::OnVScrollClipboard |
Wordt aangeroepen wanneer de eigenaar door de afbeelding van het Klembord moet schuiven, de juiste sectie ongeldig moet maken en de waarden van de schuifbalk moet bijwerken. |
CWnd::OnWindowPosChanged |
Aangeroepen wanneer de grootte, positie of Z-volgorde is gewijzigd als gevolg van een aanroep naar SetWindowPos of een andere functie voor vensterbeheer. |
CWnd::OnWindowPosChanging |
Wordt aangeroepen wanneer de grootte, positie of Z-volgorde wordt gewijzigd als gevolg van een aanroep naar SetWindowPos of een andere functie voor vensterbeheer. |
CWnd::OnWinIniChange |
Wordt aangeroepen voor alle vensters op het hoogste niveau nadat het Windows-initialisatiebestand is WIN.INIgewijzigd. |
CWnd::OnWndMsg |
Geeft aan of een windows-bericht is verwerkt. |
CWnd::OnXButtonDblClk |
Aangeroepen wanneer de gebruiker dubbelklikt XBUTTON1 of XBUTTON2 terwijl de cursor zich in het clientgebied van een venster bevindt. |
CWnd::OnXButtonDown |
Aangeroepen wanneer de gebruiker op XBUTTON1XBUTTON2 of terwijl de cursor zich in het clientgebied van een venster bevindt. |
CWnd::OnXButtonUp |
Aangeroepen wanneer de gebruiker vrijgeeft XBUTTON1 of XBUTTON2 terwijl de cursor zich in het clientgebied van een venster bevindt. |
CWnd::PostNcDestroy |
Deze virtuele functie wordt aangeroepen met de standaardfunctie OnNcDestroy nadat het venster is vernietigd. |
CWnd::ReflectChildNotify |
Helperfunctie, die een bericht aangeeft aan de bron. |
CWnd::ReflectLastMsg |
Geeft het laatste bericht weer in het onderliggende venster. |
CWnd::ResizeDynamicLayout |
Aangeroepen door het framework wanneer de venstergrootte verandert om de indeling van onderliggende vensters aan te passen, als dynamische indeling is ingeschakeld voor het venster. |
CWnd::WindowProc |
Biedt een vensterprocedure voor een CWnd. Standaard worden berichten verzonden via de berichttoewijzing. |
Openbare operators
| Naam | Description |
|---|---|
CWnd::operator HWND |
Oproep om een ingang naar een venster te krijgen. |
CWnd::operator != |
Bepaalt of een venster niet hetzelfde is als het venster waarvan de greep is m_hWnd. |
CWnd::operator == |
Bepaalt of een venster hetzelfde is als het venster waarvan de greep is m_hWnd. |
Publieke dataleden
| Naam | Description |
|---|---|
CWnd::m_hWnd |
Geeft de HWND aan die CWnderaan is gekoppeld. |
Opmerkingen
Een CWnd object verschilt van een Windows-venster, maar de twee zijn nauw gekoppeld. Een CWnd object wordt gemaakt of vernietigd door de CWnd constructor en destructor. Het Windows-venster is daarentegen een gegevensstructuur die intern is voor Windows die wordt gemaakt door een Create lidfunctie en wordt vernietigd door de CWnd virtuele destructor. De DestroyWindow functie vernietigt het Windows-venster zonder het object te vernietigen.
De CWnd klasse en het mechanisme voor berichttoewijzing verbergen de WndProc functie. Binnenkomende Windows-meldingsberichten worden automatisch doorgestuurd via de berichttoewijzing naar de juiste functies voor leden van het berichtCWnd. U overschrijft een functie OnMessage-lid om het specifieke bericht van een lid in uw afgeleide klassen af te handelen.
Met de CWnd klasse kunt u ook een windows-onderliggend venster voor uw toepassing maken. Een klasse afleiden van CWnden vervolgens lidvariabelen toevoegen aan de afgeleide klasse om gegevens op te slaan die specifiek zijn voor uw toepassing. Implementeer berichtenhandlerlidfuncties en een berichttoewijzing in de afgeleide klasse om op te geven wat er gebeurt wanneer berichten naar het venster worden omgeleid.
U maakt in twee stappen een onderliggend venster. Roep eerst de constructor CWnd aan om het CWnd object samen te stellen, roep vervolgens de Create lidfunctie aan om het onderliggende venster te maken en deze aan het CWnd object te koppelen.
Wanneer de gebruiker uw kindvenster beëindigt, vernietigt u het CWnd object of roept u de DestroyWindow lidfunctie aan om het venster te verwijderen en de gegevensstructuren te vernietigen.
In de Microsoft Foundation Class Library worden verdere klassen afgeleid van CWnd waaruit specifieke venstertypen kunnen worden opgegeven. Veel van deze klassen, waaronder CFrameWnd, CMDIFrameWnd, CMDIChildWnd, , CViewen CDialog, zijn ontworpen voor verdere afleiding. De besturingsklassen die zijn afgeleid van CWnd, zoals CButton, kunnen rechtstreeks worden gebruikt of kunnen worden gebruikt voor verdere afleiding van klassen.
Zie en Vensterobjecten voor meer informatie over het gebruikCWndFrame Windows.
Overnamehiërarchie
CWnd
Requirements
Koptekst: afxwin.h
CWnd::accDoDefaultAction
Aangeroepen door het framework om de standaardactie van het object uit te voeren.
virtual HRESULT accDoDefaultAction(VARIANT varChild);
Parameterwaarden
varChild
Hiermee geeft u op of de standaardactie moet worden aangeroepen dat van het object of een van de onderliggende elementen van het object. Deze parameter kan worden CHILDID_SELF (om de standaardactie van het object uit te voeren) of een onderliggende id (om de standaardactie van een van de onderliggende elementen van het object uit te voeren).
Retourwaarde
Retourneert S_OK over succes, een COM-foutcode bij fouten. Zie Retourwaarden in IAccessible::accDoDefaultAction in de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse om de standaardactie van uw object uit te voeren. Zie IAccessible::accDoDefaultAction in de Windows SDK voor meer informatie.
CWnd::accHitTest
Aangeroepen door het framework om het onderliggende element of het onderliggende object op een bepaald punt op het scherm op te halen.
virtual HRESULT accHitTest(
long xLeft,
long yTop,
VARIANT* pvarChild);
Parameterwaarden
xLeft
X-coördinaat van het punt dat moet worden bereikt (in schermeenheden).
yTop
Y-coördinaat van het punt dat moet worden bereikt (in schermeenheden).
pvarChild
Ontvangt informatie over het identificeren van het object op het punt dat is opgegeven door xLeft en yTop. Zie pvarID in IAccessible::accHitTest de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::accHitTest de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::accHitTest .
CWnd::accLocation
Aangeroepen door het framework om de huidige schermlocatie van het opgegeven object op te halen.
virtual HRESULT accLocation(
long* pxLeft,
long* pyTop,
long* pcxWidth,
long* pcyHeight,
VARIANT varChild);
Parameterwaarden
pxLeft
Ontvangt x-coördinaat van de linkerbovenhoek van het object (in schermeenheden).
pyTop
Ontvangt een y-coördinaat van de linkerbovenhoek van het object (in schermeenheden).
pcxWidth
Ontvangt de breedte van het object (in schermeenheden).
pcyHeight
Ontvangt de hoogte van het object (in schermeenheden).
varChild
Hiermee geeft u op of de locatie die moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
Retourwaarde
Retourneert S_OK over succes, een COM-foutcode bij fouten. Zie Retourwaarden in IAccessible::accLocation de Windows SDK.
Opmerkingen
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::accLocation .
CWnd::accNavigate
Aangeroepen door het framework om door te gaan naar een ander element van de gebruikersinterface binnen een container en indien mogelijk, haalt u het object op.
virtual HRESULT accNavigate(
long navDir,
VARIANT varStart,
VARIANT* pvarEndUpAt);
Parameterwaarden
navDir
Hiermee geeft u de richting op om te navigeren. Zie navDir in IAccessible::accNavigate de Windows SDK.
varStart
Hiermee geeft u het beginobject. Zie varStart in IAccessible::accNavigate de Windows SDK.
pvarEndUpAt
Ontvangt informatie over het doelgebruikersinterfaceobject. Zie pvarEnd in IAccessible::accNavigate de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::accNavigate de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::accNavigate .
CWnd::accSelect
Aangeroepen door het framework om de selectie te wijzigen of de toetsenbordfocus van het opgegeven object te verplaatsen.
virtual HRESULT accSelect(
long flagsSelect,
VARIANT varChild);
Parameterwaarden
flagsSelect
Hiermee geeft u op hoe u de huidige selectie of focus kunt wijzigen. Zie flagsSelect in IAccessible::accSelect de Windows SDK.
varChild
Hiermee geeft u het object dat moet worden geselecteerd. Deze parameter kan CHILDID_SELF (om het object zelf te selecteren) of een onderliggende id zijn (als u een van de onderliggende objecten van het object wilt selecteren).
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::accSelect de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::accSelect .
CWnd::AnimateWindow
Produceert speciale effecten bij het weergeven of verbergen van vensters.
BOOL AnimateWindow(
DWORD dwTime,
DWORD dwFlags);
Parameterwaarden
dwTime
Hiermee geeft u op hoe lang het duurt om de animatie af te spelen, in milliseconden. Normaal gesproken duurt het 200 milliseconden om een animatie af te spelen.
dwFlags
Hiermee geeft u het type animatie op. Zie voor een volledige lijst met mogelijke waarden AnimateWindow.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie AnimateWindowgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::ArrangeIconicWindows
Rangschikt alle geminimaliseerde (iconische) kindervensters.
UINT ArrangeIconicWindows();
Retourwaarde
De hoogte van één rij pictogrammen als de functie is geslaagd; anders 0.
Opmerkingen
Deze lidfunctie rangschikt ook pictogrammen in het bureaubladvenster, dat het hele scherm bedekt. Met de GetDesktopWindow lidfunctie wordt een aanwijzer naar het bureaubladvensterobject opgehaald.
Als u iconische MDI-onderliggende vensters in een MDI-clientvenster wilt rangschikken, roept u het aan CMDIFrameWnd::MDIIconArrange.
Example
// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
UINT height = GetParent()->ArrangeIconicWindows();
TRACE(_T("height = %d\n"), height);
}
CWnd::Attach
Een Windows-venster koppelen aan een CWnd object.
BOOL Attach(HWND hWndNew);
Parameterwaarden
hWndNew
Hiermee geeft u een ingang naar een Windows-venster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Example
In dit voorbeeld ziet u hoe u het MDI-clientvenster kunt gebruiken Attach en Detach toewijzen.
// 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
Roep deze lidfunctie aan om een framevenster modaal te maken.
virtual void BeginModalState();
CWnd::BeginPaint
Bereidt zich CWnd voor op schilderen en vult een PAINTSTRUCT gegevensstructuur met informatie over het schilderij.
CDC* BeginPaint(LPPAINTSTRUCT lpPaint);
Parameterwaarden
lpPaint
Verwijst naar de PAINTSTRUCT structuur die betrekking heeft op het ontvangen van schilderinformatie.
Retourwaarde
Identificeert de apparaatcontext voor CWnd. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen buiten het bereik van EndPaint.
Opmerkingen
De verfstructuur bevat een RECT gegevensstructuur met de kleinste rechthoek die het updategebied volledig omsluit en een vlag die aangeeft of de achtergrond is gewist.
De updateregio wordt ingesteld door de Invalidate, InvalidateRectof InvalidateRgn lidfuncties en door het systeem nadat deze is gewijzigd, verplaatst, maakt, schuift of voert een andere bewerking uit die van invloed is op het clientgebied. Als de updateregio is gemarkeerd voor wissen, BeginPaint verzendt u een WM_ONERASEBKGND bericht.
Roep de BeginPaint lidfunctie niet aan, behalve in reactie op een WM_PAINT bericht. Elke aanroep van de BeginPaint lidfunctie moet een overeenkomende aanroep van de EndPaint lidfunctie hebben. Als de caret zich in het gebied bevindt dat moet worden geschilderd, verbergt de BeginPaint lidfunctie automatisch de caret om te voorkomen dat deze wordt gewist.
Example
// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
PAINTSTRUCT ps;
CDC *pDC = BeginPaint(&ps);
pDC->Rectangle(CRect(0, 0, 100, 100));
EndPaint(&ps);
// Do not call CView::OnPaint() for painting messages
}
CWnd::BindDefaultProperty
Verbindt de standaard eenvoudige afhankelijke eigenschap van het aanroepende object (zoals een besturingselement bewerken), zoals gemarkeerd in de typebibliotheek, met de onderliggende cursor die is gedefinieerd door het DataSource, UserNameen Passwordde SQL eigenschappen van het besturingselement voor gegevensbron.
void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
Parameterwaarden
dwDispID
Hiermee geeft u de DISPID eigenschap op van een gegevensgebonden besturingselement dat moet worden gebonden aan een gegevensbronbesturingselement.
vtProp
Hiermee geeft u het type van de eigenschap moet worden gebonden. Bijvoorbeeld, VT_BSTRVT_VARIANTenzovoort.
szFieldName
Hiermee geeft u de naam van de kolom op, in de cursor die wordt geleverd door het besturingselement voor gegevensbron, waaraan de eigenschap wordt gebonden.
pDSCWnd
Verwijst naar het venster dat als host fungeert voor het gegevensbronbesturingselement waaraan de eigenschap is gebonden. Roep GetDlgItem de resource-id van het hostvenster van de DCS aan om deze aanwijzer op te halen.
Opmerkingen
Het CWnd object waarop u deze functie aanroept, moet een gegevensgebonden besturingselement zijn.
Example
BindDefaultProperty kan worden gebruikt in de volgende context:
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
Hiermee wordt een aan cursor gebonden eigenschap gekoppeld aan een gegevensgebonden besturingselement (zoals een rasterbesturingselement) aan een gegevensbronbesturingselement en wordt die relatie met de MFC-bindingsbeheerder geregistreerd.
void BindProperty(
DISPID dwDispId,
CWnd* pWndDSC);
Parameterwaarden
dwDispId
Hiermee geeft u de DISPID eigenschap op van een gegevensgebonden besturingselement dat moet worden gebonden aan een gegevensbronbesturingselement.
pWndDSC
Verwijst naar het venster dat als host fungeert voor het gegevensbronbesturingselement waaraan de eigenschap is gebonden. Roep GetDlgItem de resource-id van het hostvenster van de DCS aan om deze aanwijzer op te halen.
Opmerkingen
Het CWnd object waarop u deze functie aanroept, moet een gegevensgebonden besturingselement zijn.
Example
BindProperty kan worden gebruikt in de volgende context:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
pMyBound->BindProperty(0x1, pDSC);
return TRUE;
}
CWnd::BringWindowToTop
Komt CWnd boven aan een stapel overlappende vensters.
void BringWindowToTop();
Opmerkingen
Daarnaast BringWindowToTop worden pop-upvensters, vensters op het hoogste niveau en MDI-onderliggende vensters geactiveerd. De BringWindowToTop lidfunctie moet worden gebruikt om elk venster te ontdekken dat gedeeltelijk of volledig wordt bedekt door overlappende vensters.
Met deze functie wordt alleen de Win32-functie BringWindowToTop aangeroepen. Roep de SetWindowPos functie aan om de positie van een venster in de Z-volgorde te wijzigen. De BringWindowToTop functie wijzigt de vensterstijl niet zodat deze een venster op het hoogste niveau wordt. Zie Wat is het verschil tussen HWND_TOP en HWND_TOPMOST
Example
// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
GetParentFrame()->BringWindowToTop();
}
CWnd::CalcWindowRect
Berekent de rechthoek van het venster dat de opgegeven clientrechthoek kan bevatten.
virtual void CalcWindowRect(
LPRECT lpClientRect,
UINT nAdjustType = adjustBorder);
Parameterwaarden
lpClientRect
[in, uit] Aanwijzer naar een rechthoekstructuur. Bij invoer bevat deze structuur de clientrechthoek. Nadat de methode is voltooid, bevat deze structuur de vensterrechthoek die de opgegeven clientrechthoek kan bevatten.
nAdjustType
[in] Gebruik CWnd::adjustBorder deze functie om venstercoördinaten zonder de WS_EX_CLIENTEDGE stijl te berekenen. Gebruik CWnd::adjustOutsideanders .
Opmerkingen
De grootte van de rechthoek van het berekende venster bevat geen ruimte voor een menubalk.
Zie AdjustWindowRectExvoor meer gebruiksbeperkingen.
Example
// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
CFrameWnd *pFrameWnd = new CFrameWnd;
CRect myRect;
GetClientRect(myRect);
pFrameWnd->Create(NULL, _T("My Frame"));
pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
pFrameWnd->ShowWindow(SW_SHOW);
}
CWnd::CancelToolTips
Roep deze lidfunctie aan om een knopinfo uit het scherm te verwijderen als er momenteel een knopinfo wordt weergegeven.
static void PASCAL CancelToolTips(BOOL bKeys = FALSE);
Parameterwaarden
bKeys
TRUE om knoptips te annuleren wanneer op een toets wordt gedrukt en de tekst van de statusbalk op de standaardinstelling wordt ingesteld; anders FALSE.
Opmerkingen
Opmerking
Het gebruik van deze lidfunctie heeft geen effect op knoptips die worden beheerd door uw code. Dit is alleen van invloed op het besturingselement voor knopinfo dat wordt beheerd door CWnd::EnableToolTips.
Example
// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
CRect corner(0, 0, 10, 10);
if (corner.PtInRect(point))
CancelToolTips();
CEdit::OnMouseMove(nFlags, point);
}
CWnd::CenterWindow
Centreert een venster ten opzichte van het bovenliggende venster.
void CenterWindow(CWnd* pAlternateOwner = NULL);
Parameterwaarden
pAlternateOwner
Wijs een alternatief venster aan ten opzichte waarvan het wordt gecentreerd (behalve het bovenliggende venster).
Opmerkingen
Meestal worden dialoogvensters van CDialog::OnInitDialog naar midden aangeroepen ten opzichte van het hoofdvenster van de toepassing. Standaard centreert de functie onderliggende vensters ten opzichte van het bovenliggende venster en pop-upvensters ten opzichte van de eigenaar. Als het pop-upvenster niet eigendom is van het venster, wordt het gecentreerd ten opzichte van het scherm. Als u een venster wilt centreren ten opzichte van een specifiek venster dat niet de eigenaar of het bovenliggende element is, kan de pAlternateOwner parameter worden ingesteld op een geldig venster. Als u het centreren ten opzichte van het scherm wilt afdwingen, geeft u de waarde door die wordt CWnd::GetDesktopWindow geretourneerd als pAlternateOwner.
Example
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
return TRUE;
}
CWnd::ChangeClipboardChain
Verwijdert uit de keten van Klembordviewers CWnd en maakt het venster dat is opgegeven door hWndNext de afstammeling van de CWnd bovenliggende voorouder in de keten.
BOOL ChangeClipboardChain(HWND hWndNext);
Parameterwaarden
hWndNext
Hiermee wordt het venster geïdentificeerd dat volgt CWnd in de keten Klembordviewer.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
CWnd::CheckDlgButton
Selecteert (plaatst een vinkje naast) of wist (verwijdert een vinkje uit) een knop of wijzigt de status van een knop met drie statussen.
void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parameterwaarden
nIDButton
Hiermee geeft u de knop die moet worden gewijzigd.
nCheck
Hiermee geeft u de actie op die moet worden uitgevoerd. Als nCheck het niet-nul is, plaatst de CheckDlgButton lidfunctie een vinkje naast de knop. Als 0, wordt het vinkje verwijderd. Voor knoppen met drie statussen, indien nCheck 2, is de knopstatus onbepaald.
Opmerkingen
De CheckDlgButton functie verzendt een BM_SETCHECK bericht naar de opgegeven knop.
Example
// Sets 3 check buttons in various ways. Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
CheckDlgButton(IDC_CHECK1, BST_UNCHECKED); // 0
CheckDlgButton(IDC_CHECK2, BST_CHECKED); // 1
CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}
CWnd::CheckRadioButton
Selecteert (voegt een vinkje toe aan) een bepaald keuzerondje in een groep en wist (verwijdert een vinkje uit) alle andere keuzerondjes in de groep.
void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parameterwaarden
nIDFirstButton
Hiermee geeft u de geheel getal-id van het eerste keuzerondje in de groep.
nIDLastButton
Hiermee geeft u de geheel getal-id van het laatste keuzerondje in de groep.
nIDCheckButton
Hiermee geeft u de geheel getal-id van het keuzerondje dat moet worden gecontroleerd.
Opmerkingen
De CheckRadioButton functie verzendt een BM_SETCHECK bericht naar het opgegeven keuzerondje.
Example
// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}
CWnd::ChildWindowFromPoint
Bepaalt welke, indien aanwezig, van de onderliggende vensters die behoren tot CWnd het opgegeven punt.
CWnd* ChildWindowFromPoint(POINT point) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags) const;
Parameterwaarden
point
Hiermee geeft u de clientcoördinaten van het punt dat moet worden getest.
nflags
Hiermee geeft u op welke onderliggende vensters moeten worden overgeslagen. Deze parameter kan een combinatie van de volgende waarden zijn:
| Waarde | Meaning |
|---|---|
CWP_ALL |
Geen onderliggende vensters overslaan |
CWP_SKIPINVISIBLE |
Onzichtbare onderliggende vensters overslaan |
CWP_SKIPDISABLED |
Uitgeschakelde onderliggende vensters overslaan |
CWP_SKIPTRANSPARENT |
Transparante onderliggende vensters overslaan |
Retourwaarde
Identificeert het onderliggende venster dat het punt bevat. Het is NULL als het opgegeven punt zich buiten het clientgebied bevindt. Als het punt zich binnen het clientgebied bevindt, maar zich niet in een onderliggend venster bevindt, CWnd wordt deze geretourneerd.
Deze lidfunctie retourneert een verborgen of uitgeschakeld onderliggend venster dat het opgegeven punt bevat.
Meer dan één venster kan het opgegeven punt bevatten. Deze functie retourneert echter alleen de CWnd* van het eerste venster dat het punt bevat.
De CWnd* die wordt geretourneerd, kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Example
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint(
CPoint(rect.Width()/2, rect.Height()/2),
// Top left is always 0, 0.
CWP_SKIPINVISIBLE);
TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}
CWnd::ClientToScreen
Converteert de clientcoördinaten van een bepaald punt of rechthoek op de weergave naar schermcoördinaten.
void ClientToScreen(LPPOINT lpPoint) const;
void ClientToScreen(LPRECT lpRect) const;
Parameterwaarden
lpPoint
Verwijst naar een POINT structuur of CPoint object dat de clientcoördinaten bevat die moeten worden geconverteerd.
lpRect
Verwijst naar een RECT structuur of CRect object dat de clientcoördinaten bevat die moeten worden geconverteerd.
Opmerkingen
De ClientToScreen lidfunctie gebruikt de clientcoördinaten in de POINT structuur RECT of het CPoint of CRect object waarnaar wordt verwezen door lpPoint of lpRect om nieuwe schermcoördinaten te berekenen. Vervolgens worden de coördinaten in de structuur vervangen door de nieuwe coördinaten. De nieuwe schermcoördinaten zijn relatief ten opzichte van de linkerbovenhoek van het systeemscherm.
De ClientToScreen lidfunctie gaat ervan uit dat het opgegeven punt of de opgegeven rechthoek zich in clientcoördinaten bevindt.
Example
// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
CWnd::CloseWindow
Hiermee wordt het venster geminimaliseerd.
void CloseWindow();
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie CloseWindowgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::ContinueModal
Deze lidfunctie wordt aangeroepen om RunModalLoop te bepalen wanneer de modale status moet worden afgesloten.
virtual BOOL ContinueModal();
Retourwaarde
Niet-nul als modale lus moet worden voortgezet; 0 wanneer EndModalLoop wordt aangeroepen.
Opmerkingen
Standaard retourneert deze niet-nul totdat EndModalLoop deze wordt aangeroepen.
CWnd::Create
Hiermee maakt u het opgegeven onderliggende venster en koppelt u het aan het CWnd object.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL);
Parameterwaarden
lpszClassName
[in] Wijs een door null beëindigde tekenreeks aan die de naam van een geregistreerde systeemvensterklasse bevat; of de naam van een vooraf gedefinieerde systeemvensterklasse.
lpszWindowName
[in] Aanwijzer naar een door null beëindigde tekenreeks die de weergavenaam van het venster bevat; anders NULL voor geen weergavenaam van het venster.
dwStyle
[in] Bitwise combinatie (OR) van vensterstijlen. De WS_POPUP optie is geen geldige stijl.
rect
[in] De grootte en locatie van het venster ten opzichte van de linkerbovenhoek van het bovenliggende venster.
pParentWnd
[in] Aanwijzer naar het bovenliggende venster.
nID
[in] Id van het venster.
pContext
[in] Wijs een CCreateContext structuur aan die wordt gebruikt om de architectuur van de documentweergave voor de toepassing aan te passen.
Retourwaarde
TRUE als de methode is geslaagd; anders FALSE.
Opmerkingen
Waarschuwing
CWnd::PreCreateWindowwijst nu het lid van de parameter toe CREATESTRUCT aan de this aanwijzer als het menu is NULL en de stijl bevatWS_CHILD.hMenu Voor de juiste functionaliteit moet u ervoor zorgen dat het dialoogvenster besturingselement een id heeft die niet NULLis.
Met deze wijziging wordt een crash in beheerde/systeemeigen interop-scenario's opgelost. Een TRACE verklaring in CWnd::Create waarschuwt de ontwikkelaar van het probleem.
Gebruik de AfxRegisterWndClass functie om vensterklassen te registreren. Door de gebruiker gedefinieerde vensterklassen zijn beschikbaar in de module waarin ze zijn geregistreerd.
De CWnd::OnCreate methode wordt aangeroepen voordat de Create methode wordt geretourneerd en voordat het venster zichtbaar wordt.
Example
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
CWnd::CreateAccessibleProxy
Hiermee maakt u een actieve toegankelijkheidsproxy voor het opgegeven object.
virtual HRESULT CreateAccessibleProxy(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameterwaarden
wParam
Identificeert het object dat wordt geopend door de Active Accessibility-proxy. Kan een van de volgende waarden zijn
| Waarde | Meaning |
|---|---|
OBJID_CLIENT |
Verwijst naar het clientgebied van het venster. |
lParam
Biedt aanvullende berichtafhankelijke informatie.
pResult
Een aanwijzer naar een LRESULT die de resultaatcode opslaat.
Opmerkingen
Hiermee maakt u een actieve toegankelijkheidsproxy voor het opgegeven object.
CWnd::CreateCaret
Hiermee maakt u een nieuwe shape voor de systeemzorg en claimt u het eigendom van de caret.
void CreateCaret(CBitmap* pBitmap);
Parameterwaarden
pBitmap
Identificeert de bitmap die de caret-shape definieert.
Opmerkingen
De bitmap moet eerder zijn gemaakt door de CBitmap::CreateBitmap lidfunctie, de CreateDIBitmap Windows-functie of de CBitmap::LoadBitmap lidfunctie.
CreateCaret vernietigt automatisch de vorige caretvorm, indien aanwezig, ongeacht welk venster eigenaar is van de caret. Zodra de caret is gemaakt, wordt de caret in eerste instantie verborgen. Als u de caret wilt weergeven, moet de ShowCaret lidfunctie worden aangeroepen.
De systeemzorg is een gedeelde resource.
CWnd moet alleen een caret maken wanneer deze de invoerfocus heeft of actief is. Het moet de caret vernietigen voordat de invoerfocus verloren gaat of inactief wordt.
Example
// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
m_pBitmapCaret = new CBitmap;
m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
m_MyEdit.CreateCaret(m_pBitmapCaret);
m_MyEdit.ShowCaret();
}
CWnd::CreateControl
Gebruik deze lidfunctie om een ActiveX-besturingselement te maken dat wordt weergegeven in het MFC-programma door een CWnd object.
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);
Parameterwaarden
pszClass
Deze tekenreeks kan de OLE-korte naam (ProgID) voor de klasse bevatten. Bijvoorbeeld: "CIRC3.Circ3Ctrl.1". De naam moet overeenkomen met dezelfde naam die door het besturingselement is geregistreerd. De tekenreeks kan ook de tekenreeksvorm van een CLSIDaccolade bevatten. Bijvoorbeeld: "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". In beide gevallen CreateControl wordt de tekenreeks geconverteerd naar de bijbehorende klasse-id.
pszWindowName
Een aanwijzer naar de tekst die in het besturingselement moet worden weergegeven. Hiermee stelt u de waarde van de eigenschap Bijschrift of Tekst van het besturingselement in (indien van toepassing). Als NULLde eigenschap Bijschrift of Tekst van het besturingselement niet wordt gewijzigd.
dwStyle
Windows-stijlen. De beschikbare stijlen worden vermeld onder Opmerkingen.
rect
Hiermee specificeert u de grootte en positie van het besturingselement. Het kan een CRect object of een RECT structuur zijn.
ppt
Verwijst naar een POINT structuur of CPoint object dat de linkerbovenhoek van het besturingselement bevat.
pSize
Verwijst naar een SIZE structuur of CSize object dat de grootte van het besturingselement bevat
pParentWnd
Hiermee geeft u het bovenliggende venster van het besturingselement. Het mag niet zijn NULL.
nID
Hiermee geeft u de id van het besturingselement op.
pPersist
Een aanwijzer naar een CFile met de permanente status voor het besturingselement. De standaardwaarde is NULL, waarmee wordt aangegeven dat het besturingselement zichzelf initialiseert zonder de status ervan te herstellen vanuit een permanente opslag. Als dat niet NULLhet geval is, moet het een aanwijzer zijn naar een CFile-afgeleide object dat de permanente gegevens van het besturingselement bevat, in de vorm van een stroom of een opslag. Deze gegevens kunnen zijn opgeslagen in een eerdere activering van de client. De CFile gegevens kunnen andere gegevens bevatten, maar de aanwijzer voor lezen/schrijven moet zijn ingesteld op de eerste byte van permanente gegevens op het moment van de aanroep naar CreateControl.
bStorage
Geeft aan of de gegevens pPersist moeten worden geïnterpreteerd als IStorage of IStream gegevens. Als de gegevens pPersist een opslag zijn, bStorage moet dit zijn TRUE. Als de gegevens een pPersist stroom zijn, bStorage moet dit zijn FALSE. De standaardwaarde is FALSE.
bstrLicKey
Optionele licentiesleutelgegevens. Deze gegevens zijn alleen nodig voor het maken van besturingselementen waarvoor een runtimelicentiesleutel is vereist. Als het besturingselement licenties ondersteunt, moet u een licentiesleutel opgeven om het besturingselement te kunnen maken. De standaardwaarde is NULL.
clsid
De unieke klasse-id van het besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
CreateControl is een directe analogie van de CWnd::Create functie, die het venster voor een CWnd.
CreateControl maakt een ActiveX-besturingselement in plaats van een gewoon venster.
Alleen een subset van de Windows-vlaggen dwStyle wordt ondersteund voor CreateControl:
WS_VISIBLEHiermee maakt u een venster dat in eerste instantie zichtbaar is. Vereist als u wilt dat het besturingselement onmiddellijk zichtbaar is, zoals gewone vensters.WS_DISABLEDHiermee maakt u een venster dat in eerste instantie is uitgeschakeld. Een uitgeschakeld venster kan geen invoer ontvangen van de gebruiker. Kan worden ingesteld als het besturingselement een eigenschap Ingeschakeld heeft.WS_BORDERHiermee maakt u een venster met een dunne rand. Kan worden ingesteld als het besturingselement eenBorderStyleeigenschap heeft.WS_GROUPHiermee geeft u het eerste besturingselement van een groep besturingselementen. De gebruiker kan de focus van het toetsenbord wijzigen van het ene besturingselement in de groep naar het volgende met behulp van de richtingtoetsen. Alle besturingselementen die zijn gedefinieerd met deWS_GROUPstijl na het eerste besturingselement, behoren tot dezelfde groep. Het volgende besturingselement met deWS_GROUPstijl beëindigt de groep en start de volgende groep.WS_TABSTOPHiermee geeft u een besturingselement op dat de toetsenbordfocus kan ontvangen wanneer de gebruiker op de Tab-toets drukt. Als u op de TAB-toets drukt, wordt de focus van het toetsenbord gewijzigd in het volgende besturingselement van deWS_TABSTOPstijl.
Example
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const &GetClsid()
{
static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT &rect, CWnd *pParentWnd, UINT nID,
CCreateContext *pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
CWnd::CreateEx
Hiermee maakt u het opgegeven venster en koppelt u het aan het CWnd object.
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);
Parameterwaarden
dwExStyle
Bitwise combinatie (OR) van uitgebreide vensterstijlen; anders NULL voor de standaardstijl voor uitgebreid venster.
lpszClassName
Wijs een door null beëindigde tekenreeks aan die de naam van een geregistreerde systeemvensterklasse bevat; of de naam van een vooraf gedefinieerde systeemvensterklasse.
lpszWindowName
Aanwijzer naar een door null beëindigde tekenreeks die de weergavenaam van het venster bevat; anders NULL voor geen weergavenaam van het venster.
dwStyle
Bitwise combinatie (OR) van vensterstijlen; anders NULL voor de standaardvensterstijl.
x
De eerste horizontale afstand van het venster aan de linkerkant van het scherm of het bovenliggende venster.
y
De initiële verticale afstand van het venster vanaf de bovenkant van het scherm of het bovenliggende venster.
nWidth
De breedte, in pixels, van het venster.
nHeight
De hoogte, in pixels, van het venster.
hwndParent
Voor een onderliggend venster, de ingang naar het bovenliggende venster; anders is de ingang van het eigenaarsvenster als het venster een eigenaar heeft.
nIDorHMenu
Voor een onderliggend venster, de venster-id; anders is de id van een menu voor het venster.
lpParam
Wijs gebruikersgegevens aan die worden doorgegeven aan de CWnd::OnCreate methode in het lpCreateParams veld.
rect
De grootte en locatie van het venster ten opzichte van het scherm of het bovenliggende venster.
pParentWnd
Voor een onderliggend venster wijst u de aanwijzer naar het bovenliggende venster; anders wijst u het venster van de eigenaar aan als het venster een eigenaar heeft.
nID
Voor een onderliggend venster, de venster-id; anders is de id van een menu voor het venster.
Retourwaarde
TRUE als de methode is geslaagd; anders FALSE.
Opmerkingen
Waarschuwing
CWnd::PreCreateWindowwijst nu het lid van de parameter toe CREATESTRUCT aan de this aanwijzer als het menu is NULL en de stijl bevatWS_CHILD.hMenu Voor de juiste functionaliteit moet u ervoor zorgen dat het dialoogvenster besturingselement een id heeft die niet NULLis.
Met deze wijziging wordt een crash in beheerde/systeemeigen interop-scenario's opgelost. Een TRACE verklaring in CWnd::Create waarschuwt de ontwikkelaar van het probleem.
De standaardstijl voor uitgebreid venster is WS_EX_LEFT. De standaardvensterstijl is WS_OVERLAPPED.
Gebruik de AfxRegisterWndClass functie om vensterklassen te registreren. Door de gebruiker gedefinieerde vensterklassen zijn beschikbaar in de module waarin ze zijn geregistreerd.
Dimensies voor onderliggende vensters zijn relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster. Afmetingen voor vensters op het hoogste niveau zijn relatief ten opzichte van de linkerbovenhoek van het scherm.
De CWnd::OnCreate methode wordt aangeroepen voordat de CreateEx methode wordt geretourneerd en voordat het venster zichtbaar wordt.
Example
void CMyDlg::OnCreateExtendedControl()
{
// m_pWndStaticEx is a CWnd* member of CMyDlg
m_pWndStaticEx = new CStatic;
m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), _T("Hi"),
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)2345);
}
CWnd::CreateGrayCaret
Hiermee maakt u een grijze rechthoek voor de systeemzorg en claimt u het eigendom van de caret.
void CreateGrayCaret(
int nWidth,
int nHeight);
Parameterwaarden
nWidth
Hiermee geeft u de breedte van de caret (in logische eenheden). Als deze parameter 0 is, wordt de breedte ingesteld op de door het systeem gedefinieerde breedte van de vensterrand.
nHeight
Hiermee geeft u de hoogte van de caret (in logische eenheden). Als deze parameter 0 is, wordt de hoogte ingesteld op de door het systeem gedefinieerde hoogte van de vensterrand.
Opmerkingen
De caretvorm kan een lijn of blok zijn.
De parameters nWidth en nHeight specificeren de breedte en hoogte van de caret (in logische eenheden); de exacte breedte en hoogte (in pixels) zijn afhankelijk van de toewijzingsmodus.
De breedte of hoogte van de vensterrand van het systeem kan worden opgehaald door de GetSystemMetrics Windows-functie met de SM_CXBORDER en SM_CYBORDER indexen. Door de breedte of hoogte van de vensterrand te gebruiken, zorgt u ervoor dat de caret zichtbaar is op een beeldscherm met hoge resolutie.
De CreateGrayCaret lidfunctie vernietigt automatisch de vorige caretvorm, indien aanwezig, ongeacht welk venster eigenaar is van de caret. Zodra de caret is gemaakt, wordt de caret in eerste instantie verborgen. Als u de caret wilt weergeven, moet de ShowCaret lidfunctie worden aangeroepen.
De systeemzorg is een gedeelde resource.
CWnd moet alleen een caret maken wanneer deze de invoerfocus heeft of actief is. Het moet de caret vernietigen voordat de invoerfocus verloren gaat of inactief wordt.
Example
// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
m_MyEdit.CreateGrayCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CreateSolidCaret
Hiermee maakt u een ononderbroken rechthoek voor de systeemzorg en claimt u het eigendom van de caret.
void CreateSolidCaret(
int nWidth,
int nHeight);
Parameterwaarden
nWidth
Hiermee geeft u de breedte van de caret (in logische eenheden). Als deze parameter 0 is, wordt de breedte ingesteld op de door het systeem gedefinieerde breedte van de vensterrand.
nHeight
Hiermee geeft u de hoogte van de caret (in logische eenheden). Als deze parameter 0 is, wordt de hoogte ingesteld op de door het systeem gedefinieerde hoogte van de vensterrand.
Opmerkingen
De caretshape kan een lijn of blok zijn.
De parameters nWidth en nHeight specificeren de breedte en hoogte van de caret (in logische eenheden); de exacte breedte en hoogte (in pixels) zijn afhankelijk van de toewijzingsmodus.
De breedte of hoogte van de vensterrand van het systeem kan worden opgehaald door de GetSystemMetrics Windows-functie met de SM_CXBORDER en SM_CYBORDER indexen. Door de breedte of hoogte van de vensterrand te gebruiken, zorgt u ervoor dat de caret zichtbaar is op een beeldscherm met hoge resolutie.
De CreateSolidCaret lidfunctie vernietigt automatisch de vorige caretvorm, indien aanwezig, ongeacht welk venster eigenaar is van de caret. Zodra de caret is gemaakt, wordt de caret in eerste instantie verborgen. Als u de caret wilt weergeven, moet de ShowCaret lidfunctie worden aangeroepen.
De systeemzorg is een gedeelde resource.
CWnd moet alleen een caret maken wanneer deze de invoerfocus heeft of actief is. Het moet de caret vernietigen voordat de invoerfocus verloren gaat of inactief wordt.
Example
// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
m_MyEdit.CreateSolidCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CWnd
Maakt een CWnd-object.
CWnd();
Opmerkingen
Het Windows-venster wordt pas gemaakt en gekoppeld als de CreateEx functie of Create lid is aangeroepen.
CWnd::Default
Roept de standaardvensterprocedure aan.
LRESULT Default();
Retourwaarde
Is afhankelijk van het verzonden bericht.
Opmerkingen
De standaardvensterprocedure biedt standaardverwerking voor elk vensterbericht dat een toepassing niet verwerkt. Deze lidfunctie zorgt ervoor dat elk bericht wordt verwerkt.
Example
// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
CWnd::Default();
}
CWnd::DefWindowProc
Roept de standaardvensterprocedure aan, die standaardverwerking biedt voor elk vensterbericht dat een toepassing niet verwerkt.
virtual LRESULT DefWindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
message
Hiermee geeft u het Windows-bericht dat moet worden verwerkt.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
Retourwaarde
Is afhankelijk van het verzonden bericht.
Opmerkingen
Deze lidfunctie zorgt ervoor dat elk bericht wordt verwerkt. Deze moet worden aangeroepen met dezelfde parameters als de parameters die zijn ontvangen door de vensterprocedure.
CWnd::DeleteTempMap
Automatisch aangeroepen door de inactieve tijdhandler van het CWinApp object.
static void PASCAL DeleteTempMap();
Opmerkingen
Hiermee verwijdert u tijdelijke CWnd objecten die zijn gemaakt door de FromHandle lidfunctie.
Example
// DeleteTempMap() is a static member and does not need
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();
CWnd::DestroyWindow
Vernietigt het Windows-venster dat aan het CWnd object is gekoppeld.
virtual BOOL DestroyWindow();
Retourwaarde
Niet-nul als het raam wordt vernietigd; anders 0.
Opmerkingen
De DestroyWindow lidfunctie verzendt de juiste berichten naar het venster om het te deactiveren en de invoerfocus te verwijderen. Het menu van het venster wordt ook vernietigd, de toepassingswachtrij leeggemaakt, openstaande timers vernietigd, het eigendom van het Klembord wordt verwijderd en de keten klembordviewer wordt verbroken als CWnd deze zich boven aan de viewerketen bevindt. Het verzendt WM_DESTROY en WM_NCDESTROY berichten naar het venster. Het object wordt niet vernietigd CWnd .
DestroyWindow is een tijdelijke houder voor het uitvoeren van opschoning. Omdat DestroyWindow dit een virtuele functie is, wordt deze weergegeven in een CWnd-afgeleide klasse in klasseweergave. Maar zelfs als u deze functie overschrijft in uw CWnd-afgeleide klasse, DestroyWindow wordt dit niet noodzakelijkerwijs aangeroepen. Als DestroyWindow de MFC-code niet wordt aangeroepen, moet u deze expliciet aanroepen in uw eigen code als u deze wilt aanroepen.
Stel dat u hebt overschreven DestroyWindow in een CView-afgeleide klasse. Aangezien MFC-broncode geen van de CFrameWndafgeleide klassen aanroeptDestroyWindow, wordt uw overschreven DestroyWindow code niet aangeroepen, tenzij u deze expliciet aanroept.
Als het venster de bovenliggende van vensters is, worden deze onderliggende vensters automatisch vernietigd wanneer het bovenliggende venster wordt vernietigd. De DestroyWindow lidfunctie vernietigt eerst onderliggende vensters en vervolgens het venster zelf.
De DestroyWindow lidfunctie vernietigt ook modusloze dialoogvensters die zijn gemaakt door CDialog::Create.
Als het CWnd vernietigde venster een onderliggend venster is en de stijlset niet heeft WS_EX_NOPARENTNOTIFY , wordt het WM_PARENTNOTIFY bericht naar het bovenliggende item verzonden.
Example
// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in
// OnOK() & OnCancel() handlers
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(_T("UpdateData failed during dialog termination\n"));
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}
void CModeless::OnCancel()
{
DestroyWindow();
}
CWnd::Detach
Loskoppelt een Windows-ingang van een CWnd object en retourneert de ingang.
HWND Detach();
Retourwaarde
Een HWND naar het Windows-object.
Example
Zie het voorbeeld voor CWnd::Attach.
CWnd::DlgDirList
Hiermee wordt een keuzelijst gevuld met een bestand of mapvermelding.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType);
Parameterwaarden
lpPathSpec
Verwijst naar een door null beëindigde tekenreeks die het pad of de bestandsnaam bevat.
DlgDirList wijzigt deze tekenreeks, die lang genoeg moet zijn om de wijzigingen te bevatten. Zie de volgende sectie Opmerkingen voor meer informatie.
nIDListBox
Hiermee geeft u de id van een keuzelijst. Als nIDListBox dit 0 is, DlgDirList wordt ervan uitgegaan dat er geen keuzelijst bestaat en er geen poging wordt uitgevoerd om er een in te vullen.
nIDStaticPath
Hiermee geeft u de id van het besturingselement voor statische tekst dat wordt gebruikt om het huidige station en de huidige map weer te geven. Als nIDStaticPath dit 0 is, DlgDirList wordt ervan uitgegaan dat er geen dergelijk tekst besturingselement aanwezig is.
nFileType
Hiermee geeft u de kenmerken van de bestanden die moeten worden weergegeven. Dit kan elke combinatie van de volgende waarden zijn:
DDL_READWRITEGegevensbestanden zonder extra kenmerken lezen/schrijven.DDL_READONLYAlleen-lezen bestanden.DDL_HIDDENVerborgen bestanden.DDL_SYSTEMSysteembestanden.DDL_DIRECTORYMappen.DDL_ARCHIVEArchieven.DDL_POSTMSGSLB_DIRVlag. Als deLB_DIRvlag is ingesteld, plaatst Windows de berichten die worden gegenereerd inDlgDirListde wachtrij van de toepassing. Anders worden ze rechtstreeks naar de procedure van het dialoogvenster verzonden.DDL_DRIVESStations. Als deDDL_DRIVESvlag is ingesteld, wordt deDDL_EXCLUSIVEvlag automatisch ingesteld. Als u daarom een lijst met stations en bestanden wilt maken, moet u twee keer bellenDlgDirList: eenmaal met deDDL_DRIVESvlag ingesteld en eenmaal met de vlaggen voor de rest van de lijst.DDL_EXCLUSIVEExclusieve bit. Als de exclusieve bit is ingesteld, worden alleen bestanden van het opgegeven type vermeld; anders worden normale bestanden en bestanden van het opgegeven type weergegeven.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
DlgDirList verzendt LB_RESETCONTENT en LB_DIR berichten naar de keuzelijst. Het vult de keuzelijst die is opgegeven door nIDListBox de namen van alle bestanden die overeenkomen met het pad dat is opgegeven door lpPathSpec.
De lpPathSpec parameter heeft het volgende formulier:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
In dit voorbeeld drive is een stationsletter, directory een geldige mapnaam en filename een geldige bestandsnaam die ten minste één jokerteken moet bevatten. De jokertekens zijn een vraagteken (?), wat betekent dat een willekeurig teken en een sterretje (*) overeenkomen met een willekeurig aantal tekens.
Als u een tekenreeks van 0 lengte opgeeft voor lpPathSpec, of als u alleen een mapnaam opgeeft, maar geen bestandsspecificatie bevat, wordt de tekenreeks gewijzigd in *.*.
Als lpPathSpec een station en/of mapnaam bevat, worden het huidige station en de map gewijzigd in het aangewezen station en de map voordat de keuzelijst wordt ingevuld. Het door u geïdentificeerde nIDStaticPath tekst besturingselement wordt ook bijgewerkt met de naam van het nieuwe station en/of de map.
Nadat de keuzelijst is ingevuld, lpPathSpec wordt deze bijgewerkt door het station en/of het mapgedeelte van het pad te verwijderen.
Example
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
CWnd::DlgDirListComboBox
Hiermee wordt de keuzelijst van een keuzelijst met invoervak gevuld met een lijst met bestanden of mappen.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType);
Parameterwaarden
lpPathSpec
Verwijst naar een door null beëindigde tekenreeks die het pad of de bestandsnaam bevat.
DlgDirListComboBox Wijzigt deze tekenreeks, dus deze gegevens mogen niet de vorm hebben van een letterlijke tekenreeks. Zie de volgende sectie 'Opmerkingen'.
nIDComboBox
Hiermee geeft u de id van een keuzelijst met invoervak in een dialoogvenster. Als nIDComboBox dit 0 is, DlgDirListComboBox wordt ervan uitgegaan dat er geen keuzelijst met invoervak bestaat en er geen poging wordt uitgevoerd om er een in te vullen.
nIDStaticPath
Hiermee geeft u de id van het besturingselement voor statische tekst dat wordt gebruikt om het huidige station en de huidige map weer te geven. Als nIDStaticPath dit 0 is, DlgDirListComboBox wordt ervan uitgegaan dat er geen dergelijk tekst besturingselement aanwezig is.
nFileType
Hiermee geeft u DOS-bestandskenmerken van de bestanden die moeten worden weergegeven. Dit kan elke combinatie van de volgende waarden zijn:
DDL_READWRITEGegevensbestanden zonder extra kenmerken lezen/schrijven.DDL_READONLYAlleen-lezen bestanden.DDL_HIDDENVerborgen bestanden.DDL_SYSTEMSysteembestanden.DDL_DIRECTORYMappen.DDL_ARCHIVEArchieven.DDL_POSTMSGSCB_DIRVlag. Als deCB_DIRvlag is ingesteld, plaatst Windows de berichten die worden gegenereerd inDlgDirListComboBoxde wachtrij van de toepassing. Anders worden ze rechtstreeks naar de procedure van het dialoogvenster verzonden.DDL_DRIVESStations. Als deDDL_DRIVESvlag is ingesteld, wordt deDDL_EXCLUSIVEvlag automatisch ingesteld. Als u daarom een lijst met stations en bestanden wilt maken, moet u twee keer bellenDlgDirListComboBox: eenmaal met deDDL_DRIVESvlag ingesteld en eenmaal met de vlaggen voor de rest van de lijst.DDL_EXCLUSIVEExclusieve bit. Als de exclusieve bit is ingesteld, worden alleen bestanden van het opgegeven type vermeld; anders worden normale bestanden en bestanden van het opgegeven type weergegeven.
Retourwaarde
Hiermee geeft u het resultaat van de functie. Het is niet-nul als er een vermelding is gemaakt, zelfs een lege vermelding. Een retourwaarde van 0 impliceert dat de invoertekenreeks geen geldig zoekpad bevat.
Opmerkingen
DlgDirListComboBox verzendt CB_RESETCONTENT en CB_DIR berichten naar de keuzelijst met invoervak. Het vult de keuzelijst van de keuzelijst met invoervak die is opgegeven door nIDComboBox de namen van alle bestanden die overeenkomen met het pad dat is opgegeven door lpPathSpec.
De lpPathSpec parameter heeft het volgende formulier:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
In dit voorbeeld drive is een stationsletter, directory een geldige mapnaam en filename een geldige bestandsnaam die ten minste één jokerteken moet bevatten. De jokertekens zijn een vraagteken (?), wat betekent dat een willekeurig teken en een sterretje (*) overeenkomen met een willekeurig aantal tekens.
Als u een tekenreeks lpPathSpecmet lengte nul opgeeft, wordt de huidige map gebruikt en lpPathSpec wordt deze niet gewijzigd. Als u alleen een mapnaam opgeeft, maar geen bestandsspecificatie opneemt, wordt de tekenreeks gewijzigd in *.
Als lpPathSpec een station en/of mapnaam bevat, worden het huidige station en de map gewijzigd in het aangewezen station en de map voordat de keuzelijst wordt ingevuld. Het door u geïdentificeerde nIDStaticPath tekst besturingselement wordt ook bijgewerkt met de naam van het nieuwe station en/of de map.
Nadat de keuzelijst met invoervak is ingevuld, lpPathSpec wordt deze bijgewerkt door het station en/of het mapgedeelte van het pad te verwijderen.
Example
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
CWnd::DlgDirSelect
Hiermee haalt u de huidige selectie op uit een keuzelijst.
BOOL DlgDirSelect(
LPTSTR lpString,
int nIDListBox);
Parameterwaarden
lpString
Verwijst naar een buffer die de huidige selectie in de keuzelijst ontvangt.
nIDListBox
Hiermee geeft u de gehele waarde van een keuzelijst in het dialoogvenster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Hierbij wordt ervan uitgegaan dat de keuzelijst is ingevuld door de DlgDirList lidfunctie en dat de selectie een stationsletter, een bestand of een mapnaam is.
De DlgDirSelect lidfunctie kopieert de selectie naar de buffer die is opgegeven door lpString. Als er geen selectie is, lpString wordt deze niet gewijzigd.
DlgDirSelect verzendt LB_GETCURSEL en LB_GETTEXT berichten naar de keuzelijst.
Er kunnen niet meer dan één bestandsnaam worden geretourneerd vanuit een keuzelijst. De keuzelijst mag geen keuzelijst met meerdere keuzemogelijkheden zijn.
CWnd::DlgDirSelectComboBox
Hiermee haalt u de huidige selectie op uit de keuzelijst met invoervak.
BOOL DlgDirSelectComboBox(
LPTSTR lpString,
int nIDComboBox);
Parameterwaarden
lpString
Verwijst naar een buffer die het geselecteerde pad ontvangt.
nIDComboBox
Hiermee geeft u de geheel getal-id van de keuzelijst met invoervak in het dialoogvenster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Hierbij wordt ervan uitgegaan dat de keuzelijst is ingevuld door de DlgDirListComboBox lidfunctie en dat de selectie een stationsletter, een bestand of een mapnaam is.
De DlgDirSelectComboBox lidfunctie kopieert de selectie naar de opgegeven buffer. Als er geen selectie is, wordt de inhoud van de buffer niet gewijzigd.
DlgDirSelectComboBox verzendt CB_GETCURSEL en CB_GETLBTEXT berichten naar de keuzelijst met invoervak.
Er kunnen niet meer dan één bestandsnaam worden geretourneerd vanuit een keuzelijst met invoervak.
CWnd::DoDataExchange
Aangeroepen door het framework om dialoogvenstergegevens uit te wisselen en te valideren.
virtual void DoDataExchange(CDataExchange* pDX);
Parameterwaarden
pDX
Een aanwijzer naar een CDataExchange object.
Opmerkingen
Roep deze functie nooit rechtstreeks aan. Deze wordt aangeroepen door de UpdateData lidfunctie. Aanroep UpdateData om de besturingselementen van een dialoogvenster te initialiseren of gegevens op te halen uit een dialoogvenster.
Wanneer u een toepassingsspecifieke dialoogvensterklasse afleiden van CDialog, moet u deze lidfunctie overschrijven als u de automatische gegevensuitwisseling en validatie van het framework wilt gebruiken. De wizard Variabele toevoegen schrijft een overschreven versie van deze lidfunctie voor u met de gewenste 'gegevenstoewijzing' van dialoogvenstergegevensuitwisseling (DDX) en algemene functieaanroepen (DDV).
Als u automatisch een overschreven versie van deze lidfunctie wilt genereren, maakt u eerst een dialoogvensterresource met de dialoogvenstereditor en leidt u vervolgens een toepassingsspecifieke dialoogvensterklasse af. Gebruik vervolgens de wizard Variabele toevoegen om variabelen, gegevens en validatiebereiken te koppelen aan verschillende besturingselementen in het nieuwe dialoogvenster. De wizard schrijft vervolgens de overschreven DoDataExchangecode, die een gegevenstoewijzing bevat. Hier volgt een voorbeeld van een DDX-/DDV-codeblok dat is gegenereerd door de wizard Variabele toevoegen:
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);
}
De DoDataExchange overschreven lidfunctie moet voorafgaan aan de macro-instructies in het bronbestand.
Zie Gegevens weergeven en bewerken in een formulier- en dialoogvenstergegevensuitwisseling en -validatie voor meer informatie over het uitwisselen en valideren van dialoogvenstergegevens. Zie Technische opmerking 26 voor een beschrijving van de macro's DDX_ en DDV_ die zijn gegenereerd door de wizard Variabele toevoegen.
CWnd::DragAcceptFiles
Roep deze lidfunctie aan vanuit een venster, met behulp van een CWnd aanwijzer, in de functie van CWinApp::InitInstance uw toepassing om aan te geven dat het venster verwijderde bestanden accepteert vanuit Windows Bestandsbeheer of Verkenner.
void DragAcceptFiles(BOOL bAccept = TRUE);
Parameterwaarden
BAccept
Vlag die aangeeft of gesleepte bestanden worden geaccepteerd.
Opmerkingen
Alleen het venster waarmee de bAccept parameterset wordt aanroepen TRUEDragAcceptFiles, heeft zichzelf geïdentificeerd als het Windows-bericht WM_DROPFILESkan verwerken. Als in een MDI-toepassing bijvoorbeeld de CMDIFrameWnd vensteraanwijzer wordt gebruikt in de DragAcceptFiles functieaanroep, wordt alleen het bericht door het WM_DROPFILESCMDIFrameWnd venster weergegeven. Dit bericht wordt niet verzonden naar alle geopende CMDIChildWnd vensters. Als u dit CMDIChildWnd bericht wilt ontvangen, moet u de aanwijzer voor vensters CMDIChildWnd aanroepenDragAcceptFiles.
Als u wilt stoppen met het ontvangen van gesleepte bestanden, roept u de lidfunctie aan met bAccept ingesteld op FALSE.
CWnd::DragDetect
Legt de muis vast en houdt de beweging bij totdat de gebruiker de linkerknop loslaat, op esc drukt of de muis verplaatst buiten de rechthoek met slepen rond het opgegeven punt.
BOOL DragDetect(POINT pt) const;
Parameterwaarden
pt
Initiële positie van de muis, in schermcoördinaten. De functie bepaalt de coördinaten van de rechthoek voor slepen met behulp van dit punt.
Retourwaarde
Als de gebruiker de muis buiten de rechthoek met slepen heeft verplaatst terwijl hij de linkerknop ingedrukt houdt, is de retourwaarde niet-nul.
Als de gebruiker de muis niet buiten de rechthoek met slepen heeft verplaatst terwijl hij de linkerknop ingedrukt houdt, is de retourwaarde nul.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie DragDetectgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::DrawAnimatedRects
Hiermee tekent u een rechthoek met draadframes en geeft u er animatie aan om het openen van een pictogram of het minimaliseren of maximaliseren van een venster aan te geven.
BOOL DrawAnimatedRects(
int idAni,
CONST RECT* lprcFrom,
CONST RECT* lprcTo);
Parameterwaarden
idAni
Hiermee geeft u het type animatie op. Als u opgeeft IDANI_CAPTION, wordt het bijschrift van het venster geanimeerd van de positie die is opgegeven door lprcFrom de positie die is opgegeven door lprcTo. Het effect is vergelijkbaar met het minimaliseren of maximaliseren van een venster.
lprcFrom
Wijs een RECT structuur aan die de locatie en grootte van het pictogram of geminimaliseerde venster aangeeft.
lprcTo
Aanwijzer naar een RECT structuur die de locatie en grootte van het herstelde venster aangeeft
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie DrawAnimatedRectsgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::DrawCaption
Hiermee tekent u een bijschrift voor een venster.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parameterwaarden
pDC
Een aanwijzer naar een apparaatcontext. De functie tekent het bijschrift van het venster in deze apparaatcontext.
lprc
Een aanwijzer naar een RECT structuur die de begrenzingsrechthoek voor het bijschrift van het venster aangeeft.
uFlags
Hiermee geeft u tekenopties op. Zie voor een volledige lijst met waarden DrawCaption.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie DrawCaptiongeëmuleren, zoals beschreven in de Windows SDK.
CWnd::DrawMenuBar
Hiermee tekent u de menubalk opnieuw.
void DrawMenuBar();
Opmerkingen
Als een menubalk wordt gewijzigd nadat Windows het venster heeft gemaakt, roept u deze functie aan om de gewijzigde menubalk te tekenen.
Example
Zie het voorbeeld voor CWnd::GetMenu.
CWnd::EnableActiveAccessibility
Hiermee schakelt u door de gebruiker gedefinieerde functies voor actieve toegankelijkheid in.
void EnableActiveAccessibility();
Opmerkingen
De standaardondersteuning voor Actieve toegankelijkheid van MFC is voldoende voor standaardvensters en besturingselementen, waaronder ActiveX-besturingselementen; Als uw CWnd-afgeleide klasse echter niet-windowed gebruikersinterface-elementen bevat, heeft MFC geen manier om er meer over te weten. In dat geval moet u de juiste functies voor actief toegankelijkheidslid in uw klasse overschrijven en moet u de constructor van de klasse aanroepen EnableActiveAccessibility .
CWnd::EnableDynamicLayout
Hiermee schakelt u het dynamische indelingsbeheer in of uit. Wanneer dynamische indeling is ingeschakeld, kan de positie en grootte van onderliggende vensters dynamisch worden aangepast wanneer de gebruiker de grootte van het venster wijzigt.
void EnableDynamicLayout(BOOL bEnable = TRUE);
Parameterwaarden
bEnable
TRUE dynamische indeling in te schakelen; FALSE om dynamische indeling uit te schakelen.
Opmerkingen
Als u dynamische indeling wilt inschakelen, moet u meer doen dan deze methode aan te roepen. U moet ook dynamische indelingsinformatie opgeven die bepaalt hoe de besturingselementen in het venster reageren op wijzigingen in de grootte. U kunt deze informatie opgeven in de resource-editor of programmatisch voor elk besturingselement. Zie Dynamische indeling.
CWnd::EnableD2DSupport
Hiermee schakelt u ondersteuning voor venster D2D in of uit. Roep deze methode aan voordat het hoofdvenster wordt geïnitialiseerd.
void EnableD2DSupport(
BOOL bEnable = TRUE,
BOOL bUseDCRenderTarget = FALSE);
Parameterwaarden
bEnable
Hiermee geeft u op of D2D-ondersteuning moet worden ingeschakeld of uitgeschakeld.
bUseDCRenderTarget
Soorten of het doel apparaatcontext (DC) moet worden gebruikt, CDCRenderTarget. Wanneer FALSE, CHwndRenderTarget wordt toegepast.
CWnd::EnableScrollBar
Hiermee schakelt u een of beide pijlen van een schuifbalk in of uit.
BOOL EnableScrollBar(
int nSBFlags,
UINT nArrowFlags = ESB_ENABLE_BOTH);
Parameterwaarden
nSBFlags
Hiermee geeft u het type schuifbalk op. Kan een van de volgende waarden hebben:
SB_BOTHHiermee schakelt u de pijlen van de horizontale en verticale schuifbalken die aan het venster zijn gekoppeld, in of uit.SB_HORZHiermee schakelt u de pijlen van de horizontale schuifbalk die aan het venster is gekoppeld, in of uit.SB_VERTHiermee schakelt u de pijlen van de verticale schuifbalk die aan het venster is gekoppeld, in of uit.
nArrowFlags
Hiermee geeft u op of de pijlen op de schuifbalk zijn ingeschakeld of uitgeschakeld en welke pijlen zijn ingeschakeld of uitgeschakeld. Kan een van de volgende waarden hebben:
ESB_ENABLE_BOTHHiermee worden beide pijlen van een schuifbalk (standaard) ingeschakeld.ESB_DISABLE_LTUPHiermee schakelt u de pijl-links van een horizontale schuifbalk of de pijl-omhoog van een verticale schuifbalk uit.ESB_DISABLE_RTDNHiermee schakelt u de pijl-rechts van een horizontale schuifbalk of de pijl-omlaag van een verticale schuifbalk uit.ESB_DISABLE_BOTHHiermee schakelt u beide pijlen van een schuifbalk uit.
Retourwaarde
Niet-nul als de pijlen zijn ingeschakeld of uitgeschakeld zoals opgegeven. Anders is het 0, wat aangeeft dat de pijlen zich al in de aangevraagde status bevinden of dat er een fout is opgetreden.
CWnd::EnableScrollBarCtrl
Hiermee schakelt u de schuifbalk voor dit venster in of uit.
void EnableScrollBarCtrl(
int nBar,
BOOL bEnable = TRUE);
Parameterwaarden
nBar
De schuifbalk-id.
bEnable
Hiermee geeft u op of de schuifbalk moet worden ingeschakeld of uitgeschakeld.
Opmerkingen
Als het venster een besturingselement voor de schuifbalk op hetzelfde niveau heeft, wordt die schuifbalk gebruikt; anders wordt de eigen schuifbalk van het venster gebruikt.
CWnd::EnableToolTips
Hiermee schakelt u knopinfo voor het opgegeven venster in.
BOOL EnableToolTips(BOOL bEnable = TRUE);
Parameterwaarden
bEnable
Hiermee geeft u op of het besturingselement voor knopinfo is ingeschakeld of uitgeschakeld.
TRUE maakt het besturingselement mogelijk; FALSE schakelt het besturingselement uit.
Retourwaarde
TRUE als tooltips zijn ingeschakeld; anders FALSE.
Opmerkingen
Overschrijven OnToolHitTest om de TOOLINFO struct of structs voor het venster op te geven.
Opmerking
Sommige vensters, zoals CToolBar, bieden een ingebouwde implementatie van OnToolHitTest.
Zie TOOLINFO in de Windows SDK voor meer informatie over deze structuur.
Aanroepen EnableToolTips is niet voldoende om knopinfo weer te geven voor de besturingselementen van uw kind, tenzij het bovenliggende venster is afgeleid van CFrameWnd. Dit komt doordat CFrameWnd er een standaardhandler voor de TTN_NEEDTEXT melding wordt geboden. Als het bovenliggende venster niet is afgeleid van CFrameWnd, dat wil gezegd, als het een dialoogvenster of een formulierweergave is, worden knoptips voor uw onderliggende besturingselementen niet correct weergegeven, tenzij u een handler opgeeft voor de melding van de TTN_NEEDTEXT knopinfo. Zie tips voor hulpprogramma's.
Aan de standaardknoptips voor uw vensters is EnableToolTips geen tekst gekoppeld. Als u tekst wilt ophalen voor de knopinfo die moet worden weergegeven, wordt de TTN_NEEDTEXT melding verzonden naar het bovenliggende venster van het besturingselement voor knopinfo net voordat het venster met knopinfo wordt weergegeven. Als er geen handler is voor dit bericht om een waarde toe te wijzen aan het pszText lid van de TOOLTIPTEXT structuur, wordt er geen tekst weergegeven voor de knopinfo.
Example
// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
CView::OnInitialUpdate();
m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(10, 10, 100, 100), this, IDC_TTEDIT);
EnableToolTips(TRUE); // enable tool tips for view
}
//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(pResult);
// need to handle both ANSI and UNICODE versions of the message
TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CStringA strTipText;
UINT_PTR nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID != 0) // will be zero on a separator
strTipText.Format("Control ID = %d", nID);
if (pNMHDR->code == TTN_NEEDTEXTA)
{
strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
strTipText.GetLength() + 1);
}
else
{
::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
}
return TRUE; // message was handled
}
CWnd::EnableTrackingToolTips
Hiermee schakelt u knopinfo voor bijhouden in of uit.
BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);
Parameterwaarden
bEnable
Hiermee geeft u op of tips voor het bijhouden van hulpprogramma's zijn ingeschakeld of uitgeschakeld. Als deze parameter is TRUE, worden de tips voor het bijhouden van hulpprogramma's ingeschakeld. Als deze parameter is FALSE, worden de tips voor het bijhouden van hulpprogramma's uitgeschakeld.
Retourwaarde
Geeft de status aan voordat de EnableWindow lidfunctie is aangeroepen. De retourwaarde is niet-nul als het venster eerder is uitgeschakeld. De retourwaarde is 0 als het venster eerder is ingeschakeld of er een fout is opgetreden.
Opmerkingen
Tips voor het bijhouden van hulpprogramma's zijn knopinfovensters die u dynamisch op het scherm kunt plaatsen. Door de positie snel bij te werken, lijkt het venster met knopinfo soepel te bewegen of 'bijhouden'. Deze functionaliteit kan handig zijn als u knopinfotekst nodig hebt om de positie van de aanwijzer te volgen terwijl deze wordt verplaatst.
CWnd::EnableWindow
Hiermee schakelt u muis- en toetsenbordinvoer in of uit.
BOOL EnableWindow(BOOL bEnable = TRUE);
Parameterwaarden
bEnable
Hiermee geeft u op of het opgegeven venster moet worden ingeschakeld of uitgeschakeld. Als deze parameter is TRUE, wordt het venster ingeschakeld. Als deze parameter is FALSE, wordt het venster uitgeschakeld.
Retourwaarde
Geeft de status aan voordat de EnableWindow lidfunctie is aangeroepen. De retourwaarde is niet-nul als het venster eerder is uitgeschakeld. De retourwaarde is 0 als het venster eerder is ingeschakeld of er een fout is opgetreden.
Opmerkingen
Wanneer invoer is uitgeschakeld, wordt invoer zoals muisklikken en toetsaanslagen genegeerd. Wanneer invoer is ingeschakeld, verwerkt het venster alle invoer.
Als de status Ingeschakeld wordt gewijzigd, wordt het WM_ENABLE bericht verzonden voordat deze functie wordt geretourneerd.
Als dit is uitgeschakeld, worden alle onderliggende vensters impliciet uitgeschakeld, hoewel ze geen berichten worden verzonden WM_ENABLE .
Een venster moet zijn ingeschakeld voordat het kan worden geactiveerd. Als een toepassing bijvoorbeeld een modusloos dialoogvenster weergeeft en het hoofdvenster heeft uitgeschakeld, moet het hoofdvenster zijn ingeschakeld voordat het dialoogvenster wordt vernietigd. Anders krijgt een ander venster de invoerfocus en wordt geactiveerd. Als een onderliggend venster is uitgeschakeld, wordt dit genegeerd wanneer Windows probeert te bepalen welk venster muisberichten moet ontvangen.
Standaard wordt een venster ingeschakeld wanneer het wordt gemaakt. Een toepassing kan de WS_DISABLED stijl in de Create functie of CreateEx lid opgeven om een venster te maken dat in eerste instantie is uitgeschakeld. Nadat een venster is gemaakt, kan een toepassing ook de EnableWindow lidfunctie gebruiken om het venster in of uit te schakelen.
Een toepassing kan deze functie gebruiken om een besturingselement in of uit te schakelen in een dialoogvenster. Een uitgeschakeld besturingselement kan de invoerfocus niet ontvangen en kan een gebruiker er ook geen toegang toe krijgen.
Example
//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
CFileDialog::OnInitDialog();
CWnd *pWndParent = GetParent();
//make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'
//disables the 'file name' edit and static control
//of the standard file open dialog
//get handle of 'file name' combobox control & disable it
CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
pWnd->EnableWindow(FALSE);
//get handle of 'file name' static control & disable it
pWnd = pWndParent->GetDlgItem(stc3);
pWnd->EnableWindow(FALSE);
return TRUE;
}
CWnd::EndModalLoop
Hiermee wordt een aanroep naar RunModalLoop.
virtual void EndModalLoop(int nResult);
Parameterwaarden
nResult
Bevat de waarde die moet worden geretourneerd aan de aanroeper van RunModalLoop.
Opmerkingen
De nResult parameter wordt doorgegeven aan de retourwaarde van RunModalLoop.
CWnd::EndModalState
Roep deze lidfunctie aan om een framevenster te wijzigen van modaal naar modusloos.
virtual void EndModalState();
CWnd::EndPaint
Markeert het einde van het schilderen in het opgegeven venster.
void EndPaint(LPPAINTSTRUCT lpPaint);
Parameterwaarden
lpPaint
Verwijst naar een PAINTSTRUCT structuur die de schilderijgegevens bevat die zijn opgehaald door de BeginPaint lidfunctie.
Opmerkingen
De EndPaint lidfunctie is vereist voor elke aanroep van de BeginPaint lidfunctie, maar pas nadat het schilderen is voltooid.
Als de caret is verborgen door de BeginPaint lidfunctie, EndPaint herstelt u de caret naar het scherm.
Example
Zie het voorbeeld voor CWnd::BeginPaint.
CWnd::ExecuteDlgInit
Hiermee wordt een dialoogvensterresource gestart.
BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);
Parameterwaarden
lpszResourceName
Een aanwijzer naar een door null beëindigde tekenreeks die de naam van de resource aangeeft.
lpResource
Een aanwijzer naar een resource.
Retourwaarde
TRUE als er een dialoogvensterresource wordt uitgevoerd; anders FALSE.
Opmerkingen
ExecuteDlgInit gebruikt resources die zijn gebonden aan de uitvoermodule of resources uit andere bronnen.
ExecuteDlgInit Hiervoor zoekt u een resourcehandler door aan te roepenAfxFindResourceHandle. Als uw MFC-toepassing geen gebruik maakt van de gedeelde DLL (MFCx0[U][D].DLL), roept AfxGetResourceHandleu AfxFindResourceHandle aan, waarmee de huidige broningang voor het uitvoerbare bestand wordt geretourneerd. Als uw MFC-toepassing die gebruikmaakt van MFCx0[U][D].DLL, AfxFindResourceHandle doorkruist u de CDynLinkLibrary lijst met gedeelde en MFC-extensie-DLL's die zoeken naar de juiste resource-ingang.
CWnd::FilterToolTipMessage
Aangeroepen door het framework om knopinfoberichten weer te geven.
void FilterToolTipMessage(MSG* pMsg);
Parameterwaarden
pMsg
Een aanwijzer naar het bericht met knopinfo.
Opmerkingen
In de meeste MFC-toepassingen wordt deze methode aangeroepen door het framework van PreTranslateMessage en EnableToolTipsen hoeft u deze niet zelf aan te roepen.
In bepaalde toepassingen, bijvoorbeeld sommige ActiveX-besturingselementen, worden deze methoden mogelijk niet aangeroepen door het framework en moet u uzelf aanroepen FilterToolTipMessage . Zie Tips voor het maken van hulpprogramma's voor meer informatie.
CWnd::FindWindow
Retourneert het hoogste niveau CWnd waarvan de vensterklasse wordt opgegeven door en waarvan de naam of titel van het venster wordt opgegeven lpszClassName door lpszWindowName.
static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName);
Parameterwaarden
lpszClassName
Verwijst naar een door null beëindigde tekenreeks die de klassenaam van het venster (een WNDCLASS structuur) aangeeft. Als lpClassName dat het is NULL, komen alle klassenamen overeen.
lpszWindowName
Verwijst naar een door null beëindigde tekenreeks die de naam van het venster (de titel van het venster) aangeeft. Als lpWindowName dat het is NULL, komen alle vensternamen overeen.
Retourwaarde
Identificeert het venster met de opgegeven klassenaam en vensternaam. Het is NULL als er geen dergelijk venster wordt gevonden.
De CWnd* kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Met deze functie wordt niet gezocht in onderliggende vensters.
Example
// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
CWnd *pWndPrev, *pWndChild;
// Determine if a window with the class name exists...
pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
if (NULL != pWndPrev)
{
// If so, does it have any popups?
pWndChild = pWndPrev->GetLastActivePopup();
// If iconic, restore the main window
if (pWndPrev->IsIconic())
pWndPrev->ShowWindow(SW_RESTORE);
// Bring the main window or its popup to the foreground
pWndChild->SetForegroundWindow();
// and you are done activating the other application
return FALSE;
}
return TRUE;
}
CWnd::FindWindowEx
Hiermee wordt het vensterobject opgehaald waarvan de klassenaam en de vensternaam overeenkomen met de opgegeven tekenreeksen.
static CWnd* FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow);
Parameterwaarden
hwndParent
Greep naar het bovenliggende venster waarvan de onderliggende vensters moeten worden doorzocht.
hwndChildAfter
Greep naar een onderliggend venster. De zoekopdracht begint met het volgende onderliggende venster in de Z-volgorde. Het onderliggende venster moet een direct onderliggend venster van hwndParentzijn, niet alleen een afstammelingsvenster.
lpszClass
Aanwijzer naar een door null beëindigde tekenreeks die de klassenaam of een klasse atom aangeeft dat is gemaakt door een eerdere aanroep naar de RegisterClass of RegisterClassEx.
lpszWindow
Aanwijzer naar een door null beëindigde tekenreeks waarmee de naam van het venster (de titel van het venster) wordt opgegeven. Als deze parameter is NULL, komen alle vensternamen overeen.
Retourwaarde
Als de functie slaagt, is de retourwaarde een aanwijzer naar het vensterobject met de opgegeven klasse- en vensternamen. Als de functie mislukt, is NULLde retourwaarde .
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie FindWindowExgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::FlashWindow
Knippert het opgegeven venster eenmaal.
BOOL FlashWindow(BOOL bInvert);
Parameterwaarden
bInvert
Hiermee geeft u op of het CWnd moet worden geflitst of teruggezet naar de oorspronkelijke staat. De CWnd wordt van de ene staat naar de andere geflitst als bInvert dat het is TRUE. Als bInvert dat het geval is FALSE, wordt het venster teruggezet naar de oorspronkelijke staat (actief of inactief).
Retourwaarde
Niet-nul als het venster actief was vóór de aanroep van de FlashWindow lidfunctie; anders 0.
Opmerkingen
Voor opeenvolgende knipperen maakt u een systeemtimer en roept u herhaaldelijk aan FlashWindow. Knipperend CWnd betekent het wijzigen van het uiterlijk van de titelbalk alsof de CWnd status inactief is of omgekeerd. (Een inactieve titelbalk wordt gewijzigd in een actieve titelbalk; een actieve titelbalk verandert in een inactieve titelbalk.)
Normaal gesproken wordt er een venster weergegeven om de gebruiker te informeren dat deze aandacht vereist, maar dat het momenteel niet de invoerfocus heeft.
De bInvert parameter moet alleen zijn FALSE wanneer het venster de invoerfocus krijgt en niet meer knippert. Deze moet TRUE worden uitgevoerd bij opeenvolgende aanroepen terwijl wordt gewacht om de invoerfocus te krijgen.
Deze functie retourneert altijd niet-nul voor geminimaliseerde vensters. Als het venster is geminimaliseerd, FlashWindow knippert het pictogram van het venster; bInvert wordt genegeerd voor geminimaliseerde vensters.
Example
BOOL CPenWidthsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// set timer to cause dialog to flash
SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
// cause the dialog to flash
FlashWindow(TRUE);
CDialog::OnTimer(nIDEvent);
}
CWnd::FlashWindowEx
Knippert het opgegeven venster.
BOOL FlashWindowEx(
DWORD dwFlags,
UINT uCount,
DWORD dwTimeout);
Parameterwaarden
dwFlags
Hiermee geeft u de flashstatus. Zie de FLASHWINFO structuur voor een volledige lijst met waarden.
uCount
Hiermee geeft u het aantal keren om het venster te knipperen.
dwTimeout
Hiermee geeft u de snelheid, in milliseconden, waarop het venster zal knipperen. Als dwTimeout dit nul is, gebruikt de functie de standaard knippersnelheid van de cursor.
Retourwaarde
De retourwaarde geeft de status van het venster op voordat de aanroep naar de FlashWindowEx functie wordt uitgevoerd. Als het bijschrift van het venster is getekend als actief vóór de aanroep, is de retourwaarde niet-nul. Anders is de retourwaarde nul.
Opmerkingen
Met deze methode wordt de functionaliteit van de functie FlashWindowExgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::FromHandle
Retourneert een aanwijzer naar een CWnd object wanneer een ingang aan een venster wordt gegeven. Als een CWnd object niet aan de ingang is gekoppeld, wordt er een tijdelijk CWnd object gemaakt en gekoppeld.
static CWnd* PASCAL FromHandle(HWND hWnd);
Parameterwaarden
hWnd
Een HWND van een Windows-venster.
Retourwaarde
Retourneert een aanwijzer naar een CWnd object wanneer een ingang aan een venster wordt gegeven. Als een CWnd object niet aan de ingang is gekoppeld, wordt er een tijdelijk CWnd object gemaakt en gekoppeld.
De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
CWnd::FromHandlePermanent
Retourneert een aanwijzer naar een CWnd object wanneer een ingang aan een venster wordt gegeven.
static CWnd* PASCAL FromHandlePermanent(HWND hWnd);
Parameterwaarden
hWnd
Een HWND van een Windows-venster.
Retourwaarde
Een aanwijzer naar een CWnd object.
Opmerkingen
Als een CWnd object niet aan de ingang is gekoppeld, NULL wordt deze geretourneerd.
Met deze functie worden, in tegenstelling tot FromHandle, geen tijdelijke objecten gemaakt.
CWnd::get_accChild
Aangeroepen door het framework om het adres van een IDispatch-interface voor het opgegeven onderliggende element op te halen.
virtual HRESULT get_accChild(
VARIANT varChild,
IDispatch** ppdispChild);
Parameterwaarden
varChild
Identificeert het onderliggende element waarvan IDispatch de interface moet worden opgehaald.
ppdispChild
Hiermee ontvangt u het adres van de interface van het onderliggende object IDispatch .
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accChild de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accChild .
CWnd::get_accChildCount
Wordt aangeroepen door het framework om het aantal onderliggende items op te halen dat bij dit object hoort.
virtual HRESULT get_accChildCount(long* pcountChildren);
Parameterwaarden
pcountChildren
Hiermee ontvangt u het aantal kinderen.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accChildCount de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt). Roep de basisklasseversie aan en voeg vervolgens de niet-toegestane onderliggende elementen toe.
Zie de Windows SDK voor meer informatie IAccessible::get_accChildCount .
CWnd::get_accDefaultAction
Aangeroepen door het framework om een tekenreeks op te halen die de standaardactie van het object beschrijft.
virtual HRESULT get_accDefaultAction(
VARIANT varChild,
BSTR* pszDefaultAction);
Parameterwaarden
varChild
Hiermee geeft u op of de standaardactie moet worden opgehaald dat van het object of een van de onderliggende elementen van het object. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszDefaultAction
Adres van een BSTR die een gelokaliseerde tekenreeks ontvangt die de standaardactie voor het opgegeven object beschrijft of NULL als dit object geen standaardactie heeft.
Retourwaarde
Retourneert S_OK over succes, een COM-foutcode bij fouten. Zie Retourwaarden in IAccessible::get_accDefaultAction in de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWndafgeleide klasse om de standaardactie van uw object te beschrijven.
Zie de Windows SDK voor meer informatie IAccessible::get_accDefaultAction .
CWnd::get_accDescription
Aangeroepen door framework om een tekenreeks op te halen die het uiterlijk van het opgegeven object beschrijft.
virtual HRESULT get_accDescription(
VARIANT varChild,
BSTR* pszDescription);
Parameterwaarden
varChild
Hiermee geeft u op of de beschrijving moet worden opgehaald dat van het object of een van de onderliggende elementen van het object. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszDescription
Adres van een BSTR die een gelokaliseerde tekenreeks ontvangt die het opgegeven object beschrijft of NULL als er geen beschrijving beschikbaar is voor dit object.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accDescription de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse om uw object te beschrijven. Roep de basisklasseversie aan en voeg uw beschrijving toe.
Zie de Windows SDK voor meer informatie IAccessible::get_accDescription .
CWnd::get_accFocus
Aangeroepen door het framework om het object met de toetsenbordfocus op te halen.
virtual HRESULT get_accFocus(VARIANT* pvarChild);
Parameterwaarden
pvarChild
Ontvangt informatie over het object met de focus. Zie pvarID in IAccessible::get_accFocus de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accFocus de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accFocus .
CWnd::get_accHelp
Aangeroepen door het framework om de Help-eigenschapstekenreeks van een object op te halen.
virtual HRESULT get_accHelp(
VARIANT varChild,
BSTR* pszHelp);
Parameterwaarden
varChild
Hiermee geeft u op of de help-informatie die moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszHelp
Adres van een BSTR die de gelokaliseerde tekenreeks ontvangt die de Help-informatie voor het opgegeven object bevat of NULL als er geen Help-informatie beschikbaar is.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accHelp de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse om Help-tekst voor uw object te bieden.
Zie de Windows SDK voor meer informatie IAccessible::get_accHelp .
CWnd::get_accHelpTopic
Aangeroepen door het framework om het volledige pad op te halen van het WinHelp-bestand dat is gekoppeld aan het opgegeven object en de id van het juiste onderwerp in dat bestand.
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parameterwaarden
pszHelpFile
Adres van een BSTR dat het volledige pad ontvangt van het WinHelp bestand dat is gekoppeld aan het opgegeven object, indien van toepassing.
varChild
Hiermee geeft u op of het Help-onderwerp dat moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om een Help-onderwerp voor het object te verkrijgen) of een onderliggende id (om een Help-onderwerp te verkrijgen voor een van de onderliggende elementen van het object).
pidTopic
Identificeert het Help-bestandsonderwerp dat is gekoppeld aan het opgegeven object. Zie pidTopic in IAccessible::get_accHelpTopic de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accHelpTopic de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWndafgeleide klasse om help-informatie over uw object te geven.
Zie de Windows SDK voor meer informatie IAccessible::get_accHelpTopic .
CWnd::get_accKeyboardShortcut
Aangeroepen door het framework om de sneltoets of toegangssleutel van het opgegeven object op te halen.
virtual HRESULT get_accKeyboardShortcut(
VARIANT varChild,
BSTR* pszKeyboardShortcut);
Parameterwaarden
varChild
Hiermee geeft u op of de sneltoets die moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszKeyboardShortcut
Adres van een BSTR die een gelokaliseerde tekenreeks ontvangt die de sneltoets identificeert of NULL als er geen sneltoets is gekoppeld aan het opgegeven object.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accKeyboardShortcut de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning van Active Accessibility MFC.
Overschrijf deze functie in uw CWndafgeleide klasse om de sneltoets voor uw object te identificeren.
Zie de Windows SDK voor meer informatie IAccessible::get_accKeyboardShortcut .
CWnd::get_accName
Aangeroepen door het framework om de naam van het opgegeven object op te halen.
virtual HRESULT get_accName(
VARIANT varChild,
BSTR* pszName);
Parameterwaarden
varChild
Hiermee geeft u op of de naam die moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszName
Adres van een BSTR die een tekenreeks ontvangt die de naam van het opgegeven object bevat.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accName de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse om de naam van uw object te retourneren.
Zie de Windows SDK voor meer informatie IAccessible::get_accName .
CWnd::get_accParent
Aangeroepen door het framework om de interface van het IDispatch bovenliggende object op te halen.
virtual HRESULT get_accParent(IDispatch** ppdispParent);
Parameterwaarden
ppdispParent
Hiermee ontvangt u het adres van de interface van het bovenliggende object IDispatch . De variabele wordt ingesteld op NULL als er geen bovenliggend element bestaat of als het onderliggende element geen toegang heeft tot het bovenliggende element.
Retourwaarde
Retourneert S_OK een geslaagde fout, een COM foutcode bij fouten. Zie Retourwaarden in IAccessible::get_accParent de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
In de meeste gevallen hoeft u deze functie niet te overschrijven.
Zie de Windows SDK voor meer informatie IAccessible::get_accParent .
CWnd::get_accRole
Wordt aangeroepen door het framework om informatie op te halen die de rol van het opgegeven object beschrijft.
virtual HRESULT get_accRole(
VARIANT varChild,
VARIANT* pvarRole);
Parameterwaarden
varChild
Hiermee geeft u op of de rolgegevens moeten worden opgehaald die van het object of een van de onderliggende elementen van het object zijn. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pvarRole
Ontvangt de rolgegevens. Zie pvarRole in IAccessible::get_accRole de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accRole de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accRole .
CWnd::get_accSelection
Aangeroepen door het framework om de geselecteerde onderliggende elementen van dit object op te halen.
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parameterwaarden
pvarChildren
Ontvangt informatie over welke kinderen zijn geselecteerd. Zie pvarChildren in IAccessible::get_accSelection de Windows SDK.
Retourwaarde
Retourneert S_OK over succes, een COM-foutcode bij fouten. Zie Retourwaarden in IAccessible::get_accSelection de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accSelection .
CWnd::get_accState
Aangeroepen door het framework om de huidige status van het opgegeven object op te halen.
virtual HRESULT get_accState(
VARIANT varChild,
VARIANT* pvarState);
Parameterwaarden
varChild
Hiermee geeft u op of de statusinformatie die moet worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pvarState
Ontvangt informatie over de status van het object. Zie pvarState in IAccessible::get_accState de Windows SDK.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accState de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accState .
CWnd::get_accValue
Aangeroepen door het framework om de waarde van het opgegeven object op te halen.
virtual HRESULT get_accValue(
VARIANT varChild,
BSTR* pszValue);
Parameterwaarden
varChild
Hiermee geeft u op of de waardegegevens die moeten worden opgehaald dat van het object of een van de onderliggende elementen van het object is. Deze parameter kan zijn CHILDID_SELF (om informatie over het object te verkrijgen) of een onderliggende id (om informatie te verkrijgen over het onderliggende element van het object).
pszValue
Adres van het BSTR adres dat een gelokaliseerde tekenreeks ontvangt die de huidige waarde van het object bevat.
Retourwaarde
Retourneert S_OK succes, een COM-foutcode bij fout. Zie Retourwaarden in IAccessible::get_accValue de Windows SDK.
Opmerkingen
Deze functie maakt deel uit van de ondersteuning voor actieve toegankelijkheid van MFC.
Overschrijf deze functie in uw CWnd-afgeleide klasse als u niet-windowed gebruikersinterface-elementen hebt (behalve vensterloze ActiveX-besturingselementen, die MFC verwerkt).
Zie de Windows SDK voor meer informatie IAccessible::get_accValue .
CWnd::GetActiveWindow
Hiermee wordt een aanwijzer naar het actieve venster opgehaald.
static CWnd* PASCAL GetActiveWindow();
Retourwaarde
Het actieve venster of NULL als er geen venster actief was op het moment van de oproep. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Het actieve venster is het venster met de huidige invoerfocus of het venster dat expliciet actief is gemaakt door de SetActiveWindow lidfunctie.
CWnd::GetAncestor
Hiermee wordt het bovenliggende vensterobject van het opgegeven venster opgehaald.
CWnd* GetAncestor(UINT gaFlags) const;
Parameterwaarden
gaFlags
Hiermee geeft u de bovenliggende te ophalen. Zie voor een volledige lijst met mogelijke waarden GetAncestor.
Retourwaarde
Als de functie slaagt, is de retourwaarde een aanwijzer naar het bovenliggende vensterobject. Als de functie mislukt, is NULLde retourwaarde .
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetAncestorgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetCapture
Hiermee haalt u het venster op met de muisopname.
static CWnd* PASCAL GetCapture();
Retourwaarde
Identificeert het venster met de muisopname. Het is NULL als er geen venster met de muis wordt vastgelegd.
De retourwaarde kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Slechts één venster heeft de muisopname op elk gewenst moment. Een venster ontvangt de muisopname wanneer de SetCapture lidfunctie wordt aangeroepen. Dit venster ontvangt muisinvoer, ongeacht of de cursor binnen de randen valt.
CWnd::GetCaretPos
Haalt de clientcoördinaten van de huidige positie van de caret op en retourneert deze als een CPoint.
static CPoint PASCAL GetCaretPos();
Retourwaarde
CPoint object met de coördinaten van de positie van de caret.
Opmerkingen
De caretpositie wordt gegeven in de clientcoördinaten van het CWnd venster.
CWnd::GetCheckedRadioButton
Haalt de id van het momenteel ingeschakelde keuzerondje op in de opgegeven groep.
int GetCheckedRadioButton(
int nIDFirstButton,
int nIDLastButton);
Parameterwaarden
nIDFirstButton
Hiermee geeft u de geheel getal-id van het eerste keuzerondje in de groep.
nIDLastButton
Hiermee geeft u de geheel getal-id van het laatste keuzerondje in de groep.
Retourwaarde
Id van het ingeschakelde keuzerondje of 0 als er geen is geselecteerd.
CWnd::GetClientRect
Kopieert de clientcoördinaten van het CWnd clientgebied naar de structuur die door lpRect.
void GetClientRect(LPRECT lpRect) const;
Parameterwaarden
lpRect
Verwijst naar een RECT structuur of een CRect object om de clientcoördinaten te ontvangen. De left en top leden zijn 0. De right en bottom leden bevatten de breedte en hoogte van het venster.
Opmerkingen
De clientcoördinaten geven de hoeken linksboven en rechtsonder van het clientgebied op. Aangezien clientcoördinaten relatief zijn ten opzichte van de linkerbovenhoek van het CWnd clientgebied, zijn de coördinaten van de linkerbovenhoek (0,0).
Example
Zie het voorbeeld voor CWnd::IsIconic.
CWnd::GetClipboardOwner
Hiermee haalt u de huidige eigenaar van het Klembord op.
static CWnd* PASCAL GetClipboardOwner();
Retourwaarde
Hiermee geeft u het venster aan dat eigenaar is van het Klembord als de functie is geslaagd. Anders is NULLhet .
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Het Klembord kan nog steeds gegevens bevatten, zelfs als het momenteel niet eigendom is.
CWnd::GetClipboardViewer
Hiermee haalt u het eerste venster op in de keten Klembordviewer.
static CWnd* PASCAL GetClipboardViewer();
Retourwaarde
Identificeert het venster dat momenteel verantwoordelijk is voor het weergeven van het Klembord als dit lukt; anders NULL (bijvoorbeeld als er geen viewer is).
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
CWnd::GetControlUnknown
Roep deze lidfunctie aan om een aanwijzer op te halen naar een onbekend OLE-besturingselement.
LPUNKNOWN GetControlUnknown();
Retourwaarde
Een aanwijzer naar de IUnknown interface van het OLE-besturingselement dat wordt vertegenwoordigd door dit CWnd object. Als dit object geen OLE-besturingselement vertegenwoordigt, is NULLde retourwaarde .
Opmerkingen
Laat deze IUnknown aanwijzer niet los. Normaal gesproken gebruikt u om een specifieke interface van het besturingselement te verkrijgen.
De interfaceaanwijzer die wordt geretourneerd door GetControlUnknown , wordt niet meegeteld. Roep de aanwijzer niet IUnknown::Release aan, tenzij u deze eerder hebt aangeroepen IUnknown::AddRef .
Example
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.
// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);
// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();
// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);
// use IDispatch method to invoke the control's functionality
CWnd::GetCurrentMessage
Retourneert een aanwijzer naar het bericht dat dit venster momenteel wordt verwerkt. Moet alleen worden aangeroepen in een functie Berichtbericht-handlerlid.
static const MSG* PASCAL GetCurrentMessage();
Retourwaarde
Retourneert een aanwijzer naar de MSG structuur die het bericht bevat dat het venster momenteel wordt verwerkt. Moet alleen worden aangeroepen wanneer u zich in een berichthandlerbevindt .
Example
Zie het voorbeeld voor CMDIFrameWnd::MDICascade.
CWnd::GetDC
Hiermee wordt een aanwijzer opgehaald naar een algemene context, klasse of privéapparaat voor het clientgebied, afhankelijk van de klassestijl die is opgegeven voor de CWnd.
CDC* GetDC();
Retourwaarde
Identificeert de apparaatcontext voor het clientgebied als dit CWnd lukt; anders is NULLde retourwaarde. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Voor algemene apparaatcontexten GetDC wijst u standaardkenmerken toe aan de context telkens wanneer deze wordt opgehaald. Voor klasse- en privécontexten GetDC blijven de eerder toegewezen kenmerken ongewijzigd. De apparaatcontext kan worden gebruikt in volgende GDI-functies (Graphics Device Interface) om te tekenen in het clientgebied.
Tenzij de apparaatcontext tot een vensterklasse behoort, moet de ReleaseDC lidfunctie worden aangeroepen om de context na het schilderen vrij te geven.
Een apparaatcontext die hoort bij de CWnd klasse wordt geretourneerd door de GetDC lidfunctie als CS_CLASSDC, CS_OWNDCof CS_PARENTDC is opgegeven als een stijl in de WNDCLASS structuur toen de klasse werd geregistreerd.
CWnd::GetDCEx
Hiermee haalt u de ingang van een apparaatcontext voor het CWnd venster op.
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags);
Parameterwaarden
prgnClip
Identificeert een knipregio die kan worden gecombineerd met de zichtbare regio van het clientvenster.
flags
Kan een van de volgende vooraf ingestelde waarden hebben:
DCX_CACHERetourneert een apparaatcontext uit de cache in plaats van hetOWNDCofCLASSDCvenster. OverschrijftCS_OWNDCenCS_CLASSDC.DCX_CLIPCHILDRENSluit de zichtbare regio's van alle onderliggende vensters onder hetCWndvenster uit.DCX_CLIPSIBLINGSSluit de zichtbare regio's van alle vensters op hetzelfde niveau buiten hetCWndvenster uit.DCX_EXCLUDERGNSluit de knipregio uit die is geïdentificeerd vanuitprgnCliphet zichtbare gebied van de context van het geretourneerde apparaat.DCX_INTERSECTRGNHiermee wordt de knipregio doorgesneden die is geïdentificeerd inprgnCliphet zichtbare gebied van de context van het geretourneerde apparaat.DCX_LOCKWINDOWUPDATEStaat tekenen toe, zelfs als er eenLockWindowUpdateaanroep van kracht is die dit venster anders zou uitsluiten. Deze waarde wordt gebruikt voor tekenen tijdens het bijhouden.DCX_PARENTCLIPMaakt gebruik van het zichtbare gebied van het bovenliggende venster en negeert de bits enWS_PARENTDCstijl van het bovenliggende vensterWS_CLIPCHILDREN. Met deze waarde wordt de oorsprong van de apparaatcontext ingesteld op de linkerbovenhoek van hetCWndvenster.DCX_WINDOWHiermee wordt een apparaatcontext geretourneerd die overeenkomt met de rechthoek van het venster in plaats van de clientrechthoek.
Retourwaarde
De apparaatcontext voor het opgegeven venster als de functie is geslaagd; anders NULL.
Opmerkingen
De apparaatcontext kan worden gebruikt in volgende GDI-functies om te tekenen in het clientgebied.
Deze functie, een uitbreiding van de GetDC functie, geeft een toepassing meer controle over hoe en of een apparaatcontext voor een venster wordt geknipt.
Tenzij de apparaatcontext deel uitmaakt van een vensterklasse, moet de ReleaseDC functie worden aangeroepen om de context los te laten na het tekenen. Omdat er op elk moment slechts vijf algemene apparaatcontexten beschikbaar zijn, kan het niet vrijgeven van een apparaatcontext voorkomen dat andere toepassingen toegang krijgen tot een apparaatcontext.
Als u een context van een apparaat in de cache wilt verkrijgen, moet een toepassing opgeven DCX_CACHE. Als DCX_CACHE niet is opgegeven en het venster evenmin CS_OWNDCCS_CLASSDCis, retourneert NULLdeze functie .
Een apparaatcontext met speciale kenmerken wordt geretourneerd door de GetDCEx functie als de CS_CLASSDC, CS_OWNDCof CS_PARENTDC stijl is opgegeven in de WNDCLASS structuur toen de klasse werd geregistreerd.
Zie de beschrijving van de WNDCLASS structuur in de Windows SDK voor meer informatie over deze kenmerken.
CWnd::GetDCRenderTarget
Hiermee wordt het doel van de apparaatcontext (DC) voor het CWnd venster opgehaald.
CDCRenderTarget* GetDCRenderTarget();
Retourwaarde
Het doel voor de weergave van de apparaatcontext voor het opgegeven venster als de functie is geslaagd; anders NULL.
Opmerkingen
CWnd::GetDescendantWindow
Roep deze lidfunctie aan om het afstammelingsvenster te vinden dat is opgegeven door de opgegeven id.
CWnd* GetDescendantWindow(
int nID,
BOOL bOnlyPerm = FALSE) const;
Parameterwaarden
nID
Hiermee geeft u de id van het besturingselement of onderliggend venster dat moet worden opgehaald.
bOnlyPerm
Hiermee geeft u op of het venster dat moet worden geretourneerd tijdelijk kan zijn. Als TRUE, alleen een permanent venster kan worden geretourneerd; als FALSE, kan de functie een tijdelijk venster retourneren. Zie Technical Note 3 voor meer informatie over tijdelijke vensters.
Retourwaarde
Een aanwijzer naar een CWnd object of NULL als er geen onderliggend venster wordt gevonden.
Opmerkingen
Deze lidfunctie doorzoekt de hele structuur van onderliggende vensters, niet alleen de vensters die directe kinderen zijn.
CWnd::GetDesktopWindow
Retourneert het Windows-bureaubladvenster.
static CWnd* PASCAL GetDesktopWindow();
Retourwaarde
Hiermee wordt het Windows-bureaubladvenster geïdentificeerd. Deze aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Het bureaubladvenster bedekt het hele scherm en is het gebied waarop alle pictogrammen en andere vensters worden geschilderd.
CWnd::GetDlgCtrlID
Retourneert de waarde van het venster of de besturingselement-id voor een onderliggend venster, niet alleen voor dat van een besturingselement in een dialoogvenster.
int GetDlgCtrlID() const;
Retourwaarde
De numerieke id van het CWnd onderliggende venster als de functie is geslaagd; anders 0.
Opmerkingen
Omdat vensters op het hoogste niveau geen id-waarde hebben, is de retourwaarde van deze functie ongeldig als het een venster op het CWnd hoogste niveau is.
Example
Zie het voorbeeld voor CWnd::OnCtlColor.
CWnd::GetDlgItem
Hiermee wordt een aanwijzer opgehaald naar het opgegeven besturingselement of onderliggend venster in een dialoogvenster of een ander venster.
CWnd* GetDlgItem(int nID) const;
void GetDlgItem(
int nID,
HWND* phWnd) const;
Parameterwaarden
nID
Hiermee geeft u de id van het besturingselement of onderliggend venster dat moet worden opgehaald.
phWnd
Een aanwijzer naar een onderliggend venster.
Retourwaarde
Een aanwijzer naar het opgegeven besturingselement of onderliggend venster. Als er geen besturingselement is met de gehele waarde die door de nID parameter wordt opgegeven, is NULLde waarde .
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
De geretourneerde aanwijzer wordt meestal omgezet in het type besturingselement dat wordt geïdentificeerd door nID.
Example
// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);
CWnd::GetDlgItemInt
Haalt de tekst van het besturingselement op dat is geïdentificeerd door nID.
UINT GetDlgItemInt(
int nID,
BOOL* lpTrans = NULL,
BOOL bSigned = TRUE) const;
Parameterwaarden
nID
Hiermee geeft u de geheel getal-id van het dialoogvensterbesturingselement dat moet worden vertaald.
lpTrans
Verwijst naar de Booleaanse variabele die de vertaalde vlag ontvangt.
bSigned
Hiermee geeft u op of de waarde die moet worden opgehaald, is ondertekend.
Retourwaarde
Hiermee geeft u de vertaalde waarde van de tekst van het dialoogvenster-item op. Omdat 0 een geldige retourwaarde is, lpTrans moet worden gebruikt om fouten te detecteren. Als een ondertekende retourwaarde gewenst is, castt u deze als een int type.
De functie retourneert 0 als het vertaalde getal groter is dan INT_MAX (voor ondertekende getallen) of UINT_MAX (voor niet-ondertekende nummers).
Wanneer er fouten optreden, zoals het tegenkomen van niet-numerieke tekens en het overschrijden van het bovenstaande maximum, GetDlgItemInt worden kopieën 0 naar de locatie aangegeven door lpTrans. Als er geen fouten zijn, lpTrans ontvangt u een niet-nulwaarde. Als lpTrans dat het geval is NULL, GetDlgItemInt waarschuwt u niet voor fouten.
Opmerkingen
Hiermee wordt de tekst van het opgegeven besturingselement in het opgegeven dialoogvenster omgezet in een geheel getal door extra spaties aan het begin van de tekst te verwijderen en decimale cijfers te converteren. De vertaling wordt gestopt wanneer het einde van de tekst is bereikt of een niet-numeriek teken tegenkomt.
Als bSigned dat het is TRUE, GetDlgItemInt controleert u op een minteken (-) aan het begin van de tekst en wordt de tekst omgezet in een ondertekend getal. Anders wordt er een niet-ondertekende waarde gemaakt.
Er wordt een WM_GETTEXT bericht naar het besturingselement verzonden.
CWnd::GetDlgItemText
Roep deze lidfunctie aan om de titel of tekst op te halen die is gekoppeld aan een besturingselement in een dialoogvenster.
int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
int GetDlgItemText(
int nID,
CString& rString) const;
Parameterwaarden
nID
Hiermee geeft u de geheel getal-id van het besturingselement waarvan de titel moet worden opgehaald.
lpStr
Verwijst naar de buffer om de titel of tekst van het besturingselement te ontvangen.
nMaxCount
Hiermee geeft u de maximale lengte (in tekens) van de tekenreeks die moet worden gekopieerd naar lpStr. Als de tekenreeks langer is dan nMaxCount, wordt deze afgekapt.
rString
Een verwijzing naar een CString.
Retourwaarde
Hiermee geeft u het werkelijke aantal tekens op dat naar de buffer is gekopieerd, niet inclusief het null-teken dat wordt beëindigd. De waarde is 0 als er geen tekst wordt gekopieerd.
Opmerkingen
De GetDlgItemText lidfunctie kopieert de tekst naar de locatie waarop wordt verwezen lpStr en retourneert een telling van het aantal bytes dat wordt gekopieerd.
CWnd::GetDSCCursor
Roep deze lidfunctie aan om een aanwijzer op te halen naar de onderliggende cursor die is gedefinieerd door de DataSource, UserName- Passworden SQL-eigenschappen van het besturingselement voor gegevensbron.
IUnknown* GetDSCCursor();
Retourwaarde
Een aanwijzer naar een cursor die is gedefinieerd door een gegevensbronbesturingselement. MFC zorgt ervoor dat de aanwijzer wordt aangeroepen AddRef .
Opmerkingen
Gebruik de geretourneerde aanwijzer om de ICursor eigenschap van een complex gegevensgebonden besturingselement in te stellen, zoals het gegevensgebonden rasterbesturingselement. Een besturingselement voor gegevensbron wordt pas actief als de cursor van het eerste afhankelijke besturingselement wordt aangevraagd. Dit kan expliciet gebeuren door een aanroep naar GetDSCCursor of impliciet door de MFC-bindingsmanager. In beide gevallen kunt u afdwingen dat een besturingselement voor gegevensbronnen actief wordt door aan te roepen GetDSCCursor en vervolgens de geretourneerde aanwijzer aan te IUnknownroepenRelease. Activering zorgt ervoor dat het besturingselement voor gegevensbronnen verbinding probeert te maken met de onderliggende gegevensbron. De geretourneerde aanwijzer kan worden gebruikt in de volgende context:
Example
BOOL CMyDlg::OnInitDialog()
{
// Find the child controls on the dialog
HRESULT hr = E_FAIL;
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
IUnknown *punkList = pListWnd->GetControlUnknown();
IDBList *pList = NULL;
if (NULL != punkList)
{
hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
}
if (SUCCEEDED(hr))
{
// Tell the MFC binding manager that we are
// binding DISPID 3 to the data-source control.
pListWnd->BindProperty(0x3, pDSC);
// Tell the listbox which field to expose as its bound column
pList->put_BoundColumn(_T("ContactFirstName"));
// Tell the listbox which cursor and column to populate its list from
pList->put_ListField(_T("ContactFirstName"));
IUnknown *punkCursor = pDSC->GetDSCCursor();
if (NULL != punkCursor)
{
punkCursor->Release();
}
pList->Release();
return TRUE;
}
CWnd::GetDynamicLayout
Hiermee haalt u een aanwijzer op naar het dynamische indelingsbeheerobject.
CMFCDynamicLayout* GetDynamicLayout();
Retourwaarde
Een aanwijzer naar het dynamische indelingsbeheerobject of NULL als dynamische indeling niet is ingeschakeld.
Opmerkingen
Het vensterobject is eigenaar van en beheert de levensduur van de geretourneerde aanwijzer, dus het mag alleen worden gebruikt voor toegang tot het object; verwijder de aanwijzer niet of sla de aanwijzer permanent op.
CWnd::GetExStyle
Retourneert de uitgebreide stijl van het venster.
DWORD GetExStyle() const;
Retourwaarde
De uitgebreide stijl van het venster. Zie Uitgebreide vensterstijlen voor meer informatie over de uitgebreide vensterstijlen die worden gebruikt in MFC.
CWnd::GetFocus
Hiermee wordt een aanwijzer opgehaald naar de CWnd aanwijzer die momenteel de invoerfocus heeft.
static CWnd* PASCAL GetFocus();
Retourwaarde
Een aanwijzer naar het venster met de huidige focus of NULL als er geen focusvenster is.
De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
CWnd::GetFont
Hiermee wordt het WM_GETFONT bericht naar het venster verzonden om het huidige lettertype op te halen.
CFont* GetFont() const;
Retourwaarde
Wijs een CFont object aan dat is gekoppeld aan het huidige lettertype voor het venster.
Opmerkingen
Deze methode heeft geen effect tenzij het venster het WM_GETFONT bericht verwerkt. Veel MFC-klassen die zijn afgeleid van CWnd het proces van dit bericht, omdat ze zijn gekoppeld aan een vooraf gedefinieerde vensterklasse die een berichthandler voor het WM_GETFONT bericht bevat. Als u deze methode wilt gebruiken, moeten klassen waaruit u afgeleid bent CWnd , een methode-handler voor het WM_GETFONT bericht definiëren.
CWnd::GetForegroundWindow
Retourneert een aanwijzer naar het voorgrondvenster (het venster waarmee de gebruiker momenteel werkt).
static CWnd* PASCAL GetForegroundWindow();
Retourwaarde
Een aanwijzer naar het voorgrondvenster. Dit kan een tijdelijk CWnd object zijn.
Opmerkingen
Het voorgrondvenster is alleen van toepassing op vensters op het hoogste niveau (framevensters of dialoogvensters).
CWnd::GetIcon
Roep deze lidfunctie aan om de ingang te krijgen naar een groot (32x32) of de greep naar een klein (16x16) pictogram, zoals aangegeven door bBigIcon.
HICON GetIcon(BOOL bBigIcon) const;
Parameterwaarden
bBigIcon
Hiermee geeft u een 32 pixel bij 32 pixel pictogram als TRUE; geeft een 16 pixel bij 16 pixel pictogram indien FALSE.
Retourwaarde
Een greep naar een pictogram. Als dit niet lukt, wordt het resultaat geretourneerd NULL.
CWnd::GetLastActivePopup
Bepaalt welk pop-upvenster het CWnd laatst actief was.
CWnd* GetLastActivePopup() const;
Retourwaarde
Identificeert het meest recent actieve pop-upvenster. De retourwaarde is het venster zelf als aan een van de volgende voorwaarden wordt voldaan:
Het venster zelf was het laatst actief.
Het venster heeft geen pop-upvensters.
Het venster is geen venster op het hoogste niveau of is eigendom van een ander venster.
De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Example
Zie het voorbeeld voor CWnd::FindWindow.
CWnd::GetLayeredWindowAttributes
Haalt de dekkings- en transparantiekleursleutel van een gelaagd venster op.
BOOL GetLayeredWindowAttributes(
COLORREF* pcrKey,
BYTE* pbAlpha,
DWORD* pdwFlags) const;
Parameterwaarden
pcrKey
Aanwijzer naar een COLORREF waarde die de doorzichtigheidskleursleutel ontvangt die moet worden gebruikt bij het opstellen van het gelaagde venster. Alle pixels die door het venster in deze kleur zijn geschilderd, zijn transparant. Dit kan zijn NULL als het argument niet nodig is.
pbAlpha
Aanwijzer naar een BYTE waarde die de Alfa-waarde ontvangt die wordt gebruikt om de dekking van het gelaagde venster te beschrijven. Wanneer de variabele waarnaar wordt verwezen pbAlpha 0 is, is het venster volledig transparant. Wanneer de variabele waarnaar wordt verwezen pbAlpha 255 is, is het venster ondoorzichtig. Dit kan zijn NULL als het argument niet nodig is.
pdwFlags
Aanwijzer naar een DWORD vlag die een gelaagde vlag ontvangt. Dit kan zijn NULL als het argument niet nodig is. Zie 'GetLayeredWindowAttributes' voor een volledige lijst met mogelijke waarden.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetLayeredWindowAttributesgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetMenu
Hiermee wordt een aanwijzer naar het menu voor dit venster opgehaald.
CMenu* GetMenu() const;
Retourwaarde
Hiermee wordt het menu geïdentificeerd. De waarde is NULL als CWnd er geen menu is. De retourwaarde is niet gedefinieerd als CWnd het een onderliggend venster is.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Deze functie mag niet worden gebruikt voor onderliggende vensters omdat ze geen menu hebben.
Example
void CMainFrame::OnCwndDeletefilemenu()
{
// This example deletes the leftmost popup menu or leftmost
// popup menu item from the application's main window.
CWnd *pMain = AfxGetMainWnd();
// The main window _can_ be NULL, so this code
// doesn't ASSERT and actually tests.
if (pMain != NULL)
{
// Get the main window's menu
CMenu *pMenu = pMain->GetMenu();
// If there is a menu and it has items, we'll
// delete the first one.
if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
{
pMenu->DeleteMenu(0, MF_BYPOSITION);
// force a redraw of the menu bar
pMain->DrawMenuBar();
}
// No need to delete pMenu because it is an MFC
// temporary object.
}
}
CWnd::GetMenuBarInfo
Hiermee wordt informatie opgehaald over de opgegeven menubalk.
BOOL GetMenuBarInfo(
LONG idObject,
LONG idItem,
PMENUBARINFO pmbi) const;
Parameterwaarden
idObject
Hiermee geeft u het menuobject. Zie voor een lijst met mogelijke waarden GetMenuBarInfo.
idItem
Hiermee geeft u het item op waarvoor informatie moet worden opgehaald. Als deze parameter nul is, haalt de functie informatie over het menu zelf op. Als deze parameter 1 is, haalt de functie informatie op over het eerste item in het menu, enzovoort.
pmbi
Wijs een MENUBARINFO structuur aan die de informatie ontvangt.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetMenuBarInfogeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetNextDlgGroupItem
Hiermee wordt gezocht naar het vorige of volgende besturingselement in een groep besturingselementen in een dialoogvenster.
CWnd* GetNextDlgGroupItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgGroupItem(
COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;
Parameterwaarden
pWndCtl
Identificeert het besturingselement dat moet worden gebruikt als uitgangspunt voor de zoekopdracht.
bPrevious
Hiermee geeft u op hoe de functie de groep besturingselementen in het dialoogvenster doorzoekt. Als TRUE, de functie zoekt naar het vorige besturingselement in de groep; als FALSE, zoekt deze naar het volgende besturingselement in de groep.
pCurSiteOrWnd
Identificeert het COleControlSiteOrWnd besturingselement. Zie Opmerkingen voor meer informatie.COleControlSiteOrWnd
Retourwaarde
Wijs het vorige of volgende besturingselement in de groep aan als de lidfunctie is geslaagd.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Een groep besturingselementen begint met een besturingselement dat is gemaakt met de WS_GROUP stijl en eindigt met het laatste besturingselement dat niet met de WS_GROUP stijl is gemaakt.
De lidfunctie retourneert standaard GetNextDlgGroupItem een aanwijzer naar het volgende besturingselement in de groep. Als pWndCtl het eerste besturingselement in de groep wordt geïdentificeerd en bPrevious dit is TRUE, GetNextDlgGroupItem retourneert u een aanwijzer naar het laatste besturingselement in de groep.
Opmerking
Omdat MFC ondersteuning biedt voor vensterloze ActiveX-besturingselementen, standaard ActiveX-besturingselementen en vensters, verwijst naar een besturingselement door alleen een HWND besturingselement dat niet meer volstaat. Het COleControlSiteOrWnd object bevat informatie die het object als een venster activeX-besturingselement, een vensterloos ActiveX-besturingselement of een venster identificeert, als volgt:
| Type besturingselement of venster | Identificatiegegevens |
|---|---|
| Venster activex-besturingselement | Bevat een HWND en koppelt er een COleControlSite-object aan. Het m_hWnd lid wordt ingesteld op het HWND besturingselement COleControlSiteOrWnd en het m_pSite lid verwijst naar het besturingselementCOleControlSite. |
| Vensterloos ActiveX-besturingselement | Bevat geen HWND. Het m_pSite lid van COleControlSiteOrWnd de punten naar de besturingselementen COleControlSiteen het m_hWnd lid is NULL. |
| Standaardvenster | Bevat slechts een HWND. Het m_hWnd lid COleControlSiteOrWnd is ingesteld op de HWND van het venster en het m_pSite lid is NULL. |
CWnd::GetNextDlgTabItem
Hiermee wordt een aanwijzer opgehaald naar het eerste besturingselement dat is gemaakt met de WS_TABSTOP stijl en die voorafgaat aan of volgt het opgegeven besturingselement.
CWnd* GetNextDlgTabItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgTabItem(
COleControlSiteOrWnd* pCurSiteOrWnd,
BOOL bPrevious) const;
Parameterwaarden
pWndCtl
Identificeert het besturingselement dat moet worden gebruikt als uitgangspunt voor de zoekopdracht.
pCurSiteOrWnd
Identificeert het COleControlSiteOrWnd besturingselement. Zie voor meer informatie over COleControlSiteOrWndCWnd::GetNextDlgGroupItem.
bPrevious
Hiermee geeft u op hoe de functie het dialoogvenster doorzoekt. Als TRUE, de functie zoekt naar het vorige besturingselement in het dialoogvenster; als FALSE, zoekt het naar het volgende besturingselement.
Retourwaarde
Wijs het vorige of volgende besturingselement met de WS_TABSTOP stijl aan als de lidfunctie is geslaagd.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Zie voor meer informatie over COleControlSiteOrWndCWnd::GetNextDlgGroupItem.
CWnd::GetNextWindow
Hiermee wordt gezocht naar het volgende (of vorige) venster in de lijst met vensterbeheer.
CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;
Parameterwaarden
nFlag
Hiermee geeft u op of de functie een aanwijzer retourneert naar het volgende venster of het vorige venster. Dit kan een van beide zijn GW_HWNDNEXT, die het venster retourneert dat volgt op het CWnd object in de lijst met vensterbeheer, of GW_HWNDPREV, dat het vorige venster in de lijst van vensterbeheer retourneert.
Retourwaarde
Identificeert het volgende (of het vorige) venster in de lijst van vensterbeheer als de lidfunctie is geslaagd.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
De lijst met vensterbeheer bevat vermeldingen voor alle vensters op het hoogste niveau, de bijbehorende onderliggende vensters en de onderliggende vensters van alle onderliggende vensters.
Als dit een venster op het hoogste niveau is, zoekt de functie naar het volgende (of vorige) venster op het hoogste niveau. Als CWndCWnd dit een onderliggend venster is, zoekt de functie naar het volgende (of vorige) onderliggende venster.
CWnd::GetOleControlSite
Haalt de aangepaste site voor het opgegeven ActiveX-besturingselement op.
COleControlSite* GetOleControlSite(UINT idControl) const;
Parameterwaarden
idControl
De id van het ActiveX-besturingselement.
CWnd::GetOpenClipboardWindow
Hiermee haalt u de greep op van het venster waarop het Klembord momenteel is geopend.
static CWnd* PASCAL GetOpenClipboardWindow();
Retourwaarde
De ingang van het venster waarop het Klembord momenteel is geopend als de functie is geslaagd; anders NULL.
CWnd::GetOwner
Hiermee wordt een aanwijzer opgehaald naar de eigenaar van het venster.
CWnd* GetOwner() const;
Retourwaarde
Een aanwijzer naar een CWnd object.
Opmerkingen
Als het venster geen eigenaar heeft, wordt standaard een aanwijzer naar het bovenliggende vensterobject geretourneerd. Houd er rekening mee dat de relatie tussen de eigenaar en het eigendom verschilt van het bovenliggende/onderliggende aspect in verschillende belangrijke aspecten. Een venster met een bovenliggend item is bijvoorbeeld beperkt tot het clientgebied van het bovenliggende venster. Vensters in eigendom kunnen op elke locatie op het bureaublad worden getekend.
Het eigendomsconcept van deze functie verschilt van het eigendomsconcept van GetWindow.
CWnd::GetParent
Roep deze functie aan om een aanwijzer op te halen naar het bovenliggende venster van een onderliggend venster (indien van toepassing).
CWnd* GetParent() const;
Retourwaarde
Zie de sectie Retourwaarden in GetParent de Windows SDK.
Opmerkingen
De GetParent functie retourneert een aanwijzer naar het directe bovenliggende item (als deze bestaat). De functie retourneert daarentegen GetParentOwner een aanwijzer naar het meest directe bovenliggende of eigenaarsvenster dat geen onderliggend venster is (heeft de WS_CHILD stijl niet). Als u een onderliggend venster in een onderliggend venster GetParent hebt en GetParentOwner verschillende resultaten retourneert.
CWnd::GetParentFrame
Roep deze lidfunctie aan om het bovenliggende framevenster op te halen.
CFrameWnd* GetParentFrame() const;
Retourwaarde
Een aanwijzer naar een framevenster indien geslaagd; anders NULL.
Opmerkingen
De lidfunctie doorzoekt de bovenliggende keten totdat een CFrameWnd (of afgeleide klasse) object is gevonden.
CWnd::GetParentOwner
Roep deze lidfunctie aan om een aanwijzer te krijgen naar het bovenliggende venster of eigenaarvenster van een onderliggend venster.
CWnd* GetParentOwner() const;
Retourwaarde
Een aanwijzer naar een CWnd object. Als een CWnd object niet aan de ingang is gekoppeld, wordt er een tijdelijk CWnd object gemaakt en gekoppeld. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
GetParentOwner retourneert een aanwijzer naar het meest directe bovenliggende of eigenaarvenster dat geen onderliggend venster is (heeft de WS_CHILD stijl niet). Het venster van de huidige eigenaar kan worden ingesteld met SetOwner. Standaard is het bovenliggende element van een venster de eigenaar.
De functie retourneert daarentegen GetParent een aanwijzer naar het directe bovenliggende item, of het nu een onderliggend venster is of niet. Als u een onderliggend venster in een onderliggend venster GetParent hebt en GetParentOwner verschillende resultaten retourneert.
CWnd::GetProperty
Roep deze lidfunctie aan om de ActiveX-besturingselementeigenschap op te halen die is opgegeven door dwDispID.
void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp)const;
Parameterwaarden
dwDispID
Identificeert de eigenschap die moet worden opgehaald.
vtProp
Hiermee geeft u het type van de eigenschap die moet worden opgehaald. Zie de sectie Opmerkingen voor mogelijke waarden voor COleDispatchDriver::InvokeHelper.
pvProp
Adres van de variabele die de eigenschapswaarde ontvangt. Het moet overeenkomen met het type dat is opgegeven door vtProp.
Opmerkingen
GetProperty retourneert de waarde via pvProp.
Opmerking
Deze functie mag alleen worden aangeroepen voor een CWnd object dat een ActiveX-besturingselement vertegenwoordigt.
Zie het artikel ActiveX Control Containers: ActiveX-besturingselementen programmeren in een ActiveX-besturingscontainer voor meer informatie over het gebruik van deze lidfunctie met ActiveX-besturingselementen.
CWnd::GetRenderTarget
Hiermee haalt u een renderdoel op dat aan dit venster is gekoppeld.
CHwndRenderTarget* GetRenderTarget();
Retourwaarde
Aanwijzer naar het renderdoel of NULL.
CWnd::GetSafeHwnd
Retourneert m_hWndof NULL als de this aanwijzer is NULL.
HWND GetSafeHwnd() const;
Retourwaarde
Retourneert de venstergreep voor een venster. Retourneert NULL als het CWnd niet is gekoppeld aan een venster of als deze wordt gebruikt met een NULLCWnd aanwijzer.
Example
Zie het voorbeeld voor CWnd::SubclassWindow.
CWnd::GetSafeOwner
Roep deze lidfunctie aan om het eigenaarvenster op te halen dat moet worden gebruikt voor dialoogvensters of andere modale vensters.
static CWnd* GetSafeOwner(
CWnd* pParent = NULL,
HWND* pWndTop = NULL);
Parameterwaarden
pParent
Een aanwijzer naar een bovenliggend CWnd venster. Misschien wel NULL.
pWndTop
Een aanwijzer naar het venster dat zich bovenaan bevindt. Misschien wel NULL.
Retourwaarde
Een aanwijzer naar de veilige eigenaar voor het opgegeven venster.
Opmerkingen
De veilige eigenaar is het eerste niet-onderliggende bovenliggende venster van pParent. Als pParent dat het NULLis, wordt het hoofdvenster van de thread (opgehaald via AfxGetMainWnd) gebruikt om een eigenaar te vinden.
Opmerking
Het framework zelf gebruikt deze functie om het juiste eigenaarsvenster te bepalen voor dialoogvensters en eigenschappenvensters waar de eigenaar niet is opgegeven.
CWnd::GetScrollBarCtrl
Roep deze lidfunctie aan om een aanwijzer te verkrijgen naar de opgegeven schuifbalk of splitsbalk.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parameterwaarden
nBar
Hiermee geeft u het type schuifbalk. De parameter kan een van de volgende waarden hebben:
SB_HORZHiermee haalt u de positie van de horizontale schuifbalk op.SB_VERTHiermee haalt u de positie van de verticale schuifbalk op.
Retourwaarde
Een besturingselement voor de schuifbalk op hetzelfde niveau of NULL als er geen is.
Opmerkingen
Deze lidfunctie werkt niet op schuifbalken die zijn gemaakt wanneer de WS_HSCROLL of WS_VSCROLL bits zijn ingesteld tijdens het maken van een venster. De CWnd implementatie van deze functie retourneert NULLgewoon . Afgeleide klassen, zoals CView, implementeren de beschreven functionaliteit.
CWnd::GetScrollBarInfo
Haalt informatie over de opgegeven schuifbalk op.
BOOL GetScrollBarInfo(
LONG idObject,
PSCROLLBARINFO psbi) const;
Parameterwaarden
idObject
Hiermee geeft u het menuobject. Zie voor een lijst met mogelijke waarden GetScrollBarInfo.
psbi
Wijs een SCROLLBARINFO structuur aan die de informatie ontvangt.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetScrollBarInfogeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetScrollInfo
Roep deze lidfunctie aan om de informatie op te halen die door de SCROLLINFO structuur wordt onderhouden over een schuifbalk.
BOOL GetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parameterwaarden
nBar
Hiermee geeft u op of de schuifbalk een besturingselement of onderdeel is van het niet-clientgebied van een venster. Als het deel uitmaakt van het niet-clientgebied, nBar geeft u ook aan of de schuifbalk horizontaal, verticaal of beide is geplaatst. Dit moet een van de volgende zijn:
SB_CTLHaalt de parameters voor een schuifbalk besturingselement op. Hetm_hWndgegevenslid moet de greep van het besturingselement voor de schuifbalk zijn.SB_HORZHaalt de parameters voor de standaard horizontale schuifbalk van het venster op.SB_VERTHaalt de parameters voor de standaard verticale schuifbalk van het venster op.
lpScrollInfo
Een aanwijzer naar een SCROLLINFO structuur. Zie de Windows SDK voor meer informatie over deze structuur.
nMask
Hiermee geeft u de schuifbalkparameters op die moeten worden opgehaald. De standaardwaarde geeft een combinatie van SIF_PAGE, SIF_POS, en SIF_RANGESIF_TRACKPOS. Zie SCROLLINFO voor meer informatie over de nMask waarden.
Retourwaarde
Als het bericht waarden heeft opgehaald, is TRUEhet resultaat. Anders is FALSEhet .
Opmerkingen
GetScrollInfo stelt toepassingen in staat om 32-bits schuifposities te gebruiken.
De SCROLLINFO structuur bevat informatie over een schuifbalk, inclusief de minimale en maximale schuifposities, het paginaformaat en de positie van het schuifvak (de duim). Zie het SCROLLINFO structuuronderwerp in de Windows SDK voor meer informatie over het wijzigen van de standaardinstellingen voor de structuur.
De MFC Windows-berichthandlers die de positie van de schuifbalk aangeven, CWnd::OnHScroll en CWnd::OnVScroll, bieden slechts 16 bits aan positiegegevens.
GetScrollInfo en SetScrollInfo geef 32 bits aan schuifbalkpositiegegevens op. Een toepassing kan dus aanroepen GetScrollInfo tijdens de verwerking CWnd::OnHScroll of CWnd::OnVScroll om gegevens over de 32-bits schuifbalkpositie te verkrijgen.
CWnd::GetScrollLimit
Roep deze lidfunctie aan om de maximale schuifpositie van de schuifbalk op te halen.
int GetScrollLimit(int nBar);
Parameterwaarden
nBar
Hiermee geeft u het type schuifbalk. De parameter kan een van de volgende waarden hebben:
SB_HORZHiermee haalt u de schuiflimiet van de horizontale schuifbalk op.SB_VERTHiermee wordt de schuiflimiet van de verticale schuifbalk opgehaald.
Retourwaarde
Hiermee geeft u de maximale positie van een schuifbalk indien geslaagd; anders 0.
CWnd::GetScrollPos
Hiermee haalt u de huidige positie van het schuifvak van een schuifbalk op.
int GetScrollPos(int nBar) const;
Parameterwaarden
nBar
Hiermee geeft u de schuifbalk om te onderzoeken. De parameter kan een van de volgende waarden hebben:
SB_HORZHiermee haalt u de positie van de horizontale schuifbalk op.SB_VERTHiermee haalt u de positie van de verticale schuifbalk op.
Retourwaarde
Hiermee geeft u de huidige positie van het schuifvak in de schuifbalk indien geslaagd; anders 0.
Opmerkingen
De huidige positie is een relatieve waarde die afhankelijk is van het huidige schuifbereik. Als het schuifbereik bijvoorbeeld 50 tot 100 is en het schuifvak zich midden in de balk bevindt, is de huidige positie 75.
CWnd::GetScrollRange
Hiermee kopieert u de huidige minimale en maximale schuifbalkposities voor de opgegeven schuifbalk naar de locaties die zijn opgegeven door lpMinPos en lpMaxPos.
void GetScrollRange(
int nBar,
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parameterwaarden
nBar
Hiermee geeft u de schuifbalk om te onderzoeken. De parameter kan een van de volgende waarden hebben:
SB_HORZHiermee haalt u de positie van de horizontale schuifbalk op.SB_VERTHiermee haalt u de positie van de verticale schuifbalk op.
lpMinPos
Verwijst naar de variabele geheel getal die de minimale positie moet ontvangen.
lpMaxPos
Verwijst naar de variabele geheel getal dat de maximale positie ontvangt.
Opmerkingen
Als CWnd er geen schuifbalk is, kopieert de GetScrollRange lidfunctie 0 naar lpMinPos en lpMaxPos.
Het standaardbereik voor een standaardschuifbalk is 0 tot 100. Het standaardbereik voor een schuifbalkbesturingselement is leeg (beide waarden zijn 0).
CWnd::GetStyle
Retourneert de huidige vensterstijl.
DWORD GetStyle() const;
Retourwaarde
De stijl van het venster. Zie Vensterstijlen voor meer informatie over de vensterstijlen die worden gebruikt in MFC.
CWnd::GetSystemMenu
Hiermee heeft de toepassing toegang tot het menu Control voor het kopiëren en wijzigen.
CMenu* GetSystemMenu(BOOL bRevert) const;
Parameterwaarden
bRevert
Hiermee geeft u de actie die moet worden uitgevoerd. Als bRevert dat het is FALSE, GetSystemMenu retourneert u een ingang naar een kopie van het menu Control dat momenteel in gebruik is. Deze kopie is in eerste instantie identiek aan het menu Control, maar kan worden gewijzigd. Als bRevert dat het is TRUE, GetSystemMenu wordt het menu Control teruggezet naar de standaardstatus. Het vorige, mogelijk gewijzigd, menu Control, indien aanwezig, wordt vernietigd. De retourwaarde is in dit geval niet gedefinieerd.
Retourwaarde
Identificeert een kopie van het menu Control als bRevert dat het is FALSE. Als bRevert dat het is TRUE, is de retourwaarde niet gedefinieerd.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Elk venster dat niet wordt gebruikt GetSystemMenu om een eigen kopie van het menu Control te maken, ontvangt het standaardmenu Control.
De aanwijzer die door de GetSystemMenu lidfunctie wordt geretourneerd, kan worden gebruikt met de CMenu::AppendMenu, CMenu::InsertMenuof CMenu::ModifyMenu functies om het menu Control te wijzigen.
Het menu Control bevat in eerste instantie items die zijn geïdentificeerd met verschillende id-waarden, zoals SC_CLOSE, SC_MOVEen SC_SIZE. Items in het menu Control genereren WM_SYSCOMMAND berichten. Alle vooraf gedefinieerde besturingsmenu-items hebben id-nummers die groter zijn dan 0xF000. Als een toepassing items toevoegt aan het menu Control, moet deze id-nummers kleiner dan F000 gebruiken.
Windows maakt items mogelijk automatisch niet beschikbaar in het standaardmenu Control.
CWnd kan een eigen selectie of onbeschikbaarheid uitvoeren door te reageren op de WM_INITMENU berichten, die worden verzonden voordat een menu wordt weergegeven.
Example
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUT);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CWnd::GetTitleBarInfo
Haalt informatie over de opgegeven titelbalk op.
BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;
Parameterwaarden
pti
Wijs een TITLEBARINFO structuur aan die de informatie ontvangt.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetTitleBarInfogeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetTopLevelFrame
Roep deze lidfunctie aan om het framevenster op het hoogste niveau van het venster op te halen, indien van toepassing.
CFrameWnd* GetTopLevelFrame() const;
Retourwaarde
Identificeert het framevenster op het hoogste niveau van het venster.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Als CWnd er geen gekoppeld venster is of het bovenliggende item op het hoogste niveau geen CFrameWnd-afgeleide object is, retourneert NULLdeze functie .
CWnd::GetTopLevelOwner
Roep deze lidfunctie aan om het venster op het hoogste niveau op te halen.
CWnd* GetTopLevelOwner() const;
Retourwaarde
Identificeert het venster op het hoogste niveau. De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Het venster op het hoogste niveau is het venster dat een onderliggend element van het bureaublad is. Als CWnd er geen gekoppeld venster is, retourneert NULLdeze functie .
CWnd::GetTopLevelParent
Roep deze lidfunctie aan om het bovenliggende item op het hoogste niveau van het venster op te halen.
CWnd* GetTopLevelParent() const;
Retourwaarde
Identificeert het bovenliggende venster op het hoogste niveau van het venster.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
GetTopLevelParent is vergelijkbaar met GetTopLevelFrame en GetTopLevelOwner; deze negeert echter de waarde die is ingesteld als het huidige eigenaarsvenster.
CWnd::GetTopWindow
Hiermee wordt gezocht naar het onderliggende venster op het hoogste niveau waartoe CWndhet behoort.
CWnd* GetTopWindow() const;
Retourwaarde
Identificeert het onderliggende venster op het hoogste niveau in een CWnd gekoppelde lijst met onderliggende vensters. Als er geen onderliggende vensters bestaan, is NULLde waarde .
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Als CWnd er geen onderliggende items zijn, retourneert NULLdeze functie .
CWnd::GetUpdateRect
Haalt de coördinaten op van de kleinste rechthoek die het updategebied volledig omsluit.
BOOL GetUpdateRect(
LPRECT lpRect,
BOOL bErase = FALSE);
Parameterwaarden
lpRect
Verwijst naar een CRect object of RECT structuur dat de clientcoördinaten ontvangt van de update die de updateregio omsluit.
Stel deze parameter in om te NULL bepalen of er een updateregio in de CWndregio bestaat. Als lpRect dat het geval is NULL, retourneert de GetUpdateRect lidfunctie niet-nul als er een updateregio bestaat en 0 als dat niet het geval is. Dit biedt een manier om te bepalen of een WM_PAINT bericht heeft geresulteerd uit een ongeldig gebied. Stel deze parameter NULL niet in op Windows versie 3.0 en eerder.
bErase
Hiermee geeft u op of de achtergrond in de updateregio moet worden gewist.
Retourwaarde
Hiermee geeft u de status van de updateregio. De waarde is niet-nul als de updateregio niet leeg is; anders 0.
Als de lpRect parameter is ingesteld op NULL, is de retourwaarde niet nul als er een updateregio bestaat; anders 0.
Opmerkingen
Als CWnd deze is gemaakt met de CS_OWNDC stijl en de toewijzingsmodus niet MM_TEXT, geeft de GetUpdateRect lidfunctie de rechthoek in logische coördinaten.
GetUpdateRect Anders geeft u de rechthoek in clientcoördinaten. Als er geen updateregio is, GetUpdateRect stelt u de rechthoek in op leeg (stelt alle coördinaten in op 0).
De bErase parameter geeft aan of GetUpdateRect de achtergrond van de updateregio moet worden gewist. Als bErase dat het is TRUE en de updateregio niet leeg is, wordt de achtergrond gewist. Als u de achtergrond wilt wissen, GetUpdateRect verzendt u het WM_ERASEBKGND bericht.
De updaterechthoek die door de BeginPaint lidfunctie wordt opgehaald, is identiek aan de rechthoek die door de GetUpdateRect lidfunctie wordt opgehaald.
De BeginPaint lidfunctie valideert automatisch de updateregio, dus elke aanroep die direct na een aanroep wordt GetUpdateRect gedaan om een lege updateregio op te BeginPaint halen.
CWnd::GetUpdateRgn
Haalt de updateregio op in een regio die wordt geïdentificeerd door pRgn.
int GetUpdateRgn(
CRgn* pRgn,
BOOL bErase = FALSE);
Parameterwaarden
pRgn
Identificeert de updateregio.
bErase
Hiermee geeft u op of de achtergrond wordt gewist en niet-clientgebieden van onderliggende vensters worden getekend. Als de waarde is FALSE, wordt er geen tekening uitgevoerd.
Retourwaarde
Hiermee geeft u een vlag voor een kort geheel getal op die het type resulterende regio aangeeft. De waarde kan een van de volgende oorzaken hebben:
SIMPLEREGIONDe regio heeft geen overlappende randen.COMPLEXREGIONDe regio heeft overlappende randen.NULLREGIONDe regio is leeg.ERROREr is geen regio gemaakt.
Opmerkingen
De coördinaten van deze regio zijn relatief ten opzichte van de linkerbovenhoek (clientcoördinaten).
De BeginPaint lidfunctie valideert automatisch de updateregio, dus elke aanroep die direct na een aanroep wordt GetUpdateRgn gedaan om een lege updateregio op te BeginPaint halen.
CWnd::GetWindow
Hiermee wordt een aanwijzer geretourneerd naar het aangevraagde venster of NULL als er geen venster is.
CWnd* GetWindow(UINT nCmd) const;
Parameterwaarden
nCmd
Hiermee geeft u de relatie tussen CWnd en het geretourneerde venster. Er kan een van de volgende waarden worden gebruikt:
GW_CHILDHiermee wordt hetCWndeerste onderliggende venster geïdentificeerd.GW_HWNDFIRSTAlsCWnddit een onderliggend venster is, wordt het eerste venster op hetzelfde niveau geretourneerd. Anders wordt het eerste venster op het hoogste niveau in de lijst geretourneerd.GW_HWNDLASTAlsCWnddit een onderliggend venster is, wordt het laatste venster op hetzelfde niveau geretourneerd. Anders wordt het laatste venster op het hoogste niveau in de lijst geretourneerd.GW_HWNDNEXTRetourneert het volgende venster in de lijst met vensterbeheer.GW_HWNDPREVRetourneert het vorige venster in de lijst met vensterbeheer.GW_OWNERIdentificeert deCWndeigenaar.
Retourwaarde
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
CWnd::GetWindowContextHelpId
Roep deze lidfunctie aan om de help-context-id, indien aanwezig, op te halen die aan het venster is gekoppeld.
DWORD GetWindowContextHelpId() const;
Retourwaarde
De Help-context-id. Retourneert 0 als het venster geen heeft.
CWnd::GetWindowedChildCount
Roep deze lidfunctie aan om het aantal gekoppelde onderliggende vensters op te halen.
long GetWindowedChildCount();
Retourwaarde
Het aantal onderliggende vensters dat aan het CWnd object is gekoppeld.
CWnd::GetWindowDC
Hiermee haalt u de weergavecontext voor het hele venster op, inclusief bijschriftbalk, menu's en schuifbalken.
CDC* GetWindowDC();
Retourwaarde
Identificeert de weergavecontext voor het opgegeven venster als de functie is geslaagd; anders NULL.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
ReleaseDC moet één keer worden aangeroepen voor elke geslaagde aanroep naar GetWindowDC.
Opmerkingen
Een vensterweergavecontext maakt het mogelijk om overal in CWndte schilderen, omdat de oorsprong van de context de linkerbovenhoek is van CWnd in plaats van het clientgebied.
Standaardkenmerken worden telkens aan de weergavecontext toegewezen wanneer deze de context ophaalt. Eerdere kenmerken gaan verloren.
GetWindowDC is bedoeld om te worden gebruikt voor speciale schildereffecten binnen het CWnd niet-clientgebied. Schilderen in niet-clientgebieden van een venster wordt niet aanbevolen.
De GetSystemMetrics Windows-functie kan worden gebruikt om de afmetingen van verschillende onderdelen van het niet-clientgebied op te halen, zoals de bijschriftbalk, het menu en schuifbalken.
Nadat het schilderen is voltooid, moet de ReleaseDC lidfunctie worden aangeroepen om de weergavecontext vrij te geven. Het vrijgeven van de weergavecontext is ernstig van invloed op het schilderij dat door toepassingen wordt aangevraagd vanwege beperkingen van het aantal apparaatcontexten dat tegelijkertijd kan worden geopend.
CWnd::GetWindowInfo
Haalt informatie over het venster op.
BOOL GetWindowInfo(PWINDOWINFO pwi) const;
Parameterwaarden
pwi
Een aanwijzer naar een WINDOWINFO structuur.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie GetWindowInfogeëmuleren, zoals beschreven in de Windows SDK.
CWnd::GetWindowlessChildCount
Hiermee haalt u het aantal gekoppelde vensters zonder vensters op.
long GetWindowlessChildCount();
Retourwaarde
Het aantal vensterloze onderliggende vensters dat aan het CWnd object is gekoppeld.
CWnd::GetWindowPlacement
Haalt de weergavestatus en de normale (herstelde), geminimaliseerde en gemaximaliseerde posities van een venster op.
BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;
Parameterwaarden
lpwndpl
Verwijst naar de WINDOWPLACEMENT structuur die de status- en positiegegevens van de show ontvangt.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Het flags lid van de WINDOWPLACEMENT structuur die door deze functie wordt opgehaald, is altijd 0. Als CWnd dit is gemaximaliseerd, is het showCmd lid van WINDOWPLACEMENT .SW_SHOWMAXIMIZED Als het venster is geminimaliseerd, is SW_SHOWMINIMIZEDhet . Het is SW_SHOWNORMAL anders.
CWnd::GetWindowRect
Hiermee kopieert u de afmetingen van de begrenzingsrechthoek van het CWnd object naar de structuur waarnaar wordt verwezen lpRect.
void GetWindowRect(LPRECT lpRect) const;
Parameterwaarden
lpRect
Verwijst naar een CRect object of een RECT structuur die de schermcoördinaten van de hoeken linksboven en rechtsonder ontvangt.
Opmerkingen
De afmetingen worden weergegeven in schermcoördinaten ten opzichte van de linkerbovenhoek van het scherm. De afmetingen van de ondertitelings-, rand- en schuifbalken, indien aanwezig, zijn opgenomen.
CWnd::GetWindowRgn
Roep deze lidfunctie aan om het venstergebied van een venster op te halen.
int GetWindowRgn(HRGN hRgn)const;
Parameterwaarden
hRgn
Een ingang naar een vensterregio.
Retourwaarde
De retourwaarde geeft het type aan van de regio die de functie verkrijgt. Dit kan een van de volgende waarden zijn:
NULLREGIONDe regio is leeg.SIMPLEREGIONDe regio is één rechthoek.COMPLEXREGIONDe regio is meer dan één rechthoek.ERROREr is een fout opgetreden; de regio niet wordt beïnvloed.
Opmerkingen
De vensterregio bepaalt het gebied in het venster waar het besturingssysteem tekent. Het besturingssysteem geeft geen gedeelte van een venster weer dat zich buiten de vensterregio bevindt.
De coördinaten van het venstergebied van een venster zijn relatief ten opzichte van de linkerbovenhoek van het venster, niet het clientgebied van het venster.
Als u het venstergebied van een venster wilt instellen, roept u het aan CWnd::SetWindowRgn.
CWnd::GetWindowText
Kopieert de titel van het CWnd bijschrift (als deze er een heeft) naar de buffer die wordt verwezen door lpszStringBuf of naar de doeltekenreeks rString.
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(
CString& rString) const;
Parameterwaarden
lpszStringBuf
Verwijst naar de buffer die de gekopieerde tekenreeks van de titel van het venster moet ontvangen.
nMaxCount
Hiermee geeft u het maximum aantal tekens op dat moet worden gekopieerd naar de buffer, inclusief het afsluitende null-teken. Als de tekenreeks langer is dan het aantal tekens dat is nMaxCountopgegeven, wordt deze afgekapt.
rString
Een CString object dat de gekopieerde tekenreeks van de titel van het venster ontvangt.
Retourwaarde
Hiermee geeft u de lengte, in tekens, van de gekopieerde tekenreeks op, niet inclusief het afsluitende null-teken. Het is 0 als CWnd er geen bijschrift is of als het bijschrift leeg is.
Opmerkingen
Als het CWnd object een besturingselement is, kopieert de GetWindowText lidfunctie de tekst in het besturingselement in plaats van het bijschrift te kopiëren.
Deze lidfunctie zorgt ervoor dat het WM_GETTEXT bericht naar het CWnd object wordt verzonden.
Example
Zie het voorbeeld voor CWnd::SetWindowText.
CWnd::GetWindowTextLength
Retourneert de lengte van de titel van het CWnd objectbijschrift.
int GetWindowTextLength() const;
Retourwaarde
Hiermee geeft u de tekstlengte in tekens op, inclusief geen null-beëindigingsteken. De waarde is 0 als er geen dergelijke tekst bestaat.
Opmerkingen
Als CWnd dit een besturingselement is, retourneert de GetWindowTextLength lidfunctie de lengte van de tekst in het besturingselement in plaats van het bijschrift.
Deze lidfunctie zorgt ervoor dat het WM_GETTEXTLENGTH bericht naar het CWnd object wordt verzonden.
Example
Zie het voorbeeld voor CWnd::SetWindowText.
CWnd::HideCaret
Verbergt de caret door deze te verwijderen uit het scherm.
void HideCaret();
Opmerkingen
Hoewel de caret niet meer zichtbaar is, kan deze opnieuw worden weergegeven met behulp van de ShowCaret lidfunctie. Het verbergen van de caret vernietigt zijn huidige vorm niet.
Verbergen is cumulatief. Als HideCaret de functie vijf keer achter elkaar is aangeroepen, moet de ShowCaret lidfunctie vijf keer worden aangeroepen voordat de caret wordt weergegeven.
CWnd::HiliteMenuItem
Markeert of verwijdert de markering uit een menu-item op het hoogste niveau (menubalk).
BOOL HiliteMenuItem(
CMenu* pMenu,
UINT nIDHiliteItem,
UINT nHilite);
Parameterwaarden
pMenu
Hiermee wordt het menu op het hoogste niveau geïdentificeerd dat het item bevat dat moet worden gemarkeerd.
nIDHiliteItem
Hiermee geeft u het menu-item dat moet worden gemarkeerd, afhankelijk van de waarde van de nHilite parameter.
nHilite
Hiermee geeft u op of het menu-item is gemarkeerd of dat de markering wordt verwijderd. Het kan een combinatie van MF_HILITE of MF_UNHILITE met MF_BYCOMMAND of MF_BYPOSITION. De waarden kunnen worden gecombineerd met behulp van de bitsgewijze OR operator. Deze waarden hebben de volgende betekenissen:
MF_BYCOMMANDInterpreteertnIDHiliteItemals de menu-item-id (de standaardinterpretatie).MF_BYPOSITIONInterpreteertnIDHiliteItemals de offset op basis van nul van het menu-item.MF_HILITEHiermee wordt het item gemarkeerd. Als deze waarde niet is opgegeven, wordt de markering verwijderd uit het item.MF_UNHILITEHiermee verwijdert u de markering uit het item.
Retourwaarde
Hiermee geeft u op of het menu-item is gemarkeerd. Niet-nul als het item is gemarkeerd; anders 0.
Opmerkingen
De MF_HILITE en MF_UNHILITE vlaggen kunnen alleen worden gebruikt met deze lidfunctie. Ze kunnen niet worden gebruikt met de CMenu::ModifyMenu lidfunctie.
CWnd::HtmlHelp
Roep deze lidfunctie aan om de HTMLHelp-toepassing aan te roepen.
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
Parameterwaarden
dwData
Hiermee geeft u aanvullende gegevens op. De gebruikte waarde is afhankelijk van de waarde van de nCmd parameter.
nCmd
Hiermee geeft u het type hulp aangevraagd. Zie de uCommand parameter die wordt beschreven in de HTML Help-API-verwijzing in de Windows SDK voor een lijst met mogelijke waarden en hoe deze van invloed zijn op dwData de parameter.
Opmerkingen
Zie CWinApp::HtmlHelp voor meer informatie.
CWnd::InitDynamicLayout
Aangeroepen door het framework om dynamische indeling voor een venster te initialiseren.
void InitDynamicLayout();
Opmerkingen
Roep deze methode niet rechtstreeks aan.
CWnd::Invalidate
Ongeldig het gehele clientgebied van CWnd.
void Invalidate(BOOL bErase = TRUE);
Parameterwaarden
bErase
Hiermee geeft u op of de achtergrond in de updateregio moet worden gewist.
Opmerkingen
Het clientgebied is gemarkeerd voor schilderen wanneer het volgende WM_PAINT bericht optreedt. De regio kan ook worden gevalideerd voordat een WM_PAINT bericht plaatsvindt door de ValidateRect functie of ValidateRgn lid.
De bErase parameter geeft aan of de achtergrond binnen het updategebied moet worden gewist wanneer de updateregio wordt verwerkt. Als dat het isTRUE, wordt de achtergrond gewist wanneer de BeginPaint lidfunctie wordt aangeroepen. Als bErasebErase dat het isFALSE, blijft de achtergrond ongewijzigd. Als bErase dit voor een deel van de updateregio is TRUE , wordt de achtergrond in de hele regio, niet alleen in het opgegeven deel, gewist.
Windows verzendt een WM_PAINT bericht wanneer de CWnd updateregio niet leeg is en er geen andere berichten in de toepassingswachtrij voor dat venster staan.
Example
Zie het voorbeeld voor CWnd::UpdateWindow.
CWnd::InvalidateRect
Ongeldig het clientgebied binnen de opgegeven rechthoek door die rechthoek toe te voegen aan het CWnd updategebied.
void InvalidateRect(
LPCRECT lpRect,
BOOL bErase = TRUE);
Parameterwaarden
lpRect
Verwijst naar een CRect object of een RECT structuur die de rechthoek (in clientcoördinaten) bevat die moeten worden toegevoegd aan de updateregio. Als lpRect dat het is NULL, wordt het hele clientgebied toegevoegd aan de regio.
bErase
Hiermee geeft u op of de achtergrond in de updateregio moet worden gewist.
Opmerkingen
De ongeldige rechthoek, samen met alle andere gebieden in de updateregio, is gemarkeerd voor schilderen wanneer het volgende WM_PAINT bericht wordt verzonden. De ongeldige gebieden worden verzameld in de updateregio totdat de regio wordt verwerkt wanneer de volgende WM_PAINT aanroep plaatsvindt of totdat de regio wordt gevalideerd door de ValidateRect functie of ValidateRgn lid.
De bErase parameter geeft aan of de achtergrond binnen het updategebied moet worden gewist wanneer de updateregio wordt verwerkt. Als dat het isTRUE, wordt de achtergrond gewist wanneer de BeginPaint lidfunctie wordt aangeroepen. Als bErasebErase dat het isFALSE, blijft de achtergrond ongewijzigd. Als bErase dat het geval is TRUE voor een deel van de updateregio, wordt de achtergrond in de hele regio gewist, niet alleen in het opgegeven deel.
Windows verzendt een WM_PAINT bericht wanneer de CWnd updateregio niet leeg is en er geen andere berichten in de toepassingswachtrij voor dat venster staan.
CWnd::InvalidateRgn
Ongeldig het clientgebied binnen de opgegeven regio door het toe te voegen aan de huidige updateregio van CWnd.
void InvalidateRgn(
CRgn* pRgn,
BOOL bErase = TRUE);
Parameterwaarden
pRgn
Een aanwijzer naar een CRgn object dat de regio identificeert die moet worden toegevoegd aan de updateregio. De regio wordt ervan uitgegaan dat deze clientcoördinaten heeft. Als deze parameter is NULL, wordt het gehele clientgebied toegevoegd aan de updateregio.
bErase
Hiermee geeft u op of de achtergrond in de updateregio moet worden gewist.
Opmerkingen
De ongeldige regio, samen met alle andere gebieden in de updateregio, is gemarkeerd voor schilderen wanneer het WM_PAINT bericht de volgende wordt verzonden. De ongeldige gebieden worden verzameld in de updateregio totdat de regio wordt verwerkt wanneer een WM_PAINT bericht vervolgens wordt verzonden, of totdat de regio wordt gevalideerd door de ValidateRect functie of ValidateRgn lid.
De bErase parameter geeft aan of de achtergrond binnen het updategebied moet worden gewist wanneer de updateregio wordt verwerkt. Als dat het isTRUE, wordt de achtergrond gewist wanneer de BeginPaint lidfunctie wordt aangeroepen. Als bErasebErase dat het isFALSE, blijft de achtergrond ongewijzigd. Als bErase dit voor een deel van de updateregio is TRUE , wordt de achtergrond in de hele regio, niet alleen in het opgegeven deel, gewist.
Windows verzendt een WM_PAINT bericht wanneer de CWnd updateregio niet leeg is en er geen andere berichten in de toepassingswachtrij voor dat venster staan.
De opgegeven regio moet eerder zijn gemaakt door een van de regiofuncties.
CWnd::InvokeHelper
Roep deze lidfunctie aan om de ActiveX-besturingselementmethode of -eigenschap aan te roepen die is opgegeven door dwDispID, in de context die is opgegeven door wFlags.
void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
... );
Parameterwaarden
dwDispID
Identificeert de methode of eigenschap die moet worden aangeroepen.
wFlags
Vlaggen met een beschrijving van de context van de aanroep naar IDispatch::Invoke.
vtRet
Hiermee geeft u het type van de retourwaarde. Zie de sectie Opmerkingen voor mogelijke waarden voor COleDispatchDriver::InvokeHelper.
pvRet
Adres van de variabele die de eigenschapswaarde of retourwaarde ontvangt. Het moet overeenkomen met het type dat is opgegeven door vtRet.
pbParamInfo
Wijs een door null beëindigde tekenreeks van bytes aan die de typen van de volgende pbParamInfoparameters aangeeft. Zie de sectie Opmerkingen voor mogelijke waarden voor COleDispatchDriver::InvokeHelper.
...
Variabele lijst met parameters, van typen die zijn opgegeven in pbParamInfo.
Opmerkingen
Met pbParamInfo de parameter worden de typen parameters opgegeven die worden doorgegeven aan de methode of eigenschap. De lijst met variabelen met argumenten wordt weergegeven ... in de syntaxisdeclaratie.
Met deze functie worden de parameters geconverteerd naar VARIANTARG waarden en wordt vervolgens de IDispatch::Invoke methode op het ActiveX-besturingselement aangeroepen. Als de aanroep mislukt IDispatch::Invoke , genereert deze functie een uitzondering. Als de SCODE (statuscode) die wordt IDispatch::Invoke geretourneerd door is DISP_E_EXCEPTION, genereert deze functie een COleException object, anders wordt er een COleDispatchException.
Opmerking
Deze functie mag alleen worden aangeroepen voor een CWnd object dat een ActiveX-besturingselement vertegenwoordigt.
Zie het artikel ActiveX Control Containers: ActiveX-besturingselementen programmeren in een ActiveX-besturingscontainer voor meer informatie over het gebruik van deze lidfunctie met ActiveX-besturingselementen.
CWnd::IsChild
Geeft aan of het venster dat is pWnd opgegeven door een onderliggend venster of een andere directe afstammeling van CWnd.
BOOL IsChild(const CWnd* pWnd) const;
Parameterwaarden
pWnd
Identificeert het venster dat moet worden getest.
Retourwaarde
Hiermee geeft u het resultaat van de functie. De waarde is niet nul als het venster dat wordt pWnd geïdentificeerd een onderliggend venster is van CWnd; anders 0.
Opmerkingen
Een onderliggend venster is de directe afstammeling van CWnd als het CWnd object zich in de keten van bovenliggende vensters bevindt die van het oorspronkelijke pop-upvenster naar het onderliggende venster leiden.
CWnd::IsD2DSupportEnabled
Bepaalt of D2D-ondersteuning is ingeschakeld.
BOOL IsD2DSupportEnabled();
Retourwaarde
TRUE als de functie is ingeschakeld; anders FALSE.
CWnd::IsDialogMessage
Roep deze lidfunctie aan om te bepalen of het opgegeven bericht is bedoeld voor een modusloos dialoogvenster; als dit het is, verwerkt deze functie het bericht.
BOOL IsDialogMessage(LPMSG lpMsg);
Parameterwaarden
lpMsg
Verwijst naar een MSG structuur die het bericht bevat dat moet worden gecontroleerd.
Retourwaarde
Hiermee geeft u op of de lidfunctie het opgegeven bericht heeft verwerkt. Het is niet-nul als het bericht is verwerkt; anders 0. Als de retour 0 is, roept u de CWnd::PreTranslateMessage lidfunctie van de basisklasse aan om het bericht te verwerken. In een onderdrukking van de CWnd::PreTranslateMessage lidfunctie ziet de code er als volgt uit:
BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
if (IsDialogMessage(pMsg))
return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
Opmerkingen
Wanneer de IsDialogMessage functie een bericht verwerkt, controleert deze op toetsenbordberichten en converteert deze naar selectieopdrachten voor het bijbehorende dialoogvenster. Met de TAB-toets selecteert u bijvoorbeeld het volgende besturingselement of de groep besturingselementen en selecteert de toets PIJL-OMLAAG het volgende besturingselement in een groep.
U mag een bericht dat is IsDialogMessage verwerkt niet doorgeven aan de TranslateMessage of DispatchMessage Windows-functies, omdat het al is verwerkt.
CWnd::IsDlgButtonChecked
Bepaalt of er een vinkje naast een knop besturingselement staat.
UINT IsDlgButtonChecked(int nIDButton) const;
Parameterwaarden
nIDButton
Hiermee geeft u de geheel getal-id van het knop besturingselement.
Retourwaarde
Niet-nul als het opgegeven besturingselement is ingeschakeld en 0 als dit niet is ingeschakeld. Alleen keuzerondjes en selectievakjes kunnen worden ingeschakeld. Voor knoppen met drie statussen kan de retourwaarde 2 zijn als de knop onbepaald is. Deze lidfunctie retourneert 0 voor een drukknop.
Opmerkingen
Als de knop een besturingselement met drie statussen is, bepaalt de lidfunctie of deze grijs wordt weergegeven, gecontroleerd of niet.
CWnd::IsDynamicLayoutEnabled
Bepaalt of dynamische indeling is ingeschakeld in dit venster. Als dynamische indeling is ingeschakeld, kan de positie en grootte van onderliggende vensters veranderen wanneer de gebruiker de grootte van het bovenliggende venster wijzigt.
BOOL IsDynamicLayoutEnabled() const;
Retourwaarde
TRUE indien dynamische indeling is ingeschakeld; anders FALSE.
Opmerkingen
CWnd::IsIconic
Hiermee geeft u op of CWnd geminimaliseerd (iconisch) is.
BOOL IsIconic() const;
Retourwaarde
Niet-nul indien CWnd geminimaliseerd; anders 0.
Example
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::IsTouchWindow
Hiermee geeft u op of CWnd aanraakondersteuning wordt geboden.
BOOL IsTouchWindow() const;
Retourwaarde
TRUE als CWnd er ondersteuning voor aanraakbediening is; anders FALSE.
Opmerkingen
CWnd::IsWindowEnabled
Hiermee geeft u op of CWnd is ingeschakeld voor muis- en toetsenbordinvoer.
BOOL IsWindowEnabled() const;
Retourwaarde
Niet-nul als CWnd dit is ingeschakeld; anders 0.
Example
//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
{
if (pWnd->IsWindowEnabled())
{
// Red brush for the background...
pDC->SetBkColor(RGB(255, 0, 0));
// m_pRedBrush is the CBrush object initialized with a red brush
// using CreateSolidBrush
return (HBRUSH)m_RedBrush.GetSafeHandle();
}
else
{
// Blue brush for the background...
pDC->SetBkColor(RGB(0, 0, 255));
// m_pBlueBrush is the CBrush object initialized with a blue
// brush using CreateSolidBrush
return (HBRUSH)m_BlueBrush.GetSafeHandle();
}
}
return hbr;
}
CWnd::IsWindowVisible
Bepaalt de zichtbaarheidsstatus van het opgegeven venster.
BOOL IsWindowVisible() const;
Retourwaarde
Niet-nul als CWnd deze zichtbaar is (heeft de WS_VISIBLE stijl-bit ingesteld en het bovenliggende venster is zichtbaar). Omdat de retourwaarde de status van de WS_VISIBLE stijlbit weerspiegelt, is de retourwaarde mogelijk niet-nul, zelfs als CWnd deze volledig wordt verborgen door andere vensters.
Opmerkingen
Een venster heeft een zichtbaarheidsstatus die wordt aangegeven door de WS_VISIBLE stijlbit. Wanneer deze stijlbit is ingesteld met een aanroep van de ShowWindow lidfunctie, wordt het venster weergegeven en wordt de volgende tekening naar het venster weergegeven zolang het venster de stijlbit heeft ingesteld.
Elke tekening in een venster met de WS_VISIBLE stijl wordt niet weergegeven als het venster wordt bedekt door andere vensters of wordt geknipt door het bovenliggende venster.
Example
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
if(!m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_SHOWNORMAL);
}
}
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
if(m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_HIDE);
}
}
CWnd::IsZoomed
Bepaalt of CWnd deze is gemaximaliseerd.
BOOL IsZoomed() const;
Retourwaarde
Niet-nul als CWnd deze is gemaximaliseerd; anders 0.
CWnd::KillTimer
Hiermee wordt de timer-gebeurtenis die is geïdentificeerd door nIDEvent de eerdere aanroep naar SetTimer.
BOOL KillTimer(UINT_PTR nIDEvent);
Parameterwaarden
nIDEvent
De waarde van de timergebeurtenis die is doorgegeven aan SetTimer.
Retourwaarde
Hiermee geeft u het resultaat van de functie. De waarde is niet nul als de gebeurtenis is gedood. Dit is 0 als de KillTimer lidfunctie de opgegeven timer-gebeurtenis niet kan vinden.
Opmerkingen
Berichten WM_TIMER die aan de timer zijn gekoppeld, worden niet verwijderd uit de berichtenwachtrij.
Example
Zie het voorbeeld voor CWnd::SetTimer.
CWnd::LoadDynamicLayoutResource
Aangeroepen door het framework om dynamische indelingsgegevens uit het resourcebestand te laden.
BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);
Parameterwaarden
lpszResourceName
De naam van de resource die de gewenste dynamische indelingsgegevens voor dit venster bevat.
Retourwaarde
Niet-nul als de functie is geslaagd. Dit is 0 als er een fout optreedt.
Opmerkingen
Roep deze methode niet rechtstreeks aan.
CWnd::LockWindowUpdate
Hiermee schakelt u tekenen in het opgegeven venster uit.
BOOL LockWindowUpdate();
Retourwaarde
Niet-nul als de functie is geslaagd. Dit is 0 als er een fout optreedt of als de LockWindowUpdate functie is gebruikt om een ander venster te vergrendelen.
Opmerkingen
Een vergrendeld venster kan niet worden verplaatst. Er kan slechts één venster tegelijk worden vergrendeld. Als u een venster wilt ontgrendelen dat is vergrendeld met LockWindowUpdate, roept u aan UnlockWindowUpdate.
Als een toepassing met een vergrendeld venster (of vergrendelde onderliggende vensters) de GetDCGetDCEx, of BeginPaint Windows-functie aanroept, retourneert de aangeroepen functie een apparaatcontext waarvan de zichtbare regio leeg is. Dit gebeurt totdat de toepassing het venster ontgrendelt door de UnlockWindowUpdate lidfunctie aan te roepen.
Terwijl vensterupdates zijn vergrendeld, houdt het systeem de begrenzingsrechthoek bij van tekenbewerkingen naar apparaatcontexten die zijn gekoppeld aan een vergrendeld venster. Wanneer de tekening opnieuw kan worden geactiveerd, wordt deze begrenzingsrechthoek ongeldig gemaakt in het vergrendelde venster en de onderliggende vensters om een uiteindelijk WM_PAINT bericht af te dwingen het scherm bij te werken. Als er geen tekening is opgetreden terwijl de vensterupdates zijn vergrendeld, is er geen gebied ongeldig.
De LockWindowUpdate lidfunctie maakt het opgegeven venster niet onzichtbaar en wist de WS_VISIBLE stijlbit niet.
CWnd::m_hWnd
De greep van het Windows-venster dat aan dit CWndvenster is gekoppeld.
HWND m_hWnd;
Opmerkingen
Het m_hWnd gegevenslid is een openbare variabele van het type HWND.
CWnd::MapWindowPoints
Converteert (kaarten) een set punten van de coördinaatruimte van de CWnd coördinaatruimte naar de coördinaatruimte van een ander venster.
void MapWindowPoints(
CWnd* pwndTo,
LPRECT lpRect) const;
void MapWindowPoints(
CWnd* pwndTo,
LPPOINT lpPoint,
UINT nCount) const;
Parameterwaarden
pwndTo
Hiermee wordt het venster geïdentificeerd waarnaar punten worden geconverteerd. Als deze parameter is NULL, worden de punten geconverteerd naar schermcoördinaten.
lpRect
Hiermee geeft u de rechthoek waarvan de punten moeten worden geconverteerd. De eerste versie van deze functie is alleen beschikbaar voor Windows 3.1 en hoger.
lpPoint
Een aanwijzer naar een matrix met POINT structuur die de set punten bevat die moeten worden geconverteerd.
nCount
Hiermee geeft u het aantal POINT structuren in de matrix die naar wordt verwezen door lpPoint.
CWnd::MessageBox
Hiermee maakt en geeft u een venster weer dat een bericht en bijschrift van de toepassing bevat, plus een combinatie van de vooraf gedefinieerde pictogrammen en drukknoppen die worden beschreven in de lijst Message-Box Stijlen .
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK);
Parameterwaarden
lpszText
Verwijst naar een CString object of null-beëindigde tekenreeks die het bericht bevat dat moet worden weergegeven.
lpszCaption
Verwijst naar een CString object of null-beëindigde tekenreeks die moet worden gebruikt voor het berichtvakbijschrift. Als lpszCaption dat het is NULL, wordt het standaardbijschrift 'Fout' gebruikt.
nType
Hiermee geeft u de inhoud en het gedrag van het berichtvak.
Retourwaarde
Deze methode maakt gebruik van de MessageBox functie zoals gedefinieerd in de Windows SDK. Deze methode retourneert het resultaat van het aanroepen van deze functie.
Opmerkingen
Gebruik de globale functie AfxMessageBox in plaats van deze lidfunctie om een berichtvak in uw toepassing te implementeren.
Hieronder ziet u de verschillende systeempictogrammen die kunnen worden gebruikt in een berichtvak:
| Icon | Macroniveau |
|---|---|
|
MB_ICONHAND, MB_ICONSTOP en MB_ICONERROR |
|
MB_ICONQUESTION |
|
MB_ICONEXCLAMATION en MB_ICONWARNING |
|
MB_ICONASTERISK en MB_ICONINFORMATION |
Example
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Roep deze lidfunctie aan om de stijl van een venster te wijzigen.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parameterwaarden
dwRemove
Hiermee geeft u vensterstijlen op die moeten worden verwijderd tijdens het wijzigen van de stijl.
dwAdd
Hiermee geeft u vensterstijlen op die moeten worden toegevoegd tijdens het wijzigen van de stijl.
nFlags
Vlaggen die moeten worden doorgegeven aan SetWindowPosof nul als SetWindowPos dit niet moet worden aangeroepen. De standaardwaarde is nul. Zie de sectie Opmerkingen voor een lijst met vooraf ingestelde vlaggen.
Retourwaarde
Niet-nul als de stijl is gewijzigd; anders, 0.
Opmerkingen
Stijlen die moeten worden toegevoegd of verwijderd, kunnen worden gecombineerd met behulp van de operator bitwise OR (|). Zie de onderwerpen Vensterstijlen en CreateWindow in de Windows SDK voor informatie over de beschikbare vensterstijlen.
Als nFlags dit niet het belangrijkste is, ModifyStyle roept u de Windows API-functie SetWindowPos aan en tekent u het venster opnieuw door de nFlags volgende vier vooraf ingestelde vlaggen te combineren:
SWP_NOSIZEBehoudt de huidige grootte.SWP_NOMOVEBehoudt de huidige positie.SWP_NOZORDERBehoudt de huidige Z-bestelling.SWP_NOACTIVATEHet venster wordt niet geactiveerd.
Als u de uitgebreide stijlen van een venster wilt wijzigen, raadpleegt u ModifyStyleEx.
Opmerking
Voor sommige stijlen in bepaalde besturingselementen (de ES_READONLY stijl in het besturingselement bewerken, bijvoorbeeld), ModifyStyle kan de stijl niet correct worden gewijzigd omdat het besturingselement mogelijk speciale interne verwerking moet uitvoeren. In deze gevallen is er een bijbehorend bericht beschikbaar om de stijl te wijzigen ( EM_SETREADONLY in het genoemde voorbeeld).
Example
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
CWnd::ModifyStyleEx
Roep deze lidfunctie aan om de uitgebreide stijl van een venster te wijzigen.
BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parameterwaarden
dwRemove
Hiermee geeft u uitgebreide stijlen worden verwijderd tijdens het wijzigen van de stijl.
dwAdd
Hiermee geeft u uitgebreide stijlen die moeten worden toegevoegd tijdens het wijzigen van de stijl.
nFlags
Vlaggen die moeten worden doorgegeven aan SetWindowPosof nul als SetWindowPos dit niet moet worden aangeroepen. De standaardwaarde is nul. Zie de sectie Opmerkingen voor een lijst met vooraf ingestelde vlaggen.
Retourwaarde
Niet-nul als de stijl is gewijzigd; anders, 0.
Opmerkingen
Stijlen die moeten worden toegevoegd of verwijderd, kunnen worden gecombineerd met behulp van de operator bitwise-OR (|). Zie de onderwerpen Uitgebreide vensterstijlen in dit boek en CreateWindowEx in de Windows SDK voor informatie over de beschikbare uitgebreide stijlen
Als nFlags dit niet het belangrijkste is, ModifyStyleEx roept u de Windows API-functie SetWindowPos aan en tekent u het venster opnieuw door de nFlags volgende vier vooraf ingestelde vlaggen te combineren:
SWP_NOSIZEBehoudt de huidige grootte.SWP_NOMOVEBehoudt de huidige positie.SWP_NOZORDERBehoudt de huidige Z-bestelling.SWP_NOACTIVATEHet venster wordt niet geactiveerd.
Als u vensters wilt wijzigen met normale vensterstijlen, raadpleegt u ModifyStyle.
Example
// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_TRANSPARENT);
return 0;
}
CWnd::MoveWindow
Hiermee wijzigt u de positie en afmetingen.
void MoveWindow(
int x,
int y,
int nWidth,
int nHeight,
BOOL bRepaint = TRUE);
void MoveWindow(
LPCRECT lpRect,
BOOL bRepaint = TRUE);
Parameterwaarden
x
Hiermee geeft u de nieuwe positie van de linkerkant van de CWnd.
y
Hiermee geeft u de nieuwe positie van de bovenkant van de CWnd.
nWidth
Hiermee geeft u de nieuwe breedte van de CWnd.
nHeight
Hiermee geeft u de nieuwe hoogte van de CWnd.
bRepaint
Hiermee geeft u op of CWnd opnieuw moet worden geschilderd. Als TRUE, CWnd ontvangt een WM_PAINT bericht in de OnPaint berichthandler zoals gewoonlijk. Als deze parameter is FALSE, vindt er geen herschildering van welke aard dan ook plaats. Dit is van toepassing op het clientgebied, op het niet-clientgebied (inclusief de titel- en schuifbalken) en op een deel van het bovenliggende venster dat is ontdekt als gevolg van CWndde verplaatsing. Wanneer deze parameter is FALSE, moet de toepassing alle onderdelen van CWnd en het bovenliggende venster die opnieuw moeten worden getekend, expliciet ongeldig maken of opnieuw tekenen.
lpRect
Het CRect object of RECT de structuur die de nieuwe grootte en positie aangeeft.
Opmerkingen
Voor een object op het hoogste niveau CWnd zijn de x en y parameters relatief ten opzichte van de linkerbovenhoek van het scherm. Voor een onderliggend CWnd object zijn ze relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster.
De MoveWindow functie verzendt het WM_GETMINMAXINFO bericht. Het afhandelen van dit bericht biedt CWnd de mogelijkheid om de standaardwaarden voor de grootste en kleinste mogelijke vensters te wijzigen. Als de parameters voor de MoveWindow lidfunctie deze waarden overschrijden, kunnen de waarden worden vervangen door de minimum- of maximumwaarden in de WM_GETMINMAXINFO handler.
Example
Zie het voorbeeld voor CWnd::ClientToScreen.
CWnd::NotifyWinEvent
Geeft het systeem aan dat er een vooraf gedefinieerde gebeurtenis is opgetreden. Als clienttoepassingen een hook-functie voor de gebeurtenis hebben geregistreerd, roept het systeem de hook-functie van de client aan.
void NotifyWinEvent(
DWORD event,
LONG idObjectType,
LONG idObject);
Parameterwaarden
event
Hiermee geeft u de gebeurtenis op die is opgetreden. Deze waarde moet een van de gebeurtenisconstanten zijn.
idObjectType
Hiermee wordt het type object geïdentificeerd dat de gebeurtenis heeft gegenereerd. Deze waarde is een van de vooraf gedefinieerde object-id's of een aangepaste object-id-waarde.
idObject
Hiermee wordt aangegeven of de gebeurtenis is gegenereerd door een object of een onderliggend element van het object. Als deze waarde is, is CHILDID_SELFde gebeurtenis gegenereerd door het object zelf. Als dit niet het geval is, is deze waarde de onderliggende id van het element dat de gebeurtenis heeft gegenereerd.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie NotifyWinEventgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::OnActivate
Het framework roept deze lidfunctie aan wanneer een CWnd object wordt geactiveerd of gedeactiveerd.
afx_msg void OnActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
Parameterwaarden
nState
Hiermee geeft u op of de CWnd wordt geactiveerd of gedeactiveerd. Dit kan een van de volgende waarden zijn:
WA_INACTIVEHet venster wordt gedeactiveerd.WA_ACTIVEHet venster wordt geactiveerd via een andere methode dan een muisklik (bijvoorbeeld door de toetsenbordinterface te gebruiken om het venster te selecteren).WA_CLICKACTIVEHet venster wordt geactiveerd door een muisklik.
pWndOther
Aanwijzer naar de CWnd die wordt geactiveerd of gedeactiveerd. De aanwijzer kan zijn NULLen kan tijdelijk zijn.
bMinimized
Hiermee geeft u de geminimaliseerde status van de CWnd wordt geactiveerd of gedeactiveerd. Een waarde van TRUE geeft aan dat het venster is geminimaliseerd.
Als TRUE, de CWnd wordt geactiveerd; anders gedeactiveerd.
Opmerkingen
Als het CWnd object wordt geactiveerd met een muisklik, ontvangt het ook een aanroep van de OnMouseActivate lidfunctie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnActivateApp
Het framework roept deze lidfunctie aan voor alle vensters op het hoogste niveau van de taak die worden geactiveerd en voor alle vensters op het hoogste niveau van de taak die worden gedeactiveerd.
afx_msg void OnActivateApp(
BOOL bActive,
DWORD dwThreadID);
Parameterwaarden
bActive
Hiermee geeft u op of de CWnd wordt geactiveerd of gedeactiveerd.
TRUE betekent dat de CWnd wordt geactiveerd.
FALSE betekent dat het CWnd wordt gedeactiveerd.
dwThreadID
Hiermee geeft u de waarde van de thread-id. Als bActive dat het is TRUE, dwThreadID identificeert u de thread die eigenaar is van de CWnd gedeactiveerd. Als bActive dat het is FALSE, dwThreadID identificeert u de thread die eigenaar is van het CWnd geactiveerde.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnAmbientProperty
Het framework roept deze lidfunctie aan om omgevingseigenschapswaarden te verkrijgen uit een venster met OLE-besturingselementen.
virtual BOOL OnAmbientProperty(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvar);
Parameterwaarden
pSite
Wijs de locatie aan van het besturingselement dat de omgevingseigenschap heeft aangevraagd.
dispid
De verzend-id van de aangevraagde omgevingseigenschap.
pvar
Wijs een aanroeper toegewezen VARIANT structuur aan, waardoor de waarde van de omgevingseigenschap wordt geretourneerd.
Retourwaarde
TRUE als de omgevingseigenschap wordt ondersteund; FALSE zo niet.
Opmerkingen
Overschrijf deze functie om de standaardwaarden voor omgevingseigenschappen die door een OLE-besturingscontainer worden geretourneerd, te wijzigen in de besturingselementen. Aanvragen voor omgevingseigenschappen die niet worden verwerkt door een onderdrukkingsfunctie, moeten worden doorgestuurd naar de implementatie van de basisklasse.
CWnd::OnAppCommand
Het framework roept deze lidfunctie aan wanneer de gebruiker een gebeurtenis voor de toepassingsopdracht genereert. Een dergelijke gebeurtenis treedt op wanneer de gebruiker op een opdrachtknop van een toepassing klikt of een opdrachtsleutel voor een toepassing typt.
afx_msg void OnAppCommand(
CWnd* pWnd,
UINT nCmd,
UINT nDevice,
UINT nKey);
Parameterwaarden
pWnd
[in] Wijs een CWnd object aan dat het venster vertegenwoordigt waarop de gebruiker op de opdrachtknop heeft geklikt of op de opdrachttoets heeft gedrukt. Dit venster kan een onderliggend venster zijn van het venster dat het bericht ontvangt.
nCmd
[in] Geeft de opdracht van de toepassing aan. Zie de opdrachten onder de cmd sectie van de lParam parameter van WM_APPCOMMAND.
nDevice
[in] Het invoerapparaat dat de invoer gebeurtenis heeft gegenereerd. Zie de apparaten onder de uDevice sectie van de lParam parameter van WM_APPCOMMAND.
nKey
[in] Geeft eventuele virtuele toetsen aan die omlaag zijn, zoals de Ctrl-toets of de linkermuisknop. Zie de sleutels onder de dwKeys sectie van de lParam parameter van WM_APPCOMMAND. Zie de subkop Berichtparameters in Info over muisinvoer voor meer informatie.
Opmerkingen
Deze methode ontvangt de WM_APPCOMMAND melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnAskCbFormatName
Het framework roept deze lidfunctie aan wanneer het Klembord een gegevensgreep voor de CF_OWNERDISPLAY indeling bevat (dat wil gezegd, wanneer de eigenaar van het Klembord de inhoud van het Klembord weergeeft).
afx_msg void OnAskCbFormatName(
UINT nMaxCount,
LPTSTR lpszString);
Parameterwaarden
nMaxCount
Hiermee geeft u het maximum aantal bytes op dat moet worden gekopieerd.
lpszString
Verwijst naar de buffer waar de kopie van de indelingsnaam moet worden opgeslagen.
Opmerkingen
De eigenaar van het Klembord moet een naam opgeven voor de indeling.
Overschrijf deze lidfunctie en kopieer de naam van de CF_OWNERDISPLAY notatie naar de opgegeven buffer en overschrijd het maximum aantal opgegeven bytes.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCancelMode
Het framework roept deze lidfunctie aan om te informeren CWnd over het annuleren van een interne modus.
afx_msg void OnCancelMode();
Opmerkingen
Als het CWnd object de focus heeft, OnCancelMode wordt de lidfunctie aangeroepen wanneer een dialoogvenster of berichtvak wordt weergegeven. Dit biedt de CWnd mogelijkheid om modi zoals het vastleggen van de muis te annuleren.
De standaard implementatie reageert door de ReleaseCapture Windows-functie aan te roepen. Overschrijf deze lidfunctie in uw afgeleide klasse om andere modi te verwerken.
CWnd::OnCaptureChanged
Het framework roept deze lidfunctie aan om het venster te melden dat de muisopname verloren gaat.
afx_msg void OnCaptureChanged(CWnd* pWnd);
Parameterwaarden
pWnd
Een aanwijzer naar het venster om het vastleggen van de muis te verkrijgen
Opmerkingen
Een venster ontvangt dit bericht, zelfs als het zichzelf aanroept ReleaseCapture . Een toepassing mag niet proberen de muisopname in te stellen als reactie op dit bericht. Wanneer dit bericht wordt ontvangen, moet een venster indien nodig opnieuw worden getekend om de nieuwe status van de muisopname weer te geven.
Zie de Windows SDK voor informatie over de ReleaseCapture Windows-functie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnChangeCbChain
Het framework roept deze lidfunctie aan voor elk venster in de keten Klembordviewer om te melden dat er een venster uit de keten wordt verwijderd.
afx_msg void OnChangeCbChain(
HWND hWndRemove,
HWND hWndAfter);
Parameterwaarden
hWndRemove
Hiermee geeft u de venstergreep op die wordt verwijderd uit de klembordviewerketen.
hWndAfter
Hiermee geeft u de venstergreep op die volgt op het venster dat wordt verwijderd uit de klembordviewerketen.
Opmerkingen
Elk CWnd object dat een OnChangeCbChain aanroep ontvangt, moet de SendMessage Windows-functie gebruiken om het WM_CHANGECBCHAIN bericht te verzenden naar het volgende venster in de keten Klembordviewer (de ingang geretourneerd door SetClipboardViewer). Als hWndRemove dit het volgende venster in de keten is, wordt het venster dat is opgegeven door hWndAfter het volgende venster en worden klembordberichten aan het venster doorgegeven.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnChangeUIState
Wordt aangeroepen wanneer de gebruikersinterfacestatus moet worden gewijzigd.
afx_msg void OnChangeUIState(
UINT nAction,
UINT nUIElement);
Parameterwaarden
nAction
Hiermee geeft u de actie die moet worden uitgevoerd. Dit kan een van de volgende waarden zijn:
UIS_CLEARHet element ui-status (opgegeven doornUIElement) moet worden verborgen.UIS_INITIALIZEHet element ui-status (opgegeven doornUIElement) moet worden gewijzigd op basis van de laatste invoer gebeurtenis. Zie de sectie Opmerkingen vanWM_CHANGEUISTATE.UIS_SETHet element ui-status (opgegeven doornUIElement) moet zichtbaar zijn.
nUIElement
Hiermee geeft u op welke elementen van de gebruikersinterfacestatus worden beïnvloed of de stijl van het besturingselement. Dit kan een van de volgende waarden zijn:
UISF_HIDEACCELToetsenbordversnellers.UISF_HIDEFOCUSFocusindicatoren.UISF_ACTIVEWindows XP: Een besturingselement moet worden getekend in de stijl die wordt gebruikt voor actieve besturingselementen.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van het WM_CHANGEUISTATE bericht geëmuleren, zoals beschreven in de Windows SDK.
CWnd::OnChar
Het framework roept deze lidfunctie aan wanneer een toetsaanslag wordt omgezet in een niet-systeemteken.
afx_msg void OnChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Bevat de waarde van de tekencode van de sleutel.
nRepCnt
Bevat het aantal herhalingen, het aantal keren dat de toetsaanslag wordt herhaald wanneer de gebruiker de sleutel vasthoudt.
nFlags
Bevat de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode, zoals wordt weergegeven in de volgende lijst:
| Waarde | Meaning |
|---|---|
| 0-15 | Hiermee geeft u het aantal herhalingen op. De waarde is het aantal keren dat de toetsaanslag wordt herhaald als gevolg van het vasthouden van de sleutel door de gebruiker. |
| 16-23 | Hiermee geeft u de scancode op. De waarde is afhankelijk van de oorspronkelijke fabrikant van apparatuur (OEM) |
| 24 | Hiermee geeft u op of de toets een uitgebreide toets is, zoals de rechter alt- en Ctrl-toetsen die worden weergegeven op een verbeterd toetsenbord met 101- of 102-toets. De waarde is 1 als het een uitgebreide sleutel is; anders is het 0. |
| 25-28 | Intern gebruikt door Windows. |
| 29 | Hiermee geeft u de contextcode. De waarde is 1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders is de waarde 0. |
| 30 | Hiermee geeft u de vorige sleutelstatus. De waarde is 1 als de sleutel niet beschikbaar is voordat het bericht wordt verzonden of 0 als de sleutel omhoog is. |
| 31 | Hiermee geeft u de overgangsstatus. De waarde is 1 als de sleutel wordt vrijgegeven of 0 als de sleutel wordt ingedrukt. |
Opmerkingen
Deze functie wordt aangeroepen voor de OnKeyUp lidfunctie en nadat de OnKeyDown lidfunctie is aangeroepen.
OnChar bevat de waarde van de toetsenbordtoets die wordt ingedrukt of vrijgegeven.
Omdat er niet noodzakelijkerwijs een een-op-een-correspondentie is tussen toetsen ingedrukt en OnChar oproepen gegenereerd, is de informatie in nFlags het algemeen niet nuttig voor toepassingen. De informatie in nFlags is alleen van toepassing op de meest recente aanroep van de OnKeyUp lidfunctie of de OnKeyDown lidfunctie die voorafgaat aan de aanroep.OnChar
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bits in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCharToItem
Aangeroepen wanneer een keuzelijst met de stijl de LBS_WANTKEYBOARDINPUT eigenaar een WM_CHARTOITEM bericht stuurt als reactie op een WM_CHAR bericht.
afx_msg int OnCharToItem(
UINT nChar,
CListBox* pListBox,
UINT nIndex);
Parameterwaarden
nChar
Hiermee geeft u de waarde van de toets ingedrukt door de gebruiker.
pListBox
Hiermee geeft u een aanwijzer naar de keuzelijst. Het kan tijdelijk zijn.
nIndex
Hiermee geeft u de huidige caret positie.
Retourwaarde
In het framework wordt deze lidfunctie aangeroepen om de actie op te geven die de toepassing heeft uitgevoerd als reactie op de aanroep. Een retourwaarde van -2 geeft aan dat de toepassing alle aspecten van het selecteren van het item heeft verwerkt en geen verdere actie wil uitvoeren door de keuzelijst. Een retourwaarde van -1 geeft aan dat de keuzelijst de standaardactie moet uitvoeren als reactie op de toetsaanslag. Een retourwaarde van 0 of hoger geeft de op nul gebaseerde index van een item in de keuzelijst aan en geeft aan dat in de keuzelijst de standaardactie moet worden uitgevoerd voor de toetsaanslag op het opgegeven item.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnChildActivate
Als het CWnd object een onderliggend venster met meerdere documentinterfaces (MDI) is, OnChildActivate wordt het door het framework aangeroepen wanneer de gebruiker op de titelbalk van het venster klikt of wanneer het venster wordt geactiveerd, verplaatst of het formaat ervan wijzigt.
afx_msg void OnChildActivate();
CWnd::OnChildNotify
Deze lidfunctie wordt aangeroepen door het bovenliggende venster van dit venster wanneer er een meldingsbericht wordt ontvangen dat van toepassing is op dit venster.
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameterwaarden
message
Een Windows-berichtnummer dat naar een bovenliggend venster is verzonden.
wParam
De wparam die aan het bericht is gekoppeld.
lParam
De lparam die aan het bericht is gekoppeld.
pLResult
Een aanwijzer naar een waarde die moet worden geretourneerd vanuit de vensterprocedure van het bovenliggende item. Deze aanwijzer wordt weergegeven NULL als er geen retourwaarde wordt verwacht.
Retourwaarde
Niet-zero als dit venster verantwoordelijk is voor het verwerken van het bericht dat naar de bovenliggende is verzonden; anders 0.
Opmerkingen
Roep deze lidfunctie nooit rechtstreeks aan.
De standaard implementatie van deze lidfunctie retourneert 0, wat betekent dat het bovenliggende item het bericht moet verwerken.
Overschrijf deze lidfunctie om de manier waarop een besturingselement reageert op meldingsberichten uit te breiden.
CWnd::OnClipboardUpdate
In het framework wordt deze lidfunctie aangeroepen wanneer de inhoud van het klembord is gewijzigd.
afx_msg void OnClipboardUpdate();
CWnd::OnClose
Het framework roept deze lidfunctie aan als een signaal dat de CWnd of een toepassing moet worden beëindigd.
afx_msg void OnClose();
Opmerkingen
De standaard-implementatie-aanroepen DestroyWindow.
CWnd::OnColorizationColorChanged
Het framework roept dit lid aan wanneer het renderingbeleid voor het niet-clientgebied is gewijzigd.
afx_msg void OnColorizationColorChanged(
DWORD dwColorizationColor,
BOOL bOpacity);
Parameterwaarden
dwColorizationColor
[in] Hiermee geeft u de nieuwe kleur van de kleur. De kleurnotatie is een hexadecimaal getal van de vorm 0xAARRGGBB, waarbij elk van de vier onderdelen varieert van 0x00 tot 0xFF. Het AA-onderdeel is de alfawaarde, RR is de kleur rood, GG is groen en BB is blauw.
bOpacity
[in] TRUE indien de nieuwe kleur wordt gemengd met dekking; FALSE als dat niet zo is.
Opmerkingen
Deze methode ontvangt het WM_DWMNCRENDERINGCHANGED meldingsbericht, dat wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCommand
Het framework roept deze lidfunctie aan wanneer de gebruiker een item in een menu selecteert, wanneer een onderliggend besturingselement een meldingsbericht verzendt of wanneer een toetsaanslag op een accelerator wordt vertaald.
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
wParam
Het woord wParam met lage volgorde identificeert de opdracht-id van het menu-item, besturingselement of accelerator. Het woord met hoge volgorde geeft wParam het meldingsbericht op als het bericht afkomstig is van een besturingselement. Als het bericht afkomstig is van een accelerator, is het woord in hoge volgorde 1. Als het bericht zich in een menu bevindt, is het woord in hoge volgorde 0.
lParam
Identificeert het besturingselement waarmee het bericht wordt verzonden als het bericht afkomstig is van een besturingselement. Anders is dit lParam 0.
Retourwaarde
Een toepassing retourneert niet-nul als dit bericht wordt verwerkt; anders 0.
Opmerkingen
OnCommand verwerkt het berichtoverzicht voor controlemelding en ON_COMMAND vermeldingen en roept de juiste lidfunctie aan.
Overschrijf deze lidfunctie in uw afgeleide klasse om het WM_COMMAND bericht te verwerken. Een onderdrukking verwerkt de berichttoewijzing alleen als de basisklasse OnCommand wordt aangeroepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCompacting
Het framework roept deze lidfunctie aan voor alle vensters op het hoogste niveau wanneer Windows detecteert dat meer dan 12,5 procent van de systeemtijd gedurende een interval van 30 tot 60 seconden wordt besteed aan het comprimeren van geheugen.
afx_msg void OnCompacting(UINT nCpuTime);
Parameterwaarden
nCpuTime
Hiermee geeft u de verhouding aan van de CPU-tijd die momenteel door Windows wordt besteed aan het comprimeren van geheugen tot CPU-tijd die andere bewerkingen heeft uitgevoerd. 8000h vertegenwoordigt bijvoorbeeld 50 procent van de CPU-tijd die is besteed aan het comprimeren van geheugen.
Opmerkingen
Dit geeft aan dat het systeemgeheugen laag is.
Wanneer een CWnd object deze aanroep ontvangt, moet het zoveel mogelijk geheugen vrij maken, rekening houdend met het huidige activiteitsniveau van de toepassing en het totale aantal toepassingen dat wordt uitgevoerd in Windows. De toepassing kan de Windows-functie aanroepen om te bepalen hoeveel toepassingen worden uitgevoerd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCompareItem
In het framework wordt deze lidfunctie aangeroepen om de relatieve positie van een nieuw item in een onderliggend gesorteerde keuzelijst met eigenaar of keuzelijst op te geven.
afx_msg int OnCompareItem(
int nIDCtl,
LPCOMPAREITEMSTRUCT lpCompareItemStruct);
Parameterwaarden
nIDCtl
De id van het besturingselement dat het WM_COMPAREITEM bericht heeft verzonden.
lpCompareItemStruct
Bevat een lange aanwijzer naar een COMPAREITEMSTRUCT gegevensstructuur die de id's en door de toepassing geleverde gegevens bevat voor twee items in de keuzelijst met invoervak of keuzelijst.
Retourwaarde
Geeft de relatieve positie van de twee items aan. Dit kunnen een van de volgende waarden zijn:
| Waarde | Meaning |
|---|---|
| -1 | Item 1 sorteert voor item 2. |
| 0 | Item 1 en item 2 sorteren hetzelfde. |
| 1 | Item 1 sorteert na item 2. |
Opmerkingen
Als er een keuzelijst met invoervak of keuzelijst met de CBS_SORT stijl LBS_SORT wordt gemaakt, verzendt Windows de eigenaar van de keuzelijst met invoervak of keuzelijst een WM_COMPAREITEM bericht wanneer de toepassing een nieuw item toevoegt.
Twee items in de keuzelijst met invoervak of keuzelijst worden opnieuw ingedeeld in een COMPAREITEMSTRUCT structuur die wordt verwezen door lpCompareItemStruct.
OnCompareItem moet een waarde retourneren die aangeeft welke van de items vóór de andere moeten worden weergegeven. Normaal gesproken voert Windows deze aanroep meerdere keren uit totdat de exacte positie voor het nieuwe item wordt bepaald.
Als het hwndItem lid van de COMPAREITEMSTRUCT structuur deel uitmaakt van een CListBox of CComboBox object, wordt de CompareItem virtuele functie van de juiste klasse aangeroepen. Overschrijven CComboBox::CompareItem of CListBox::CompareItem in uw afgeleide CListBox klasse CComboBox om de itemvergelijking uit te voeren.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCompositionChanged
Het framework roept deze lidfunctie aan voor alle vensters op het hoogste niveau wanneer de samenstelling van Desktop Window Manager (DWM) is ingeschakeld of uitgeschakeld.
afx_msg void OnCompositionChanged();
Opmerkingen
Deze methode ontvangt de WM_DWMCOMPOSITIONCHANGED melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnContextMenu
Aangeroepen door het framework wanneer de gebruiker op de rechtermuisknop heeft geklikt (met de rechtermuisknop) in het venster.
afx_msg void OnContextMenu(
CWnd* pWnd,
CPoint pos);
Parameterwaarden
pWnd
Greep naar het venster waarin de gebruiker met de rechtermuisknop op de muis heeft geklikt. Dit kan een onderliggend venster zijn van het venster dat het bericht ontvangt. Zie de sectie Opmerkingen voor meer informatie over het verwerken van dit bericht.
pos
De positie van de cursor, in schermcoördinaten, op het moment van de muisklik.
Opmerkingen
U kunt dit bericht verwerken door een snelmenu weer te geven met behulp van de TrackPopupMenu.
Als u geen contextmenu weergeeft, moet u dit bericht doorgeven aan de DefWindowProc functie. Als uw venster een onderliggend venster is, DefWindowProc verzendt u het bericht naar het bovenliggende item.
DefWindowProc Anders wordt een standaardcontextmenu weergegeven als de opgegeven positie zich in het bijschrift van het venster bevindt.
CWnd::OnCopyData
Deze lidfunctie wordt aangeroepen door het framework om gegevens van de ene toepassing naar de andere te kopiëren.
afx_msg BOOL OnCopyData(
CWnd* pWnd,
COPYDATASTRUCT* pCopyDataStruct);
Parameterwaarden
pWnd
Een aanwijzer naar een CWnd object dat de gegevens verzendt.
pCopyDataStruct
Een aanwijzer naar een COPYDATASTRUCT structuur die de gegevens bevat die worden verzonden.
Retourwaarde
Retourneert TRUE als de ontvangende toepassing de gegevens accepteert. Anders wordt FALSEgeretourneerd.
Opmerkingen
De gegevens die worden doorgegeven, mogen geen aanwijzers of andere verwijzingen bevatten naar objecten die niet toegankelijk zijn voor de toepassing die de gegevens ontvangt.
Hoewel de gegevens worden gekopieerd, mogen deze niet worden gewijzigd door een andere thread van het verzendende proces.
De ontvangende toepassing moet rekening houden met de gegevens die alleen-lezen zijn. De structuur waarnaar door de parameter pCopyDataStruct wordt verwezen, is alleen geldig tijdens de overdracht van gegevens. De ontvangende toepassing mag echter niet het geheugen vrijmaken dat aan de structuur is gekoppeld.
Als de ontvangende toepassing toegang nodig heeft tot de gegevens nadat deze functie is geretourneerd, moeten de gegevens die zijn ontvangen naar een lokale buffer kopiëren.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCreate
Het framework roept deze lidfunctie aan wanneer een toepassing aanvraagt dat het Windows-venster wordt gemaakt door de Create of CreateEx lidfunctie aan te roepen.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
Parameterwaarden
lpCreateStruct
Verwijst naar een CREATESTRUCT structuur die informatie bevat over het CWnd object dat wordt gemaakt.
Retourwaarde
OnCreate moet 0 retourneren om door te gaan met het maken van het CWnd object. Als de toepassing -1 retourneert, wordt het venster vernietigd.
Opmerkingen
Het CWnd object ontvangt deze aanroep nadat het venster is gemaakt, maar voordat het zichtbaar wordt.
OnCreate wordt aangeroepen voordat de Create functie of CreateEx lid wordt geretourneerd.
Overschrijf deze lidfunctie om de benodigde initialisatie van een afgeleide klasse uit te voeren.
De CREATESTRUCT structuur bevat kopieën van de parameters die worden gebruikt om het venster te maken.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnCtlColor
Het framework roept deze lidfunctie aan wanneer een onderliggend besturingselement op het punt staat te worden getekend.
afx_msg HBRUSH OnCtlColor(
CDC* pDC,
CWnd* pWnd,
UINT nCtlColor);
Parameterwaarden
pDC
Bevat een aanwijzer naar de weergavecontext voor het onderliggende venster. Kan tijdelijk zijn.
pWnd
Bevat een aanwijzer naar het besturingselement waarin de kleur wordt gevraagd. Kan tijdelijk zijn.
nCtlColor
Bevat een van de volgende waarden, waarbij het type besturingselement wordt opgegeven:
CTLCOLOR_BTNKnop besturingselementCTLCOLOR_DLGDialoogvensterCTLCOLOR_EDITBesturingselement bewerkenCTLCOLOR_LISTBOXKeuzelijstbesturingselementCTLCOLOR_MSGBOXBerichtvakCTLCOLOR_SCROLLBARBesturingselement schuifbalkCTLCOLOR_STATICStatisch besturingselement
Retourwaarde
OnCtlColor moet een handgreep retourneren aan de borstel die moet worden gebruikt voor het schilderen van de besturingsachtergrond.
Opmerkingen
De meeste besturingselementen verzenden dit bericht naar het bovenliggende item (meestal een dialoogvenster) om het pDC besturingselement voor te bereiden op het tekenen met de juiste kleuren.
Als u de tekstkleur wilt wijzigen, roept u de SetTextColor lidfunctie aan met de gewenste rode, groene en blauwe waarden (RGB).
Als u de achtergrondkleur van een besturingselement voor bewerken met één regel wilt wijzigen, stelt u de kwastgreep in zowel de CTLCOLOR_EDITCTLCOLOR_MSGBOX berichtcodes als de berichtcodes in en roept u de CDC::SetBkColor functie aan als reactie op de CTLCOLOR_EDIT code.
OnCtlColor wordt niet aangeroepen voor de keuzelijst met invoervak, omdat de vervolgkeuzelijst eigenlijk een onderliggend element van de keuzelijst met invoervak is en geen onderliggend element van het venster. Als u de kleur van de vervolgkeuzelijst wilt wijzigen, maakt u een CComboBox met een onderdrukking van OnCtlColor die controle CTLCOLOR_LISTBOX in de nCtlColor parameter. In deze handler moet de SetBkColor lidfunctie worden gebruikt om de achtergrondkleur voor de tekst in te stellen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft. Als u de volgende methode aan uw dialoogvensterklasse wilt toevoegen, gebruikt u het deelvenster Eigenschappen van Visual Studio om een berichthandler voor WM_CTLCOLORtoe te voegen. U kunt ook handmatig een ON_WM_CTLCOLOR() vermelding toevoegen aan de berichtkaart.
Example
// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Call the base class implementation first! Otherwise, it may
// undo what we're trying to accomplish here.
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// Are we painting the IDC_MYSTATIC control? We can use
// CWnd::GetDlgCtrlID() to perform the most efficient test.
if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
{
// Set the text color to red
pDC->SetTextColor(RGB(255, 0, 0));
// Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT);
// Return handle to our CBrush object
hbr = m_brush;
}
return hbr;
}
CWnd::OnDeadChar
Het framework roept deze lidfunctie aan wanneer de OnKeyUp lidfunctie en de OnKeyDown lidfuncties worden aangeroepen.
afx_msg void OnDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de waarde van het dode-sleutelteken op.
nRepCnt
Hiermee geeft u het aantal herhalingen op.
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Description |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). Lage byte van woord in hoge volgorde. |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is; anders 0). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is vóór de aanroep, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Opmerkingen
Deze lidfunctie kan worden gebruikt om de tekenwaarde van een dode sleutel op te geven. Een dode sleutel is een sleutel, zoals het umlautteken (dubbele punt), dat wordt gecombineerd met andere tekens om een samengesteld teken te vormen. Het umlaut-O-teken bestaat bijvoorbeeld uit de dode sleutel, umlaut en de O-toets.
Een toepassing gebruikt OnDeadChar doorgaans om de gebruiker feedback te geven over elke toets die is ingedrukt. Een toepassing kan bijvoorbeeld het accent in de huidige tekenpositie weergeven zonder de caret te verplaatsen.
Omdat er niet noodzakelijkerwijs een een-op-een-correspondentie is tussen toetsen ingedrukt en OnDeadChar aanroepen, is de informatie in nFlags het algemeen niet nuttig voor toepassingen. De informatie in nFlags is alleen van toepassing op de meest recente aanroep van de OnKeyUp lidfunctie of de OnKeyDown lidfunctie die voorafgaat aan de OnDeadChar aanroep.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bits in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnDeleteItem
In het framework wordt deze lidfunctie aangeroepen om de eigenaar van een keuzelijst of keuzelijst met invoervak te informeren dat de keuzelijst of keuzelijst met invoervak wordt vernietigd of dat items zijn verwijderd door CComboBox::DeleteString, CListBox::DeleteString, CComboBox::ResetContentof CListBox::ResetContent.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
Parameterwaarden
nIDCtl
De id van het besturingselement dat het WM_DELETEITEM bericht heeft verzonden.
lpDeleteItemStruct
Hiermee geeft u een lange aanwijzer naar een DELETEITEMSTRUCT gegevensstructuur die informatie over het verwijderde keuzelijstitem bevat.
Opmerkingen
Als het hwndItem lid van de DELETEITEMSTRUCT structuur deel uitmaakt van een keuzelijst met invoervak of keuzelijst, wordt de DeleteItem virtuele functie van de juiste klasse aangeroepen. Overschrijf de DeleteItem lidfunctie van de klasse van het betreffende besturingselement om itemspecifieke gegevens te verwijderen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnDestroy
Het framework roept deze lidfunctie aan om het CWnd object te informeren dat het wordt vernietigd.
afx_msg void OnDestroy();
Opmerkingen
OnDestroy wordt aangeroepen nadat het CWnd object uit het scherm is verwijderd.
OnDestroy wordt eerst opgeroepen om het CWnd te vernietigen, dan voor de kindervensters van CWnd wanneer ze worden vernietigd. U kunt ervan uitgaan dat alle onderliggende vensters nog bestaan tijdens OnDestroy uitvoeringen.
Als het CWnd object dat wordt vernietigd deel uitmaakt van de klembordviewerketen (ingesteld door de SetClipboardViewer lidfunctie aan te roepen), moet het CWnd zichzelf verwijderen uit de keten klembordviewer door de ChangeClipboardChain lidfunctie aan te roepen voordat deze van de OnDestroy functie terugkeert.
CWnd::OnDestroyClipboard
In het framework wordt deze lidfunctie aangeroepen voor de eigenaar van het Klembord wanneer het Klembord wordt geleegd via een aanroep naar de EmptyClipboard Windows-functie.
afx_msg void OnDestroyClipboard();
CWnd::OnDeviceChange
Het framework roept deze lidfunctie aan om een toepassing of apparaatstuurprogramma op de hoogte te stellen van een wijziging in de hardwareconfiguratie van een apparaat of de computer.
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData);
Parameterwaarden
nEventType
Een gebeurtenistype. Zie de sectie Opmerkingen voor een beschrijving van de beschikbare waarden
dwData
Het adres van een structuur die gebeurtenisspecifieke gegevens bevat. De betekenis is afhankelijk van de opgegeven gebeurtenis.
Opmerkingen
Voor apparaten die softwarebeheerbare functies bieden, zoals ejection en vergrendeling, verzendt het besturingssysteem meestal een DBT_DEVICEREMOVEPENDING bericht om toepassingen en apparaatstuurprogramma's het gebruik van het apparaat op een goede manier te laten beëindigen.
Als het besturingssysteem een apparaat geforceerd verwijdert, wordt er mogelijk geen bericht verzonden DBT_DEVICEQUERYREMOVE voordat u dit doet.
De nEvent parameter kan een van deze waarden zijn:
DBT_DEVICEARRIVALEr is een apparaat ingevoegd en is nu beschikbaar.DBT_DEVICEQUERYREMOVEU wordt gevraagd om toestemming om een apparaat te verwijderen. Elke toepassing kan deze aanvraag weigeren en de verwijdering annuleren.DBT_DEVICEQUERYREMOVEFAILEDDe aanvraag om een apparaat te verwijderen is geannuleerd.DBT_DEVICEREMOVEPENDINGHet apparaat staat op het punt te worden verwijderd. Kan niet worden geweigerd.DBT_DEVICEREMOVECOMPLETEHet apparaat is verwijderd.DBT_DEVICETYPESPECIFICApparaatspecifieke gebeurtenis.DBT_CONFIGCHANGEDDe huidige configuratie is gewijzigd.DBT_DEVNODES_CHANGEDHet apparaatknooppunt is gewijzigd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnDevModeChange
Het framework roept deze lidfunctie aan voor alle objecten op het hoogste niveau CWnd wanneer de gebruiker de instellingen voor de apparaatmodus wijzigt.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parameterwaarden
lpDeviceName
Verwijst naar de apparaatnaam die is opgegeven in het Windows-initialisatiebestand. WIN.INI
Opmerkingen
Toepassingen die het WM_DEVMODECHANGE bericht verwerken, kunnen hun apparaatmodusinstellingen opnieuw initialiseren. Toepassingen die de Windows-functie ExtDeviceMode gebruiken om apparaatinstellingen op te slaan en te herstellen, verwerken deze functie doorgaans niet.
Deze functie wordt niet aangeroepen wanneer de gebruiker de standaardprinter wijzigt vanuit het Configuratiescherm. In dit geval wordt de OnWinIniChange functie aangeroepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnDrawClipboard
In het framework wordt deze lidfunctie aangeroepen voor elk venster in de keten Klembordviewer wanneer de inhoud van het Klembord wordt gewijzigd.
afx_msg void OnDrawClipboard();
Opmerkingen
Alleen toepassingen die lid zijn van de klembordviewerketen door de SetClipboardViewer lidfunctie aan te roepen, moeten reageren op deze aanroep.
Elk venster dat een OnDrawClipboard aanroep ontvangt, moet de SendMessage Windows-functie aanroepen om een WM_DRAWCLIPBOARD bericht door te geven aan het volgende venster in de keten Klembordviewer. De ingang van het volgende venster wordt geretourneerd door de SetClipboardViewer lidfunctie. Deze kan worden gewijzigd als reactie op een aanroep van de OnChangeCbChain lidfunctie.
CWnd::OnDrawIconicThumbnailOrLivePreview
Wordt aangeroepen door het framework wanneer er een bitmap moet worden opgehaald die moet worden weergegeven op de miniatuur van het windows 7-tabblad of op de client voor een korte weergave van de toepassing.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parameterwaarden
dc
Hiermee geeft u de apparaatcontext op.
rect
Hiermee geeft u de begrenzingsrechthoek van het gebied dat moet worden weergegeven.
szRequiredThumbnailSize
Hiermee geeft u de grootte van de doelminiatuur op. Moet worden genegeerd als bIsThumbnail dat het geval is FALSE.
bIsThumbnail
Hiermee geeft u op of deze methode wordt aangeroepen voor iconische miniatuur of livevoorbeeld (korte weergave).
bAlphaChannelSet
[uit] Stel deze optie in als TRUE uw implementatie het alfakanaal van een bitmap initialiseert die is geselecteerd in dc.
Opmerkingen
Overschrijf deze methode in een afgeleide klasse en teken op de opgegeven apparaatcontext om miniatuur aan te passen en een korte weergave te bekijken. Als bThumbnail dat het is TRUE, szRequiredThumbnailSize kan worden genegeerd. In dit geval moet u er rekening mee houden dat u bitmap op volledige grootte tekent (dat wil gezegd een bitmap die het hele clientgebied bedekt). De apparaatcontext (dc) wordt geleverd met een geselecteerde bitmap van 32 bits. De standaard implementatie verzendt WM_PRINT naar dit venster met PRF_CLIENT, PRF_CHILDRENen PRF_NONCLIENT vlaggen.
CWnd::OnDrawItem
In het framework wordt deze lidfunctie aangeroepen voor de eigenaar van een besturingselement voor knop tekenen met invoervak, keuzelijstbesturingselement of menu wanneer een visueel aspect van het besturingselement of menu is gewijzigd.
afx_msg void OnDrawItem(
int nIDCtl,
LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameterwaarden
nIDCtl
Bevat de id van het besturingselement dat het WM_DRAWITEM bericht heeft verzonden. Als een menu het bericht heeft verzonden, nIDCtl bevat dit 0.
lpDrawItemStruct
Hiermee geeft u een lange aanwijzer op een DRAWITEMSTRUCT gegevensstructuur die informatie bevat over het te tekenen item en het type tekening dat vereist is.
Opmerkingen
Het itemAction lid van de DRAWITEMSTRUCT structuur definieert de tekenbewerking die moet worden uitgevoerd. Met de gegevens in dit lid kan de eigenaar van het besturingselement bepalen welke tekenactie vereist is.
Voordat u terugkeert van het verwerken van dit bericht, moet een toepassing ervoor zorgen dat de apparaatcontext die is geïdentificeerd door het hDC lid van de DRAWITEMSTRUCT structuur, wordt hersteld naar de standaardstatus.
Als het hwndItem lid deel uitmaakt van een CButton, CMenuof CListBoxCComboBox-object, wordt de DrawItem virtuele functie van de juiste klasse aangeroepen. Overschrijf de DrawItem lidfunctie van de klasse van het juiste besturingselement om het item te tekenen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnDropFiles
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker de linkermuisknop over een venster laat gaan dat zich heeft geregistreerd als ontvanger van verwijderde bestanden.
afx_msg void OnDropFiles(HDROP hDropInfo);
Parameterwaarden
hDropInfo
Een aanwijzer naar een interne gegevensstructuur die de verwijderde bestanden beschrijft. Deze ingang wordt gebruikt door de functies DragFinish, DragQueryFileen DragQueryPoint Windows voor het ophalen van informatie over de verwijderde bestanden.
Opmerkingen
Normaal gesproken wordt een afgeleide klasse ontworpen ter ondersteuning van verwijderde bestanden en wordt deze geregistreerd tijdens de bouw van vensters.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEnable
Het framework roept deze lidfunctie aan wanneer een toepassing de ingeschakelde status van het CWnd object wijzigt.
afx_msg void OnEnable(BOOL bEnable);
Parameterwaarden
bEnable
Hiermee geeft u op of het CWnd object is ingeschakeld of uitgeschakeld. Deze parameter is als de CWnd parameter is ingeschakeld; dit is FALSETRUE als de CWnd parameter is uitgeschakeld.
Opmerkingen
OnEnable wordt aangeroepen voordat de EnableWindow lidfunctie wordt geretourneerd, maar nadat de status van het venster is ingeschakeld (WS_DISABLED stijlbit) is gewijzigd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEndSession
Het framework roept deze lidfunctie aan nadat het CWnd object een niet-nulwaarde heeft geretourneerd uit een aanroep van een OnQueryEndSession lidfunctie.
afx_msg void OnEndSession(BOOL bEnding);
Parameterwaarden
bEnding
Hiermee geeft u op of de sessie wordt beëindigd. Het is TRUE als de sessie wordt beëindigd; anders FALSE.
Opmerkingen
De OnEndSession aanroep informeert het CWnd object of de sessie daadwerkelijk eindigt.
Als bEnding dat het is TRUE, kan Windows op elk gewenst moment beëindigen nadat alle toepassingen zijn geretourneerd na het verwerken van deze aanroep. Daarom moet een toepassing alle taken uitvoeren die nodig zijn voor beëindiging binnen OnEndSession.
U hoeft de DestroyWindow lidfunctie of PostQuitMessage Windows-functie niet aan te roepen wanneer de sessie wordt beëindigd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEnterIdle
Het framework roept deze lidfunctie aan om de hoofdvensterprocedure van een toepassing te informeren dat een modaal dialoogvenster of een menu een niet-actieve status invoert.
afx_msg void OnEnterIdle(
UINT nWhy,
CWnd* pWho);
Parameterwaarden
nWhy
Hiermee geeft u op of het bericht het resultaat is van een dialoogvenster of een menu dat wordt weergegeven. Deze parameter kan een van de volgende waarden zijn:
MSGF_DIALOGBOXHet systeem is inactief omdat er een dialoogvenster wordt weergegeven.MSGF_MENUHet systeem is inactief omdat er een menu wordt weergegeven.
pWho
Hiermee geeft u een aanwijzer naar het dialoogvenster (indien nWhy van toepassing MSGF_DIALOGBOX) of het venster met het weergegeven menu (indien nWhy van toepassing MSGF_MENU). Deze aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Een modaal dialoogvenster of menu voert een niet-actieve status in wanneer er geen berichten in de wachtrij staan nadat een of meer eerdere berichten zijn verwerkt.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEnterMenuLoop
Het framework roept deze lidfunctie aan wanneer er een modale lus van het menu is ingevoerd.
afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);
Parameterwaarden
bIsTrackPopupMenu
Hiermee geeft u op of het betrokken menu een pop-upmenu is. Heeft een niet-nulwaarde als de functie is geslaagd; anders 0.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEnterSizeMove
Het framework roept deze lidfunctie één keer aan nadat het betreffende venster een verplaatsings- of formaatmodale lus binnenkomt.
afx_msg void OnEnterSizeMove();
Opmerkingen
Deze methode ontvangt de WM_ENTERSIZEMOVE melding, die wordt beschreven in de Windows SDK.
Een venster voert een bewegende of formaat modale lus in wanneer de gebruiker op de titelbalk of de grootterand van het venster klikt, of wanneer het venster het WM_SYSCOMMAND bericht doorgeeft aan de CWnd::DefWindowProc functie en de parameter wParam van dat bericht specificeert SC_MOVE of SC_SIZE.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnEraseBkgnd
Het framework roept deze lidfunctie aan wanneer de objectachtergrond moet worden verwijderd (bijvoorbeeld wanneer het CWnd formaat is gewijzigd).
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
Parameterwaarden
pDC
Hiermee geeft u het apparaatcontextobject.
Retourwaarde
Niet-nul als de achtergrond wordt gewist; anders 0.
Opmerkingen
Het wordt aangeroepen om een ongeldig gebied voor te bereiden voor schilderen.
Met de standaard implementatie wordt de achtergrond gewist met behulp van het achtergrondborstel van de vensterklasse dat is opgegeven door het hbrBackground lid van de vensterklassestructuur.
Als het hbrBackground lid is NULL, moet de achtergrondkleur worden gewist door uw overschreven versie OnEraseBkgnd . Uw versie moet ook de oorsprong van de beoogde borstel uitlijnen met de CWnd coördinaten door eerst de borstel aan te roepen UnrealizeObject en vervolgens de borstel te selecteren.
Een onderdrukking OnEraseBkgnd moet niet-nul retourneren als reactie op WM_ERASEBKGND als het bericht wordt verwerkt en de achtergrond wordt gewist. Dit geeft aan dat er geen verdere wissen is vereist. Als het 0 retourneert, blijft het venster gemarkeerd als moet worden gewist. (Dit betekent meestal dat het fErase lid van de PAINTSTRUCT structuur TRUE.)
In Windows wordt ervan uitgegaan dat de achtergrond wordt berekend met de MM_TEXT toewijzingsmodus. Als de apparaatcontext een andere toewijzingsmodus gebruikt, is het gebied dat is gewist mogelijk niet binnen het zichtbare deel van het clientgebied.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnExitMenuLoop
Het framework roept deze lidfunctie aan wanneer een modale lus van het menu is afgesloten.
afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);
Parameterwaarden
bIsTrackPopupMenu
Hiermee geeft u op of het betreffende menu een snelmenu is. Heeft een niet-nulwaarde als de functie is geslaagd; anders 0.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnExitSizeMove
Het framework roept deze lidfunctie één keer aan nadat het betrokken venster een bewegende of formaat modale lus verlaat.
afx_msg void OnExitSizeMove();
Opmerkingen
Deze methode ontvangt de WM_EXITSIZEMOVE melding, die wordt beschreven in de Windows SDK.
Een venster voert een verplaatsings- of groottelus in wanneer de gebruiker op de titelbalk of de grootterand van het venster klikt, of wanneer het venster het WM_SYSCOMMAND bericht doorgeeft aan de CWnd::DefWindowProc functie en de wParam parameter van dat bericht opgeeft SC_MOVE of SC_SIZE.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnFontChange
Alle vensters op het hoogste niveau in het systeem ontvangen een OnFontChange aanroep van het framework nadat de toepassing de groep lettertypebronnen heeft gewijzigd.
afx_msg void OnFontChange();
Opmerkingen
Een toepassing die lettertypen toevoegt aan of verwijdert uit het systeem (bijvoorbeeld via de AddFontResource functie Of RemoveFontResource Windows), moet het bericht verzenden naar alle vensters op het WM_FONTCHANGE hoogste niveau.
Gebruik de SendMessage Windows-functie waarop de hWnd parameter is ingesteld om dit bericht te HWND_BROADCASTverzenden.
CWnd::OnGetDlgCode
Wordt aangeroepen voor een besturingselement, zodat het besturingselement de invoer van de pijl-toets en tabtoets zelf kan verwerken.
afx_msg UINT OnGetDlgCode();
Retourwaarde
Een of meer van de volgende waarden die aangeven welk type invoer de toepassing verwerkt:
DLGC_BUTTONKnop (algemeen).DLGC_DEFPUSHBUTTONStandaardknop.DLGC_HASSETSELEM_SETSELBerichten.DLGC_UNDEFPUSHBUTTONGeen standaarddrukknopverwerking. (Een toepassing kan deze vlag gebruiken omDLGC_BUTTONaan te geven dat knopinvoer wordt verwerkt, maar afhankelijk is van het systeem voor standaarddrukknopverwerking.)DLGC_RADIOBUTTONKeuzerondje.DLGC_STATICStatisch besturingselement.DLGC_WANTALLKEYSAlle toetsenbordinvoer.DLGC_WANTARROWSPijltoetsen.DLGC_WANTCHARSWM_CHARBerichten.DLGC_WANTMESSAGEAlle toetsenbordinvoer. De toepassing geeft dit bericht door aan het besturingselement.DLGC_WANTTABTab-toets.
Opmerkingen
Normaal gesproken verwerkt Windows alle pijl-toets- en TAB-toetsinvoer voor een CWnd besturingselement. Door dit te OnGetDlgCodeoverschrijven, kan een CWnd besturingselement een bepaald type invoer kiezen om zichzelf te verwerken.
De standaardfuncties OnGetDlgCode voor de vooraf gedefinieerde besturingsklassen retourneren een code die geschikt is voor elke klasse.
CWnd::OnGetMinMaxInfo
Het framework roept deze lidfunctie aan wanneer Windows de gemaximaliseerde positie of dimensies of de minimale of maximale traceringsgrootte moet kennen.
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
Parameterwaarden
lpMMI
Verwijst naar een MINMAXINFO structuur die informatie bevat over de gemaximaliseerde grootte en positie van een venster en de minimale en maximale traceringsgrootte. Zie de MINMAXINFO structuur voor meer informatie over deze structuur.
Opmerkingen
De maximale grootte is de grootte van het venster wanneer de randen volledig worden uitgebreid. De maximale traceringsgrootte van het venster is de grootste venstergrootte die kan worden bereikt door de randen te gebruiken om de grootte van het venster aan te passen. De minimale traceringsgrootte van het venster is de kleinste venstergrootte die kan worden bereikt door de randen te gebruiken om de grootte van het venster te wijzigen.
Windows vult een matrix met punten die standaardwaarden voor de verschillende posities en dimensies opgeven. De toepassing kan deze waarden wijzigen in OnGetMinMaxInfo.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnHelp
Verwerkt F1 Help binnen de toepassing (met behulp van de huidige context).
afx_msg void OnHelp();
Opmerkingen
Zie CWinApp::OnHelp voor meer informatie.
CWnd::OnHelpFinder
Verwerkt de ID_HELP_FINDER en ID_DEFAULT_HELP opdrachten.
afx_msg void OnHelpFinder();
Opmerkingen
Zie CWinApp::OnHelpFinder voor meer informatie.
CWnd::OnHelpIndex
Verwerkt de ID_HELP_INDEX opdracht en biedt een standaard-Help-onderwerp.
afx_msg void OnHelpIndex();
Opmerkingen
Zie CWinApp::OnHelpIndex voor meer informatie.
CWnd::OnHelpInfo
Aangeroepen door het framework wanneer de gebruiker op de F1-toets drukt.
afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);
Parameterwaarden
lpHelpInfo
Wijs een HELPINFO structuur aan met informatie over het menu-item, besturingselement, dialoogvenster of venster waarvoor hulp wordt aangevraagd.
Retourwaarde
Retourneert TRUE als een venster de toetsenbordfocus heeft of als een menu actief is binnen een venster. Als er geen venster de toetsenbordfocus heeft, wordt het resultaat geretourneerd FALSE.
Opmerkingen
Als een menu actief is wanneer F1 wordt ingedrukt, WM_HELP wordt verzonden naar het venster dat is gekoppeld aan het menu; WM_HELP anders wordt het venster met de toetsenbordfocus verzonden. Als er geen venster de toetsenbordfocus heeft, WM_HELP wordt deze verzonden naar het momenteel actieve venster.
CWnd::OnHelpUsing
Hiermee wordt de ID_HELP_USING opdracht afgehandeld.
afx_msg void OnHelpUsing();
Opmerkingen
Zie CWinApp::OnHelpUsing voor meer informatie.
CWnd::OnHotKey
Het framework roept deze lidfunctie aan wanneer de gebruiker op een systeembrede sneltoets drukt.
afx_msg void OnHotKey(
UINT nHotKeyId,
UINT nKey1,
UINT nKey2);
Parameterwaarden
nHotKeyId
[in] Id voor de sneltoets die het bericht heeft gegenereerd. Als het bericht is gegenereerd door een door het systeem gedefinieerde sneltoets, is deze parameter een van de volgende waarden:
-
IDHOT_SNAPDESKTOP- De sneltoets voor het vastmaken van het bureaublad is ingedrukt. -
IDHOT_SNAPWINDOW- De hot-toets voor het uitlijnvenster is ingedrukt.
nKey1
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke toetsen zijn ingedrukt in combinatie met de toets die is opgegeven door de nKey2 parameter. Mogelijke waarden zijn:
-
MOD_ALT- Beide Alt-toets is ingedrukt. -
MOD_CONTROL- Ctrl-toets is ingedrukt. -
MOD_SHIFT- De Shift-toets is ingedrukt. -
MOD_WIN- Er is een WINDOWS-toets ingedrukt. Deze sleutels worden gelabeld met het Microsoft Windows-logo.
nKey2
[in] De code van de virtuele sleutel van de sneltoets.
Opmerkingen
Deze methode ontvangt de WM_HOTKEY melding, die wordt beschreven in de Windows SDK. Dit bericht wordt boven aan de berichtenwachtrij geplaatst die is gekoppeld aan de thread die de sneltoets heeft geregistreerd. Gebruik de RegisterHotKey functie om een systeembrede sneltoets te registreren.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnHScroll
Het framework roept deze lidfunctie aan wanneer de gebruiker op de horizontale schuifbalk van een venster klikt.
afx_msg void OnHScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parameterwaarden
nSBCode
Hiermee geeft u een schuifbalkcode op die de schuifaanvraag van de gebruiker aangeeft. Deze parameter kan een van de volgende zijn:
SB_LEFTSchuif naar links.SB_ENDSCROLLEinde schuiven.SB_LINELEFTSchuif naar links.SB_LINERIGHTSchuif naar rechts.SB_PAGELEFTEén pagina naar links schuiven.SB_PAGERIGHTSchuif één pagina naar rechts.SB_RIGHTSchuif naar rechts.SB_THUMBPOSITIONSchuif naar de absolute positie. De huidige positie wordt opgegeven door denPosparameter.SB_THUMBTRACKSleep het schuifvak naar de opgegeven positie. De huidige positie wordt opgegeven door denPosparameter.
nPos
Hiermee geeft u de positie van het schuifvak op als de schuifbalkcode of SB_THUMBPOSITIONSB_THUMBTRACK; anders niet wordt gebruikt. Afhankelijk van het eerste schuifbereik nPos kan dit negatief zijn en indien nodig worden omgezet in een int .
pScrollBar
Als het schuifbericht afkomstig is van een besturingselement met schuifbalk, bevat deze een aanwijzer naar het besturingselement. Als de gebruiker op de schuifbalk van een venster heeft geklikt, is NULLdeze parameter . De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
De SB_THUMBTRACK schuifbalkcode wordt doorgaans gebruikt door toepassingen die feedback geven terwijl het schuifvak wordt gesleept.
Als een toepassing de inhoud schuift die wordt bepaald door de schuifbalk, moet deze ook de positie van het schuifvak opnieuw instellen met de SetScrollPos lidfunctie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
Example
void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
// Get the minimum and maximum scroll-bar positions.
int minpos;
int maxpos;
GetScrollRange(SB_HORZ, &minpos, &maxpos);
maxpos = GetScrollLimit(SB_HORZ);
// Get the current position of scroll box.
int curpos = GetScrollPos(SB_HORZ);
// Determine the new position of scroll box.
switch (nSBCode)
{
case SB_LEFT: // Scroll to far left.
curpos = minpos;
break;
case SB_RIGHT: // Scroll to far right.
curpos = maxpos;
break;
case SB_ENDSCROLL: // End scroll.
break;
case SB_LINELEFT: // Scroll left.
if (curpos > minpos)
curpos--;
break;
case SB_LINERIGHT: // Scroll right.
if (curpos < maxpos)
curpos++;
break;
case SB_PAGELEFT: // Scroll one page left.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos > minpos)
curpos = max(minpos, curpos - (int)info.nPage);
}
break;
case SB_PAGERIGHT: // Scroll one page right.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos < maxpos)
curpos = min(maxpos, curpos + (int)info.nPage);
}
break;
case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
curpos = nPos; // of the scroll box at the end of the drag operation.
break;
case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
curpos = nPos; // position that the scroll box has been dragged to.
break;
}
// Set the new position of the thumb (scroll box).
SetScrollPos(SB_HORZ, curpos);
CView::OnHScroll(nSBCode, nPos, pScrollBar);
}
CWnd::OnHScrollClipboard
De lidfunctie van de eigenaar van OnHScrollClipboard het Klembord wordt aangeroepen door de Klembord-viewer wanneer de gegevens van het Klembord de CF_OWNERDISPLAY indeling hebben en er een gebeurtenis is op de horizontale schuifbalk van de Klembordviewer.
afx_msg void OnHScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parameterwaarden
pClipAppWnd
Hiermee geeft u een aanwijzer naar een Klembord-viewervenster. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
nSBCode
Hiermee geeft u een van de volgende schuifbalkcodes in het woord in lage volgorde op:
SB_BOTTOMSchuif naar rechtsonder.SB_ENDSCROLLEinde schuiven.SB_LINEDOWNSchuif één regel omlaag.SB_LINEUPSchuif één regel omhoog.SB_PAGEDOWNSchuif één pagina omlaag.SB_PAGEUPSchuif één pagina omhoog.SB_THUMBPOSITIONSchuif naar de absolute positie. De huidige positie wordt verstrekt innPos.SB_TOPSchuif naar linksboven.
nPos
Bevat de positie van het schuifvak als de schuifbalkcode is SB_THUMBPOSITION; anders niet gebruikt.
Opmerkingen
De eigenaar moet door de afbeelding van het Klembord schuiven, de juiste sectie ongeldig maken en de waarden van de schuifbalk bijwerken.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnIconEraseBkgnd
Het framework roept deze lidfunctie aan voor een geminimaliseerd (iconisch) CWnd object wanneer de achtergrond van het pictogram moet worden opgevuld voordat het pictogram wordt geschilderd.
afx_msg void OnIconEraseBkgnd(CDC* pDC);
Parameterwaarden
pDC
Hiermee geeft u het apparaatcontextobject van het pictogram. Kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
CWnd ontvangt deze aanroep alleen als er een klassepictogram is gedefinieerd voor de standaard implementatie van het venster; anders OnEraseBkgnd wordt het aangeroepen.
De DefWindowProc lidfunctie vult de pictogramachtergrond met het achtergrondborstel van het bovenliggende venster.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnInitMenu
Het framework roept deze lidfunctie aan wanneer een menu op het punt staat om actief te worden.
afx_msg void OnInitMenu(CMenu* pMenu);
Parameterwaarden
pMenu
Hiermee geeft u het menu dat moet worden geïnitialiseerd. Kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
OnInitMenu wordt aangeroepen wanneer de gebruiker op een item op de menubalk klikt of op een menutoets drukt. Overschrijf deze lidfunctie om het menu te wijzigen voordat het wordt weergegeven.
OnInitMenu wordt slechts eenmaal aangeroepen wanneer een menu voor het eerst wordt geopend (bijvoorbeeld wanneer een gebruiker op een item op de menubalk klikt). Deze methode biedt geen informatie over menu-items. Wanneer de gebruiker naar items in het menu gaat (bijvoorbeeld door de muis over verschillende menu-items te bewegen), wordt de functie niet opnieuw aangeroepen. Zodra de gebruiker het menu verlaat (bijvoorbeeld door op het toepassingsclientgebied te klikken) en later op een item op de menubalk klikt, wordt de functie opnieuw aangeroepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnInitMenuPopup
Het framework roept deze lidfunctie aan wanneer een pop-upmenu op het punt staat om actief te worden.
afx_msg void OnInitMenuPopup(
CMenu* pPopupMenu,
UINT nIndex,
BOOL bSysMenu);
Parameterwaarden
pPopupMenu
Hiermee geeft u het menuobject van het pop-upmenu. Kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
nIndex
Hiermee geeft u de index van het snelmenu in het hoofdmenu.
bSysMenu
TRUE als het snelmenu het menu Control is; anders FALSE.
Opmerkingen
Hierdoor kan een toepassing het snelmenu wijzigen voordat het wordt weergegeven zonder het hele menu te wijzigen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnInputDeviceChange
Het framework roept deze lidfunctie aan wanneer een I/O-apparaat wordt toegevoegd aan of verwijderd uit het systeem.
afx_msg void OnInputDeviceChange(unsigned short uFlag);
Parameterwaarden
uFlag
[in] Deze vlag kan de volgende waarden bevatten:
-
GIDC_ARRIVAL- Er is een nieuw apparaat toegevoegd aan het systeem. -
GIDC_REMOVAL- Er is een apparaat verwijderd uit het systeem.
Opmerkingen
Deze methode ontvangt de WM_INPUT_DEVICE_CHANGE melding, die wordt beschreven in de Windows SDK. Het is een algemeen invoerapparaatbericht.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnInputLangChange
Het framework roept dit lid aan voor het meest relevante venster nadat de invoertaal van een toepassing is gewijzigd.
afx_msg void OnInputLangChange(
UINT nCharSet,
UINT nLocaleId);
Parameterwaarden
nCharSet
[in] De tekenset van de nieuwe landinstelling. Zie de lfCharSet parameter van de LOGFONT structuur voor meer informatie.
nLocaleId
[in] De landinstellings-id voor invoer. Zie Taal-id-constanten en tekenreeksen voor meer informatie.
Opmerkingen
Deze methode ontvangt het WM_INPUTLANGCHANGE meldingsbericht, dat wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnInputLangChangeRequest
Het framework roept dit lid aan voor venster met de focus wanneer de gebruiker een nieuwe invoertaal kiest.
afx_msg void OnInputLangChangeRequest(
UINT nFlags,
UINT nLocaleId);
Parameterwaarden
nFlags
[in] Een bitwise (OR) combinatie van vlaggen die aangeven dat de nieuwe landinstelling is geselecteerd uit de vorige of volgende landinstelling in de geïnstalleerde lijst met landinstellingen, of dat de toetsenbordindeling van de nieuwe invoerlandinstelling kan worden gebruikt met de systeemtekenset. De mogelijke waarden zijn INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARD en INPUTLANGCHANGE_SYSCHARSET.
nLocaleId
[in] De landinstellings-id voor invoer. Zie Taal-id-constanten en tekenreeksen voor meer informatie.
Opmerkingen
Deze methode ontvangt het WM_INPUTLANGCHANGEREQUEST meldingsbericht, dat wordt beschreven in de Windows SDK. Dit bericht wordt gepost wanneer de gebruiker een nieuwe invoertaal kiest met een sneltoets die is opgegeven in de toepassing van het toetsenbord configuratiescherm of vanuit de indicator op de taakbalk van het systeem.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnKeyDown
Het framework roept deze lidfunctie aan wanneer een niet-systeemsleutel wordt ingedrukt.
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de virtuele sleutelcode van de opgegeven sleutel. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nRepCnt
Aantal herhalingen (het aantal keren dat de toetsaanslag wordt herhaald als gevolg van de gebruiker die de toets ingedrukt houdt).
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Description |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is vóór de aanroep, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Voor een WM_KEYDOWN bericht is de sleutelovergangs-bits (bit 15) 0 en is de contextcode-bit (bit 13) 0.
Opmerkingen
Een niet-systeemtoets is een toetsenbordtoets die wordt ingedrukt wanneer de Alt-toets niet wordt ingedrukt of een toetsenbordtoets die wordt ingedrukt wanneer CWnd de invoerfocus heeft.
Vanwege automatisch herhalen kan er meer dan één OnKeyDown aanroep plaatsvinden voordat een OnKeyUp lidfunctieaanroep wordt uitgevoerd. De bit die de vorige sleutelstatus aangeeft, kan worden gebruikt om te bepalen of de OnKeyDown aanroep de eerste overgang naar beneden of een herhaalde overgang naar beneden is.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bits in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnKeyUp
Het framework roept deze lidfunctie aan wanneer een niet-systeemsleutel wordt vrijgegeven.
afx_msg void OnKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de virtuele sleutelcode van de opgegeven sleutel. Zie Winuser.h voor een lijst met standaardcodes voor virtuele sleutels
nRepCnt
Aantal herhalingen (het aantal keren dat de toetsaanslag wordt herhaald als gevolg van de gebruiker die de toets ingedrukt houdt).
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Description |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). Lage byte van woord in hoge volgorde. |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is; anders 0). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is vóór de aanroep, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Voor een WM_KEYUP bericht is de sleutelovergangs-bits (bit 15) 1 en is de contextcode-bit (bit 13) 0.
Opmerkingen
Een niet-systeemtoets is een toetsenbordtoets die wordt ingedrukt wanneer de Alt-toets niet wordt ingedrukt of een toetsenbordtoets die wordt ingedrukt wanneer de CWnd invoerfocus heeft.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bit in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnKillFocus
Het framework roept deze lidfunctie onmiddellijk aan voordat de invoerfocus verloren gaat.
afx_msg void OnKillFocus(CWnd* pNewWnd);
Parameterwaarden
pNewWnd
Hiermee geeft u een aanwijzer naar het venster dat de invoerfocus ontvangt (mogelijk NULL tijdelijk of mogelijk tijdelijk).
Opmerkingen
Als het CWnd object een caret weergeeft, moet de caret op dit moment worden vernietigd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnLButtonDblClk
Het framework roept deze lidfunctie aan wanneer de gebruiker dubbelklikt op de linkermuisknop.
afx_msg void OnLButtonDblClk(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Alleen vensters met de CS_DBLCLKSWNDCLASS stijl ontvangen OnLButtonDblClk oproepen. Dit is de standaardinstelling voor Microsoft Foundation Class-vensters. Windows roept aan OnLButtonDblClk wanneer de gebruiker op de linkermuisknop drukt en vervolgens opnieuw op de linkermuisknop drukt binnen de tijdslimiet van het systeem. Dubbelklik op de linkermuisknop genereert eigenlijk vier gebeurtenissen: WM_LBUTTONDOWN, WM_LBUTTONUP berichten, het WM_LBUTTONDBLCLK gesprek en een ander WM_LBUTTONUP bericht wanneer de knop wordt vrijgegeven.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnLButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op de linkermuisknop drukt.
afx_msg void OnLButtonDown(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnLButtonUp
Het framework roept deze lidfunctie aan wanneer de gebruiker de linkermuisknop loslaat.
afx_msg void OnLButtonUp(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMButtonDblClk
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker dubbelklikt op de middelste muisknop.
afx_msg void OnMButtonDblClk(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Alleen vensters met de CS_DBLCLKSWNDCLASS stijl ontvangen OnMButtonDblClk oproepen. Dit is de standaardinstelling voor alle Microsoft Foundation Class-vensters. Windows genereert een OnMButtonDblClk aanroep wanneer de gebruiker op de middelste muisknop drukt en vervolgens opnieuw op de middelste muisknop drukt binnen de tijdslimiet van het systeem. Dubbelklik op de middelste muisknop genereert eigenlijk vier gebeurtenissen: WM_MBUTTONDOWN en WM_MBUTTONUP berichten, het WM_MBUTTONDBLCLK gesprek en een ander WM_MBUTTONUP bericht.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMButtonDown
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker op de middelste muisknop drukt.
afx_msg void OnMButtonDown(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMButtonUp
Het framework roept deze lidfunctie aan wanneer de gebruiker de middelste muisknop loslaat.
afx_msg void OnMButtonUp(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMDIActivate
Het framework roept deze lidfunctie aan voor het onderliggende venster dat wordt gedeactiveerd en het onderliggende venster dat wordt geactiveerd.
afx_msg void OnMDIActivate(
BOOL bActivate,
CWnd* pActivateWnd,
CWnd* pDeactivateWnd);
Parameterwaarden
bActivate
TRUE als het kind wordt geactiveerd en FALSE als het wordt gedeactiveerd.
pActivateWnd
Bevat een aanwijzer naar het onderliggende MDI-venster dat moet worden geactiveerd. Wanneer dit wordt ontvangen door een onderliggend MDI-venster, pActivateWnd bevat een aanwijzer naar het onderliggende venster dat wordt geactiveerd. Deze aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
pDeactivateWnd
Bevat een aanwijzer naar het onderliggende MDI-venster dat wordt gedeactiveerd. Deze aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Een onderliggend MDI-venster wordt onafhankelijk van het MDI-framevenster geactiveerd. Wanneer het frame actief wordt, ontvangt het onderliggende venster dat voor het laatst is geactiveerd met een OnMDIActivate oproep een WM_NCACTIVATE bericht om een actief vensterkader en ondertitelingsbalk te tekenen, maar er wordt geen andere OnMDIActivate oproep ontvangen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMeasureItem
Het framework roept deze lidfunctie aan door het framework voor de eigenaar van een knop eigenaar tekenen, keuzelijst met invoervak, keuzelijst of menu-item wanneer het besturingselement wordt gemaakt.
afx_msg void OnMeasureItem(
int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
Parameterwaarden
nIDCtl
De id van het besturingselement.
lpMeasureItemStruct
Verwijst naar een MEASUREITEMSTRUCT gegevensstructuur die de afmetingen van het besturingselement eigenaar tekenen bevat.
Opmerkingen
Overschrijf deze lidfunctie en vul de MEASUREITEMSTRUCT gegevensstructuur in waarop wordt verwezen door lpMeasureItemStruct en retourneer; hiermee informeert Windows over de afmetingen van het besturingselement en kan Windows gebruikersinteractie met het besturingselement correct verwerken.
Als er een keuzelijst of keuzelijst met invoervak met de LBS_OWNERDRAWVARIABLE of CBS_OWNERDRAWVARIABLE stijl wordt gemaakt, roept het framework deze functie aan voor de eigenaar van elk item in het besturingselement. Anders wordt deze functie eenmaal aangeroepen.
Windows start de aanroep naar OnMeasureItem de eigenaar van keuzelijsten met invoervak en keuzelijsten die zijn gemaakt met de OWNERDRAWFIXED stijl voordat het WM_INITDIALOG bericht wordt verzonden. Als de eigenaar deze aanroep ontvangt, heeft Windows de hoogte en breedte van het lettertype dat in het besturingselement wordt gebruikt, nog niet bepaald. functie-aanroepen en berekeningen waarvoor deze waarden zijn vereist, moeten plaatsvinden in de hoofdfunctie van de toepassing of bibliotheek.
Als het item dat wordt gemeten een CMenuCListBox of CComboBox object is, wordt de MeasureItem virtuele functie van de juiste klasse aangeroepen. Overschrijf de MeasureItem lidfunctie van de klasse van het juiste besturingselement om de grootte van elk item te berekenen en in te stellen.
OnMeasureItem wordt alleen aangeroepen als de klasse van het besturingselement tijdens runtime wordt gemaakt of wordt gemaakt met de LBS_OWNERDRAWVARIABLE of CBS_OWNERDRAWVARIABLE stijl. Als het besturingselement wordt gemaakt door de dialoogvenstereditor, OnMeasureItem wordt dit niet aangeroepen. Dit komt doordat het WM_MEASUREITEM bericht vroeg in het aanmaakproces van het besturingselement wordt verzonden. Als u subklassen gebruikt met behulp van DDX_Control, SubclassDlgItemof SubclassWindow, vindt de subklasse meestal plaats na het maken. Daarom is er geen manier om het WM_MEASUREITEM bericht in de functie van OnChildNotify het besturingselement te verwerken. Dit is het mechanisme dat MFC gebruikt om te implementeren ON_WM_MEASUREITEM_REFLECT.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMenuChar
Het framework roept deze lidfunctie aan wanneer de gebruiker op een menumnemonic-teken drukt dat niet overeenkomt met een van de vooraf gedefinieerde nemonics in het huidige menu.
afx_msg LRESULT OnMenuChar(
UINT nChar,
UINT nFlags,
CMenu* pMenu);
Parameterwaarden
nChar
Afhankelijk van de build-instellingen geeft u het ANSI- of Unicode-teken op dat de gebruiker heeft ingedrukt.
nFlags
Bevat de MF_POPUP vlag als het menu een snelmenu is. De vlag bevat de MF_SYSMENU vlag als het menu een besturingselementmenu is.
pMenu
Bevat een aanwijzer naar de geselecteerde CMenu. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen.
Retourwaarde
Het woord met hoge volgorde van de retourwaarde moet een van de volgende opdrachtcodes bevatten:
| Waarde | Description |
|---|---|
| 0 | Hiermee wordt aan Windows aangegeven dat het teken dat de gebruiker heeft ingedrukt en een korte pieptoon op de systeemluidspreker heeft gemaakt. |
| 1 | Hiermee wordt aangegeven dat Windows het huidige menu moet sluiten. |
| 2 | Informeert Windows dat het woord in lage volgorde van de retourwaarde het itemnummer voor een specifiek item bevat. Dit item is geselecteerd door Windows. |
Het woord met lage volgorde wordt genegeerd als het woord in hoge volgorde 0 of 1 bevat. Toepassingen moeten dit bericht verwerken wanneer sneltoetsen (sneltoetsen) worden gebruikt om bitmaps in een menu te selecteren.
Opmerkingen
Het wordt verzonden naar het CWnd menu dat eigenaar is van het menu.
OnMenuChar wordt ook aangeroepen wanneer de gebruiker op Alt en een andere toets drukt, zelfs als de toets niet overeenkomt met een nemonic-teken. In dit geval pMenu verwijst u naar het menu dat eigendom is van de CWnden nFlags is dit 0.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMenuDrag
In het framework wordt deze lidfunctie van het huidige menu slepen en neerzetten aangeroepen wanneer de gebruiker een menu-item begint te slepen.
afx_msg UINT OnMenuDrag(
UINT nPos,
CMenu* pMenu);
Parameterwaarden
nPos
[in] De indexpositie van het menu-item wanneer de sleepbewerking begint.
pMenu
[in] Wijs het CMenu object aan dat het menu-item bevat.
Retourwaarde
| Retourwaarde | Meaning |
|---|---|
MND_CONTINUE |
Het menu moet actief blijven. Als de muis wordt losgelaten, moet deze worden genegeerd. |
MND_ENDMENU |
Het menu moet worden beëindigd. |
Opmerkingen
Deze methode ontvangt de WM_MENUDRAG melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMenuGetObject
In het framework wordt deze lidfunctie van het huidige menu slepen en neerzetten aangeroepen wanneer de muiscursor een menu-item invoert of van het midden van het item naar de boven- of onderkant van het item gaat.
afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);
Parameterwaarden
pMenu
[in] Wijs een MENUGETOBJECTINFO structuur aan die informatie bevat over het menu slepen en neerzetten waarop de muiscursor zich bevindt.
Retourwaarde
| Retourwaarde | Meaning |
|---|---|
MNGO_NOERROR |
Een interfaceaanwijzer die ondersteuning biedt voor drop-and-drag-bewerkingen, wordt geretourneerd in het pvObj lid van de MENUGETOBJECTINFO structuur. Op dit moment wordt alleen de IDropTarget interface ondersteund. |
MNGO_NOINTERFACE |
Er wordt geen interface voor neerzetten en slepen ondersteund. |
Opmerkingen
Deze methode ontvangt de WM_MENUGETOBJECT melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMenuRButtonUp
Het framework roept deze lidfunctie aan wanneer de gebruiker de rechtermuisknop loslaat terwijl de cursor zich in een menu-item bevindt.
afx_msg void OnMenuRButtonUp(
UINT nPos,
CMenu* pMenu);
Parameterwaarden
nPos
[in] De indexpositie van het menu-item toen de rechtermuisknop werd losgelaten.
pMenu
[in] Wijs het CMenu object aan dat het menu-item bevat.
Opmerkingen
Deze methode ontvangt de WM_MENURBUTTONUP melding, die wordt beschreven in de Windows SDK. Met WM_MENURBUTTONUP het bericht kan een toepassing een contextgevoelig menu opgeven voor het menu-item dat in het bericht is opgegeven.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMenuSelect
Als het CWnd object is gekoppeld aan een menu, OnMenuSelect wordt het door het framework aangeroepen wanneer de gebruiker een menu-item selecteert.
afx_msg void OnMenuSelect(
UINT nItemID,
UINT nFlags,
HMENU hSysMenu);
Parameterwaarden
nItemID
Hiermee wordt het geselecteerde item geïdentificeerd. Als het geselecteerde item een menu-item is, nItemID bevat u de id van het menu-item. Als het geselecteerde item een pop-upmenu bevat, nItemID bevat de pop-upmenuindex en hSysMenu bevat de greep van het hoofdmenu (erop geklikt).
nFlags
Bevat een combinatie van de volgende menuvlagmen:
MF_BITMAPItem is een bitmap.MF_CHECKEDItem is ingeschakeld.MF_DISABLEDItem is uitgeschakeld.MF_GRAYEDHet item wordt grijs weergegeven.MF_MOUSESELECTItem is geselecteerd met een muis.MF_OWNERDRAWItem is een item dat eigenaar tekent.MF_POPUPItem bevat een snelmenu.MF_SEPARATORItem is een scheidingsteken voor menu-items.MF_SYSMENUHet item bevindt zich in het menu Control.
hSysMenu
Als nFlags dit bevat MF_SYSMENU, identificeert u het menu dat aan het bericht is gekoppeld. Als nFlags dit bevat MF_POPUP, identificeert u de ingang van het hoofdmenu. Als nFlags dit geen van beide MF_SYSMENUMF_POPUPbevat, wordt deze niet gebruikt.
Opmerkingen
Als nFlags deze 0xFFFF bevat en hSysMenu 0 bevat, heeft Windows het menu gesloten omdat de gebruiker op esc heeft gedrukt of buiten het menu heeft geklikt.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMouseActivate
Het framework roept deze lidfunctie aan wanneer de cursor zich in een inactief venster bevindt en de gebruiker op een muisknop drukt.
afx_msg int OnMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
Parameterwaarden
pDesktopWnd
Hiermee geeft u een aanwijzer naar het bovenliggende venster op het hoogste niveau van het venster dat wordt geactiveerd. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen.
nHitTest
Hiermee geeft u de hit-test net code. Een hittest is een test die de locatie van de cursor bepaalt.
message
Hiermee geeft u het nummer van het muisbericht op.
Retourwaarde
Hiermee geeft u op of de CWnd muisgebeurtenis moet worden geactiveerd en of de muisgebeurtenis moet worden verwijderd. Dit moet een van de volgende waarden zijn:
MA_ACTIVATEActiveerCWndhet object.MA_NOACTIVATEActiveerCWndhet object niet.MA_ACTIVATEANDEATActiveerCWndhet object en verwijder de muisgebeurtenis.MA_NOACTIVATEANDEATActiveerCWndhet object niet en verwijder de muisgebeurtenis.
Opmerkingen
De standaard implementatie geeft dit bericht door aan het bovenliggende venster voordat er verwerking plaatsvindt. Als het bovenliggende venster TRUE retourneert, wordt de verwerking gestopt.
Zie de OnNcHitTest lidfunctie voor een beschrijving van de afzonderlijke hit-test area codes
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
Example
// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
CWnd::OnMouseHover
Het framework roept deze lidfunctie aan wanneer de cursor de muisaanwijzer boven het clientgebied van het venster beweegt gedurende de periode die is opgegeven in een voorafgaande aanroep TrackMouseEvent.
afx_msg void OnMouseHover(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt de WM_MOUSEHOVER melding, die wordt beschreven in de Windows SDK.
De nFlags parameter kan een combinatie zijn van wijzigingssleutels die worden vermeld in de volgende tabel. Zie Over muisinvoer voor meer informatie.
| Wijzigingstoets | Description |
|---|---|
MK_CONTROL |
De Ctrl-toets wordt ingedrukt. |
MK_LBUTTON |
De linkermuisknop wordt ingedrukt. |
MK_MBUTTON |
De middelste muisknop wordt ingedrukt. |
MK_RBUTTON |
De rechtermuisknop wordt ingedrukt. |
MK_SHIFT |
De SHIFT-toets wordt ingedrukt. |
MK_XBUTTON1 |
De XBUTTON1 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
MK_XBUTTON2 |
De XBUTTON2 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMouseHWheel
Het framework roept dit lid aan wanneer het horizontale schuifwiel van de muis wordt gekanteld of gedraaid.
afx_msg void OnMouseHWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parameterwaarden
nFlags
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt. Zie de subkop Berichtparameters in Info over muisinvoer voor een lijst met vlaggen.
zDelta
[in] Geeft aan hoe ver het wiel wordt gedraaid, uitgedrukt in veelvouden of delen van WHEEL_DELTA, dat is 120. Een positieve waarde geeft aan dat het wiel naar rechts is gedraaid; een negatieve waarde geeft aan dat het wiel naar links is gedraaid.
pt
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt het WM_MOUSEHWHEEL meldingsbericht, dat wordt beschreven in de Windows SDK. Dit bericht wordt verzonden naar het venster met de focus wanneer het horizontale schuifwiel van de muis wordt gekanteld of gedraaid.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMouseLeave
Het framework roept deze lidfunctie aan wanneer de cursor het clientgebied van het venster verlaat dat is opgegeven in een eerdere aanroep.TrackMouseEvent
afx_msg void OnMouseLeave();
Opmerkingen
Deze methode ontvangt de WM_MOUSELEAVE melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMouseMove
In het framework wordt deze lidfunctie aangeroepen wanneer de muiscursor wordt verplaatst.
afx_msg void OnMouseMove(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Als de muis niet wordt vastgelegd, wordt het bericht ontvangen door het WM_MOUSEMOVECWnd object onder de muiscursor. Anders gaat het bericht naar het venster dat de muis heeft vastgelegd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMouseWheel
Het framework roept deze lidfunctie aan als een gebruiker het muiswiel roteert en de volgende notch van het wiel tegenkomt.
afx_msg BOOL OnMouseWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als de Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop niet beschikbaar is.MK_MBUTTONInstellen als de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTStel in of de Shift-toets niet beschikbaar is.
zDelta
Geeft de afstand aan die is gedraaid. De zDelta waarde wordt uitgedrukt in veelvouden of delen, WHEEL_DELTAwaarvan 120. Een waarde kleiner dan nul duidt op terugdraaien (naar de gebruiker) terwijl een waarde groter dan nul aangeeft dat vooruit draaien (weg van de gebruiker). De gebruiker kan dit antwoord omkeren door de wielinstelling in de muissoftware te wijzigen. Zie de opmerkingen voor meer informatie over deze parameter.
pt
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Retourwaarde
Niet-nul als schuiven met muiswiel is ingeschakeld; anders 0.
Opmerkingen
Tenzij overschreven, OnMouseWheel wordt de standaardwaarde van WM_MOUSEWHEEL. Windows stuurt het bericht automatisch door naar het besturingselement of het onderliggende venster met de focus. Met de Functie Win32 DefWindowProc wordt het bericht doorgegeven aan de bovenliggende keten in het venster dat het verwerkt.
De zDelta parameter is een veelvoud van WHEEL_DELTA, dat is ingesteld op 120. Deze waarde is de drempelwaarde voor een actie die moet worden uitgevoerd en een dergelijke actie (bijvoorbeeld één notch naar voren schuiven) moet plaatsvinden voor elke delta.
WHEEL_DELTA was ingesteld op 120 om fijner resolutie wielen toe te staan, zoals een vrij draaiend wiel zonder inkepingen. Met een fijner resolutiewiel worden meer berichten per draaiing verzonden, maar elk bericht heeft een kleinere deltawaarde. Als u een dergelijk wiel wilt gebruiken, voegt u de binnenkomende zDelta waarden toe totdat WHEEL_DELTA deze is bereikt (zodat u hetzelfde antwoord krijgt voor een bepaalde deltarotatie) of schuift u gedeeltelijke lijnen als reactie op de frequentere berichten. U kunt ook een schuifgranulariteit kiezen en delta's verzamelen totdat WHEEL_DELTA deze is bereikt.
Overschrijf deze lidfunctie om uw eigen schuifgedrag voor muiswielen te bieden.
Opmerking
OnMouseWheel verwerkt berichten voor Windows NT 4.0 en nieuwere versies. Gebruik voor de verwerking OnRegisteredMouseWheelvan berichten in Windows 95/98 of Windows NT 3.51.
CWnd::OnMove
Het framework roept deze lidfunctie aan nadat het CWnd object is verplaatst.
afx_msg void OnMove(
int x,
int y);
Parameterwaarden
x
Hiermee geeft u de nieuwe x-coördinaatlocatie van de linkerbovenhoek van het clientgebied. Deze nieuwe locatie wordt gegeven in schermcoördinaten voor overlappende en pop-upvensters en coördinaten van bovenliggende clients voor onderliggende vensters.
y
Hiermee geeft u de nieuwe y-coördinaatlocatie van de linkerbovenhoek van het clientgebied. Deze nieuwe locatie wordt gegeven in schermcoördinaten voor overlappende en pop-upvensters en coördinaten van bovenliggende clients voor onderliggende vensters.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnMoving
Het framework roept deze lidfunctie aan terwijl een gebruiker een CWnd object verplaatst.
afx_msg void OnMoving(
UINT nSide,
LPRECT lpRect);
Parameterwaarden
nSide
De rand van het venster dat moet worden verplaatst.
lpRect
Adres van de CRect of RECT structuur die de coördinaten van het item bevat.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcActivate
Het framework roept deze lidfunctie aan wanneer het niet-clientgebied moet worden gewijzigd om een actieve of inactieve status aan te geven.
afx_msg BOOL OnNcActivate(BOOL bActive);
Parameterwaarden
bActive
Hiermee geeft u op wanneer een bijschriftbalk of pictogram moet worden gewijzigd om een actieve of inactieve status aan te geven. De bActive parameter is TRUE als een actief bijschrift of pictogram moet worden getekend. Dit is FALSE voor een inactief bijschrift of pictogram.
Retourwaarde
Nietzero als Windows moet doorgaan met de standaardverwerking; 0 om te voorkomen dat de bijschriftbalk of het pictogram wordt gedeactiveerd.
Opmerkingen
De standaard implementatie tekent de titelbalk en titelbalktekst in hun actieve kleuren als bActive dat wel TRUE en in hun inactieve kleuren bActive is FALSE.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcCalcSize
Het framework roept deze lidfunctie aan wanneer de grootte en positie van het clientgebied moeten worden berekend.
afx_msg void OnNcCalcSize(
BOOL bCalcValidRects,
NCCALCSIZE_PARAMS* lpncsp);
Parameterwaarden
bCalcValidRects
Hiermee geeft u op of de toepassing moet opgeven welk deel van het clientgebied geldige informatie bevat. Windows kopieert de geldige informatie naar het opgegeven gebied binnen het nieuwe clientgebied. Als deze parameter TRUE is, moet de toepassing opgeven welk deel van het clientgebied geldig is.
lpncsp
Verwijst naar een NCCALCSIZE_PARAMS gegevensstructuur die informatie bevat die een toepassing kan gebruiken om de nieuwe grootte en positie van de CWnd rechthoek te berekenen (inclusief clientgebied, randen, bijschriften, schuifbalken enzovoort).
Opmerkingen
Door dit bericht te verwerken, kan een toepassing de inhoud van het clientgebied van het venster bepalen wanneer de grootte of positie van het venster wordt gewijzigd.
Ongeacht de waarde van bCalcValidRects, bevat de eerste rechthoek in de matrix die is opgegeven door het rgrc structuurlid van de NCCALCSIZE_PARAMS structuur de coördinaten van het venster. Voor een onderliggend venster zijn de coördinaten relatief ten opzichte van het clientgebied van het bovenliggende venster. Voor vensters op het hoogste niveau zijn de coördinaten schermcoördinaten. Een toepassing moet de rgrc[0] rechthoek aanpassen om de grootte en positie van het clientgebied weer te geven.
De rgrc[1] rechthoeken en rgrc[2] rechthoeken zijn alleen geldig als bCalcValidRects dat het is TRUE. In dit geval bevat de rgrc[1] rechthoek de coördinaten van het venster voordat het is verplaatst of gewijzigd. De rgrc[2] rechthoek bevat de coördinaten van het clientgebied van het venster voordat het venster werd verplaatst. Alle coördinaten zijn relatief ten opzichte van het bovenliggende venster of scherm.
De standaard implementatie berekent de grootte van het clientgebied op basis van de vensterkenmerken (aanwezigheid van schuifbalken, menu enzovoort) en plaatst het resultaat in lpncsp.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcCreate
Het framework roept deze lidfunctie aan vóór het bericht wanneer het object voor het WM_CREATECWnd eerst wordt gemaakt.
afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
Parameterwaarden
lpCreateStruct
Verwijst naar de CREATESTRUCT gegevensstructuur voor CWnd.
Retourwaarde
Niet-nul als het niet-clientgebied wordt gemaakt. Het is 0 als er een fout optreedt; de Create functie retourneert failure in dit geval.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcDestroy
Wordt aangeroepen door het framework wanneer het niet-clientgebied wordt vernietigd en is de laatste lidfunctie die wordt aangeroepen wanneer het Windows-venster wordt vernietigd.
afx_msg void OnNcDestroy();
Opmerkingen
De standaard implementatie voert een opschoning uit en roept vervolgens de functie PostNcDestroyvan het virtuele lid aan.
Overschrijven PostNcDestroy als u uw eigen opschoning wilt uitvoeren, zoals een delete this bewerking. Als u overschrijft OnNcDestroy, moet u in uw basisklasse bellen OnNcDestroy om ervoor te zorgen dat intern toegewezen geheugen voor het venster wordt vrijgemaakt.
CWnd::OnNcHitTest
In het framework wordt deze lidfunctie aangeroepen voor het CWnd object dat de cursor bevat (of het CWnd object dat de SetCapture lidfunctie heeft gebruikt om de muisinvoer vast te leggen) telkens wanneer de muis wordt verplaatst.
afx_msg LRESULT OnNcHitTest(CPoint point);
Parameterwaarden
point
Bevat de x- en y-coördinaten van de cursor. Deze coördinaten zijn altijd schermcoördinaten.
Retourwaarde
Een van de met de muis hit-test opgesomde waarden. Zie WM_NCHITTEST voor de lijst met waarden.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcLButtonDblClk
Het framework roept deze lidfunctie aan wanneer de gebruiker dubbelklikt op de linkermuisknop terwijl de cursor zich in een niet-clientgebied van CWndbevindt.
afx_msg void OnNcLButtonDblClk(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt. Zie WM_NCHITTEST voor de lijst met waarden.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Indien van toepassing, wordt het WM_SYSCOMMAND bericht verzonden.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcLButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op de linkermuisknop drukt terwijl de cursor zich in een niet-clientgebied van het CWnd object bevindt.
afx_msg void OnNcLButtonDown(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt. Zie WM_NCHITTEST voor de lijst met waarden.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Indien van toepassing, wordt het WM_SYSCOMMAND verzonden.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcLButtonUp
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker de linkermuisknop loslaat terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcLButtonUp(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt. Zie WM_NCHITTEST voor de lijst met waarden.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Indien van toepassing, WM_SYSCOMMAND wordt verzonden.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMButtonDblClk
Het framework roept deze lidfunctie aan wanneer de gebruiker dubbelklikt op de middelste muisknop terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcMButtonDblClk(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op de middelste muisknop drukt terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcMButtonDown(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMButtonUp
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker de middelste muisknop loslaat terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcMButtonUp(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMouseHover
Het framework roept deze lidfunctie aan wanneer de cursor de muisaanwijzer boven het niet-clientgebied van het venster beweegt gedurende de periode die is opgegeven in een voorafgaande aanroep TrackMouseEvent.
afx_msg void OnNcMouseHover(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
[in] De hit-testwaarde die door de CWnd::DefWindowProc functie wordt geretourneerd als gevolg van het verwerken van het WM_NCHITTEST bericht.
point
[in] Een CPoint object dat de x - en y-coördinaten van de cursor ten opzichte van de linkerbovenhoek van het scherm aangeeft.
Opmerkingen
Deze methode ontvangt de WM_NCMOUSEHOVER melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMouseLeave
Het framework roept deze lidfunctie aan wanneer de cursor het niet-clientgebied van het venster verlaat dat is opgegeven in een eerdere aanroep naar TrackMouseEvent.
afx_msg void OnNcMouseLeave();
Opmerkingen
Deze methode ontvangt de WM_NCMOUSELEAVE melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcMouseMove
Het framework roept deze lidfunctie aan wanneer de cursor binnen een niet-clientgebied wordt verplaatst.
afx_msg void OnNcMouseMove(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Indien van toepassing, wordt het WM_SYSCOMMAND bericht verzonden.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcPaint
Het framework roept deze lidfunctie aan wanneer het niet-clientgebied moet worden geschilderd.
afx_msg void OnNcPaint();
Opmerkingen
De standaard implementatie schildert het raamkader.
Een toepassing kan deze aanroep overschrijven en een eigen aangepast vensterkader schilderen. Het knipgebied is altijd rechthoekig, zelfs als de vorm van het frame wordt gewijzigd.
CWnd::OnNcRButtonDblClk
Het framework roept deze lidfunctie aan wanneer de gebruiker dubbelklikt op de rechtermuisknop terwijl de cursor zich in een niet-clientgebied van CWndbevindt.
afx_msg void OnNcRButtonDblClk(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcRButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op de rechtermuisknop drukt terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcRButtonDown(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcRButtonUp
Het framework roept deze lidfunctie aan wanneer de gebruiker de rechtermuisknop loslaat terwijl de cursor zich in een niet-clientgebied bevindt.
afx_msg void OnNcRButtonUp(
UINT nHitTest,
CPoint point);
Parameterwaarden
nHitTest
Hiermee geeft u de hit-test code. Een hittest is een test die de locatie van de cursor bepaalt.
point
Hiermee geeft u een CPoint object op dat de x- en y-schermcoördinaten van de cursorpositie bevat. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het scherm.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcRenderingChanged
Het framework roept dit lid aan wanneer het renderingbeleid voor het niet-clientgebied is gewijzigd.
afx_msg void OnNcRenderingChanged(BOOL bIsRendering);
Parameterwaarden
bIsRendering
[in] TRUE als DWM-rendering (Desktop Window Manager) is ingeschakeld voor het niet-clientgebied van het venster; FALSE als rendering is uitgeschakeld.
Opmerkingen
Deze methode ontvangt de WM_DWMNCRENDERINGCHANGED melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcXButtonDblClk
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker dubbelklikt XBUTTON1 of XBUTTON2 terwijl de cursor zich in het niet-clientgebied van een venster bevindt.
void OnNcXButtonDblClk(
short nHitTest,
UINT nButton,
CPoint point);
Parameterwaarden
nHitTest
[in] De hit-testwaarde die door de CWnd::DefWindowProc functie wordt geretourneerd als gevolg van het verwerken van het WM_NCHITTEST bericht.
nButton
[in] Een waarde van XBUTTON1 of de eerste Microsoft Intellimouse X-knop wordt dubbelklikken of XBUTTON2 als op de tweede X-knop wordt gedubbelklikt.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt de WM_XBUTTONDBLCLK melding, die wordt beschreven in de Windows SDK. Dit bericht wordt geplaatst in het venster met de cursor. Als een venster de muis heeft vastgelegd, wordt dit bericht niet geplaatst.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcXButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op of XBUTTON2 van de muis drukt XBUTTON1 terwijl de cursor zich in het niet-clientgebied van een venster bevindt.
afx_msg void OnNcXButtonDown(
short nHitTest,
UINT nButton,
CPoint point);
Parameterwaarden
nHitTest
[in] De hit-testwaarde die door de CWnd::DefWindowProc functie wordt geretourneerd als gevolg van het verwerken van het WM_NCHITTEST bericht.
nButton
[in] Een waarde van XBUTTON1 of de eerste muis X-knop wordt ingedrukt of XBUTTON2 als de tweede X-knop wordt ingedrukt.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor ten opzichte van de linkerbovenhoek van het scherm aangeeft.
Opmerkingen
Deze methode ontvangt de WM_NCXBUTTONDOWN melding, die wordt beschreven in de Windows SDK. Dit bericht wordt geplaatst in het venster met de cursor. Als een venster de muis heeft vastgelegd, wordt dit bericht niet geplaatst.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNcXButtonUp
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker of XBUTTON2 de muis loslaat XBUTTON1 terwijl de cursor zich in het niet-clientgebied van een venster bevindt.
afx_msg void OnNcXButtonUp(
short nHitTest,
UINT nButton,
CPoint point);
Parameterwaarden
nHitTest
[in] De hit-testwaarde die door de CWnd::DefWindowProc functie wordt geretourneerd als gevolg van het verwerken van het WM_NCHITTEST bericht.
nButton
[in] Een waarde van XBUTTON1 of de eerste muis X-knop wordt vrijgegeven of XBUTTON2 als de tweede X-knop wordt vrijgegeven.
point
[in] Een CPoint object dat de x - en y-coördinaten van de cursor ten opzichte van de linkerbovenhoek van het scherm aangeeft.
Opmerkingen
Deze methode ontvangt de WM_NCXBUTTONUP melding, die wordt beschreven in de Windows SDK. Dit bericht wordt geplaatst in het venster met de cursor. Als een venster de muis heeft vastgelegd, wordt dit bericht niet geplaatst.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNextMenu
Het framework roept deze lidfunctie aan wanneer de pijl-rechts of pijl-links wordt gebruikt om te schakelen tussen de menubalk en het systeemmenu.
afx_msg void OnNextMenu(
UINT nKey,
LPMDINEXTMENU lpMdiNextMenu);
Parameterwaarden
nKey
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt. Zie de subkop Berichtparameters in Info over muisinvoer voor een lijst met vlaggen.
lpMdiNextMenu
[in] Wijs een MDINEXTMENU structuur aan met informatie over het menu dat moet worden geactiveerd.
Opmerkingen
Deze methode ontvangt de WM_UNINITMENUPOPUP melding, die wordt beschreven in de Windows SDK. Als reactie op dit bericht kan uw toepassing het hmenuNext lid van de MDINEXTMENU structuur instellen om het menu op te geven waarop moet worden overgeschakeld en het hwndNext lid om het venster op te geven voor het ontvangen van meldingsberichten in het menu.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnNotify
Het framework roept deze lidfunctie aan om het bovenliggende venster te informeren over een besturingselement dat een gebeurtenis heeft plaatsgevonden in het besturingselement of dat voor het besturingselement bepaalde informatie is vereist.
virtual BOOL OnNotify(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameterwaarden
wParam
Identificeert het besturingselement waarmee het bericht wordt verzonden als het bericht afkomstig is van een besturingselement. Anders is dit wParam 0.
lParam
Wijs een meldingsberichtstructuur (NMHDR) aan die de meldingscode en aanvullende informatie bevat. Voor sommige meldingsberichten verwijst deze parameter naar een grotere structuur met de NMHDR structuur als eerste lid.
pResult
Wijs een LRESULT variabele aan waarin de resultaatcode moet worden opgeslagen als het bericht wordt verwerkt.
Retourwaarde
Een toepassing retourneert niet-nul als dit bericht wordt verwerkt; anders 0.
Opmerkingen
OnNotify verwerkt de berichttoewijzing voor controlemelding.
Overschrijf deze lidfunctie in uw afgeleide klasse om het WM_NOTIFY bericht te verwerken. Een onderdrukking verwerkt de berichttoewijzing alleen als de basisklasse OnNotify wordt aangeroepen.
Zie Technische opmerking 61 (TN061) ON_NOTIFY en WM_NOTIFY berichten voor meer informatie over het WM_NOTIFY bericht. Mogelijk bent u ook geïnteresseerd in de verwante onderwerpen die worden beschreven in Besturingsonderwerpen en TN062, Berichtspiegeling voor Windows-besturingselementen.
CWnd::OnNotifyFormat
Het framework roept deze lidfunctie aan om te bepalen of het huidige venster ANSI- of Unicode-structuren in het WM_NOTIFY meldingsbericht accepteert.
afx_msg UINT OnNotifyFormat(
CWnd* pWnd,
UINT nCommand);
Parameterwaarden
pWnd
[in] Een aanwijzer naar een CWnd object dat het venster vertegenwoordigt dat het WM_NOTIFY bericht verzendt. Deze parameter is de aanwijzer naar een besturingselement als de nCommand parameter is NF_QUERY, of de aanwijzer naar het bovenliggende venster van een besturingselement als nCommand dat het is NF_REQUERY.
nCommand
[in] Een opdrachtwaarde die het WM_NOTIFY bericht specialiseert. Mogelijke waarden zijn:
-
NF_QUERY- Het bericht is een query om te bepalen of ANSI- of Unicode-structuren moeten worden gebruikt inWM_NOTIFYberichten. Dit bericht wordt verzonden van een besturingselement naar het bovenliggende venster tijdens het maken van een besturingselement en als reactie op deNF_REQUERYvorm van dit bericht. -
NF_REQUERY- Het bericht is een aanvraag voor een besturingselement om het formulier van dit bericht naar hetNF_QUERYbovenliggende venster te verzenden. Deze aanvraag wordt verzonden vanuit het bovenliggende venster en vraagt het besturingselement om het bovenliggende item opnieuw te vragen over het type structuur dat moet worden gebruikt inWM_NOTIFYberichten. Als denCommandparameter isNF_REQUERY, is de retourwaarde het resultaat van de requery-bewerking.
Retourwaarde
| Retourwaarde | Meaning |
|---|---|
NFR_ANSI |
ANSI-structuren moeten worden gebruikt in WM_NOTIFY berichten die door het besturingselement worden verzonden. |
NFR_UNICODE |
Unicode-structuren moeten worden gebruikt in WM_NOTIFY berichten die door het besturingselement worden verzonden. |
| 0 | Er is een fout opgetreden. |
Opmerkingen
Deze methode ontvangt de WM_NOTIFYFORMAT melding, die wordt beschreven in de Windows SDK.
WM_NOTIFY berichten worden verzonden van een gemeenschappelijk besturingselement naar het bovenliggende venster en van het bovenliggende venster naar het algemene besturingselement.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnPaint
Het framework roept deze lidfunctie aan wanneer Windows of een toepassing een aanvraag indient om een deel van het venster van een toepassing opnieuw te plaatsen.
afx_msg void OnPaint();
Opmerkingen
Het WM_PAINT bericht wordt verzonden wanneer de UpdateWindow functie of RedrawWindow lid wordt aangeroepen.
Een venster kan interne verfberichten ontvangen als gevolg van het aanroepen van de RedrawWindow lidfunctie met de RDW_INTERNALPAINT vlagset. In dit geval heeft het venster mogelijk geen updateregio. Een toepassing moet de GetUpdateRect lidfunctie aanroepen om te bepalen of het venster een updateregio heeft. Als GetUpdateRect 0 wordt geretourneerd, moet de toepassing de BeginPaint functies en EndPaint leden niet aanroepen.
Het is de verantwoordelijkheid van een toepassing om te controleren op eventuele noodzakelijke interne herindelen of bijwerken door de interne gegevensstructuren voor elk WM_PAINT bericht te bekijken, omdat een WM_PAINT bericht mogelijk is veroorzaakt door zowel een ongeldig gebied als een aanroep naar de RedrawWindow lidfunctie met de RDW_INTERNALPAINT vlagset.
Een intern WM_PAINT bericht wordt slechts eenmaal verzonden door Windows. Nadat een intern WM_PAINT bericht door de UpdateWindow lidfunctie naar een venster is verzonden, worden er geen verdere WM_PAINT berichten verzonden of gepost totdat het venster ongeldig is of totdat de RedrawWindow lidfunctie opnieuw wordt aangeroepen met de RDW_INTERNALPAINT vlagset.
Zie voor meer informatie over het weergeven van een afbeelding in toepassingen voor documenten CView::OnDraw/weergaven.
Zie de volgende onderwerpen in de Windows SDK voor meer informatie over het gebruik WM_Paint:
CWnd::OnPaintClipboard
De lidfunctie van OnPaintClipboard een Klembord-eigenaar wordt aangeroepen door een Klembord-viewer wanneer de eigenaar van het Klembord gegevens op het Klembord heeft geplaatst in de CF_OWNERDISPLAY indeling en het clientgebied van de Klembordviewer opnieuw moet worden geschilderd.
afx_msg void OnPaintClipboard(
CWnd* pClipAppWnd,
HGLOBAL hPaintStruct);
Parameterwaarden
pClipAppWnd
Hiermee geeft u een aanwijzer naar het Klembord-toepassingsvenster. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
hPaintStruct
Identificeert een PAINTSTRUCT gegevensstructuur die definieert welk deel van het clientgebied moet worden verf.
Opmerkingen
Om te bepalen of het gehele clientgebied of slechts een deel van het opnieuw moet worden geschilderd, moet de eigenaar van het Klembord de afmetingen van het tekengebied vergelijken dat is opgegeven in het rcpaint lid van de PAINTSTRUCT structuur met de afmetingen die zijn opgegeven in de meest recente OnSizeClipboard functieaanroep van het lid.
OnPaintClipboard moet de GlobalLock Windows-functie gebruiken om het geheugen dat de PAINTSTRUCT gegevensstructuur bevat te vergrendelen en dat geheugen te ontgrendelen met de GlobalUnlock Windows-functie voordat deze wordt afgesloten.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnPaletteChanged
Het framework roept deze lidfunctie aan voor alle vensters op het hoogste niveau nadat het venster met invoerfocus het logische palet heeft gerealiseerd, waardoor het systeempalet wordt gewijzigd.
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
Parameterwaarden
pFocusWnd
Hiermee geeft u een aanwijzer naar het venster waardoor het systeempalet is gewijzigd. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen.
Opmerkingen
Met deze aanroep kan een venster worden geopend zonder de invoerfocus die gebruikmaakt van een kleurenpalet om de logische paletten te realiseren en het clientgebied bij te werken.
De OnPaletteChanged lidfunctie wordt aangeroepen voor alle vensters op het hoogste niveau en overlappende vensters, inclusief het venster dat het systeempalet heeft gewijzigd en ervoor zorgde dat het WM_PALETTECHANGED bericht werd verzonden. Als een onderliggend venster een kleurenpalet gebruikt, moet dit bericht worden doorgegeven aan het venster.
Om een oneindige lus te voorkomen, moet het venster het palet niet realiseren, tenzij het bepaalt dat pFocusWnd deze geen aanwijzer naar zichzelf bevat.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnPaletteIsChanging
Het framework roept deze lidfunctie aan om toepassingen te informeren dat een toepassing het logische palet gaat realiseren.
afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);
Parameterwaarden
pRealizeWnd
Hiermee geeft u het venster op dat het logische palet gaat realiseren.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnParentNotify
De lidfunctie van OnParentNotify een bovenliggend item wordt aangeroepen door het framework wanneer het onderliggende venster wordt gemaakt of vernietigd, of wanneer de gebruiker op een muisknop klikt terwijl de cursor over het onderliggende venster loopt.
afx_msg void OnParentNotify(
UINT message,
LPARAM lParam);
Parameterwaarden
message
Hiermee geeft u de gebeurtenis op waarvoor het bovenliggende item wordt gewaarschuwd en de id van het onderliggende venster. De gebeurtenis is het woord in lage volgorde van message. Als de gebeurtenis is WM_CREATE of WM_DESTROY, is het woord in hoge volgorde message de id van het onderliggende venster; anders is het woord in hoge volgorde niet gedefinieerd. De gebeurtenis (woord van lage volgorde) messagekan een van deze waarden zijn:
WM_CREATEHet onderliggende venster wordt gemaakt.WM_DESTROYHet kindervenster wordt vernietigd.WM_LBUTTONDOWNDe gebruiker heeft de muisaanwijzer op het onderliggende venster geplaatst en op de linkermuisknop geklikt.WM_MBUTTONDOWNDe gebruiker heeft de muisaanwijzer boven het onderliggende venster geplaatst en op de middelste muisknop geklikt.WM_RBUTTONDOWNDe gebruiker heeft de muisaanwijzer boven het onderliggende venster geplaatst en op de rechtermuisknop geklikt.
lParam
Als de gebeurtenis (woord in lage volgorde) message is WM_CREATE of WM_DESTROY, lParam geeft u de venstergreep van het onderliggende venster op; anders lParam bevat u de x- en y-coördinaten van de cursor. De x-coördinaat bevindt zich in het woord met lage volgorde en de y-coördinaat staat in het woord hoog.
Opmerkingen
Wanneer het onderliggende venster wordt gemaakt, wordt het systeem aangeroepen OnParentNotify vlak voordat de Create lidfunctie waarmee het venster wordt gemaakt, wordt geretourneerd. Wanneer het onderliggende venster wordt vernietigd, roept OnParentNotify het systeem aan voordat een verwerking plaatsvindt om het venster te vernietigen.
OnParentNotify wordt opgeroepen voor alle bovenliggende vensters van het kindvenster, inclusief het venster op het hoogste niveau.
Alle onderliggende vensters behalve de vensters met de WS_EX_NOPARENTNOTIFY stijl verzenden dit bericht naar hun bovenliggende vensters. Onderliggende vensters in een dialoogvenster hebben standaard de WS_EX_NOPARENTNOTIFY stijl, tenzij het onderliggende venster zonder deze stijl is gemaakt door de lidfunctie aan te CreateEx roepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnPowerBroadcast
Het framework roept deze lidfunctie aan wanneer een energiebeheergebeurtenis plaatsvindt.
afx_msg UINT OnPowerBroadcast(
UINT nPowerEvent,
UINT nEventData);
Parameterwaarden
nPowerEvent
[in] De energiebeheergebeurtenis.
nEventData
[in] Gebeurtenisspecifieke gegevens.
Retourwaarde
Als de gebeurtenis een aanvraag is, keert u terug TRUE om de aanvraag te verlenen of BROADCAST_QUERY_DENY om de aanvraag te weigeren.
Opmerkingen
Deze methode ontvangt het WM_POWERBROADCAST bericht, dat wordt beschreven in de Windows SDK.
De nPowerEvent parameter specificeert gebeurtenissen zoals accustroom is laag, de energiestatus is gewijzigd, de machtiging om de bewerking te onderbreken wordt aangevraagd of geweigerd, een bewerking wordt automatisch hervat na een gebeurtenis, het systeem onderbreekt de bewerking of een bewerking wordt hervat na de schorsing. De nEventData parameter wordt doorgaans niet gebruikt. Zie de wParam en lParam parameters van het WM_POWERBROADCAST bericht voor meer informatie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnQueryDragIcon
Het framework roept deze lidfunctie aan door een geminimaliseerd (iconisch) venster dat geen pictogram heeft gedefinieerd voor de klasse.
afx_msg HCURSOR OnQueryDragIcon();
Retourwaarde
Een dubbele woordwaarde die een cursor of pictogramgreep in het woord met lage volgorde bevat. De cursor of het pictogram moet compatibel zijn met de resolutie van het beeldschermstuurprogramma. Als de toepassing wordt geretourneerd NULL, geeft het systeem de standaardcursor weer. De standaard retourwaarde is NULL.
Opmerkingen
Het systeem roept deze aan om de cursor te verkrijgen die moet worden weergegeven terwijl de gebruiker het geminimaliseerde venster sleept. Als een toepassing de greep van een pictogram of cursor retourneert, converteert het systeem deze naar zwart-wit. Als een toepassing een ingang retourneert, moet de ingang een monochrome cursor of pictogram identificeren die compatibel is met de resolutie van het beeldschermstuurprogramma. De toepassing kan de CWinApp::LoadCursor functies of CWinApp::LoadIcon leden aanroepen om een cursor of pictogram van de resources in het uitvoerbare bestand te laden en deze ingang te verkrijgen.
CWnd::OnQueryEndSession
Het framework roept deze lidfunctie aan wanneer de gebruiker ervoor kiest om de Windows-sessie te beëindigen of wanneer een toepassing de ExitWindows Windows-functie aanroept.
afx_msg BOOL OnQueryEndSession();
Retourwaarde
Niet-nul als een toepassing gemakkelijk kan worden afgesloten; anders 0.
Opmerkingen
Als een toepassing 0 retourneert, wordt de Windows-sessie niet beëindigd. Windows stopt met aanroepen OnQueryEndSession zodra één toepassing 0 retourneert en het WM_ENDSESSION bericht verzendt met een parameterwaarde van FALSE elke toepassing die al niet-nul heeft geretourneerd.
CWnd::OnQueryNewPalette
Het framework roept deze lidfunctie aan wanneer het object op het CWnd punt staat de invoerfocus te ontvangen, waardoor het CWnd logische palet kan worden gerealiseerd wanneer het de focus ontvangt.
afx_msg BOOL OnQueryNewPalette();
Retourwaarde
Nonzero als het CWnd logische palet realiseert; anders 0.
CWnd::OnQueryOpen
In het framework wordt deze lidfunctie aangeroepen wanneer het CWnd object wordt geminimaliseerd en de gebruiker vraagt dat het CWnd object wordt hersteld naar de vooraf geminimiseerde grootte en positie.
afx_msg BOOL OnQueryOpen();
Retourwaarde
Niet-nul als het pictogram kan worden geopend of 0 om te voorkomen dat het pictogram wordt geopend.
Opmerkingen
Als u zich bevindt OnQueryOpen, CWnd moet u geen actie uitvoeren die een activerings- of focuswijziging veroorzaakt (bijvoorbeeld het maken van een dialoogvenster).
CWnd::OnQueryUIState
Wordt aangeroepen om de gebruikersinterfacestatus (UI) voor een venster op te halen.
afx_msg UINT OnQueryUIState();
Retourwaarde
De retourwaarde is NULL als de focusindicatoren en de toetsenbordversnellers zichtbaar zijn. Anders kan de retourwaarde een of meer van de volgende waarden zijn:
UISF_HIDEFOCUSFocusindicatoren zijn verborgen.UISF_HIDEACCELToetsenbordversnellers zijn verborgen.UISF_ACTIVEWindows XP: Een besturingselement moet worden getekend in de stijl die wordt gebruikt voor actieve besturingselementen.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van het WM_QUERYUISTATE bericht geëmuleren, zoals beschreven in de Windows SDK.
CWnd::OnRawInput
Het framework roept deze lidfunctie aan wanneer het huidige venster onbewerkte invoer krijgt.
afx_msg void OnRawInput(
UINT nInputCode,
HRAWINPUT hRawInput);
Parameterwaarden
nInputCode
[in] Invoercode die aangeeft of de invoer heeft plaatsgevonden terwijl de toepassing zich op de voorgrond bevond of niet. In beide gevallen moet de toepassing worden aangeroepen CWnd::DefWindowProc , zodat het systeem opschonen kan uitvoeren. Deze parameter kan een van de volgende waarden zijn:
-
RIM_INPUT- Er is invoer opgetreden terwijl de toepassing zich op de voorgrond bevond. -
RIM_INPUTSINK- Er is invoer opgetreden terwijl de toepassing zich niet op de voorgrond bevond.
hRawInput
[in] Greep naar een RAWINPUT structuur die de onbewerkte invoer van het apparaat bevat.
Opmerkingen
Deze methode ontvangt de WM_INPUT melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnRButtonDblClk
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker dubbelklikt op de rechtermuisknop.
afx_msg void OnRButtonDblClk(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop is uitgeschakeld.MK_MBUTTONInstellen of de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTInstellen als shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaten van de cursor op. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Alleen vensters met de stijl CS_DBLCLKS WNDCLASS kunnen oproepen ontvangen OnRButtonDblClk . Dit is de standaardinstelling voor windows in de Microsoft Foundation Class Library. Windows roept OnRButtonDblClk aan wanneer de gebruiker op de tijdslimiet dubbelklikt en vervolgens opnieuw op de rechtermuisknop drukt. Als u dubbelklikt op de rechtermuisknop, worden vier gebeurtenissen gegenereerd: WM_RBUTTONDOWN en WM_RBUTTONUP berichten, het OnRButtonDblClk gesprek en een ander WM_RBUTTONUP bericht wanneer de knop wordt vrijgegeven.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnRButtonDown
Het framework roept deze lidfunctie aan wanneer de gebruiker op de rechtermuisknop drukt.
afx_msg void OnRButtonDown(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop is uitgeschakeld.MK_MBUTTONInstellen of de middelste muisknop omlaag is.MK_RBUTTONInstellen als de rechtermuisknop niet beschikbaar is.MK_SHIFTInstellen als shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaten van de cursor op. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnRButtonUp
Het framework roept deze lidfunctie aan wanneer de gebruiker de rechtermuisknop loslaat.
afx_msg void OnRButtonUp(
UINT nFlags,
CPoint point);
Parameterwaarden
nFlags
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan elke combinatie van de volgende waarden zijn:
MK_CONTROLInstellen als Ctrl-toets niet beschikbaar is.MK_LBUTTONInstellen als de linkermuisknop is uitgeschakeld.MK_MBUTTONInstellen of de middelste muisknop omlaag is.MK_SHIFTInstellen als shift-toets niet beschikbaar is.
point
Hiermee geeft u de x- en y-coördinaten van de cursor op. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnRegisteredMouseWheel
Het framework roept deze lidfunctie aan als een gebruiker het muiswiel roteert en de volgende notch van het wiel tegenkomt.
afx_msg LRESULT OnRegisteredMouseWheel(
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
wParam
Horizontale positie van de aanwijzer.
lParam
Verticale positie van de aanwijzer.
Retourwaarde
Onbelangrijke op dit moment. Altijd nul.
Opmerkingen
Tenzij dit wordt overschreven, OnRegisteredMouseWheel stuurt u het bericht naar het juiste venster (het bovenliggende venster met focus) en roept u de WM_MOUSEWHEEL handler voor dat venster aan.
Overschrijf deze lidfunctie om uw eigen berichtroutering te bieden of om het schuifgedrag van het muiswiel te wijzigen.
Opmerking
OnRegisteredMouseWheel verwerkt berichten voor Windows 95/98 en Windows NT 3.51. Gebruik voor het verwerken OnMouseWheelvan berichten in Windows NT 4.0.
CWnd::OnRenderAllFormats
De lidfunctie van de eigenaar van OnRenderAllFormats het Klembord wordt aangeroepen door het framework wanneer de eigenaartoepassing wordt vernietigd.
afx_msg void OnRenderAllFormats();
Opmerkingen
De eigenaar van het Klembord moet de gegevens weergeven in alle indelingen waarmee deze een gegevensgreep kan genereren en doorgeven voor elke indeling aan het Klembord door de SetClipboardData Windows-functie aan te roepen. Dit zorgt ervoor dat het Klembord geldige gegevens bevat, zelfs als de toepassing die de gegevens heeft weergegeven, wordt vernietigd. De toepassing moet de OpenClipboard lidfunctie aanroepen voordat de SetClipboardData Windows-functie wordt aangeroepen en de CloseClipboard Windows-functie daarna aanroept.
CWnd::OnRenderFormat
De lidfunctie van de eigenaar van OnRenderFormat het Klembord wordt aangeroepen door het framework wanneer een bepaalde indeling met vertraagde rendering moet worden weergegeven.
afx_msg void OnRenderFormat(UINT nFormat);
Parameterwaarden
nFormat
Hiermee geeft u de indeling Klembord op.
Opmerkingen
De ontvanger moet de gegevens in die indeling weergeven en doorgeven aan het Klembord door de SetClipboardData Windows-functie aan te roepen.
Roep de OpenClipboard lidfunctie of de CloseClipboard Windows-functie niet aan vanuit binnen OnRenderFormat.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSessionChange
Dit framework roept deze lidfunctie aan om een toepassing van een wijziging in sessiestatus op de hoogte te stellen.
afx_msg void OnSessionChange(
UINT nSessionState,
UINT nId);
Parameterwaarden
nSessionState
[in] Een statuscode beschrijft de wijziging van de sessiestatus.
nId
[in] Een sessie-id.
Opmerkingen
Deze methode ontvangt de WM_WTSSESSION_CHANGE melding, die wordt beschreven in de Windows SDK.
De nSessionState parameter geeft aan dat een sessie is verbonden of niet verbonden is met de console of een externe terminal, een gebruiker die is aangemeld of uitgeschakeld, een sessie is vergrendeld of ontgrendeld, of dat een sessie is gewijzigd in de status extern beheerd. Zie de wParam parameter van het WM_WTSSESSION_CHANGE bericht voor meer informatie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSetCursor
Het framework roept deze lidfunctie aan als de invoer van de muis niet wordt vastgelegd en de muis de cursorverplaatsing binnen het CWnd object veroorzaakt.
afx_msg BOOL OnSetCursor(
CWnd* pWnd,
UINT nHitTest,
UINT message);
Parameterwaarden
pWnd
Hiermee geeft u een aanwijzer op naar het venster dat de cursor bevat. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
nHitTest
Hiermee geeft u de hit-test net code. De treffertest bepaalt de locatie van de cursor.
message
Hiermee geeft u het nummer van het muisbericht op.
Retourwaarde
Nonzero om verdere verwerking te stoppen of 0 om door te gaan.
Opmerkingen
De standaard implementatie roept de bovenliggende vensters OnSetCursor aan voordat het wordt verwerkt. Als het bovenliggende venster wordt geretourneerd TRUE, wordt verdere verwerking gestopt. Als u het bovenliggende venster aanroept, heeft het bovenliggende venster controle over de instelling van de cursor in een onderliggend venster.
Met de standaard implementatie wordt de cursor ingesteld op een pijl als deze zich niet in het clientgebied bevindt of op de cursor van de geregistreerde klasse als dit het is.
Als nHitTest dat het HTERROR bericht is en message een muisknop omlaag is, wordt de MessageBeep lidfunctie aangeroepen.
De berichtparameter is 0 wanneer CWnd de menumodus wordt geactiveerd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSetFocus
Het framework roept deze lidfunctie aan na het verkrijgen van de invoerfocus.
afx_msg void OnSetFocus(CWnd* pOldWnd);
Parameterwaarden
pOldWnd
Bevat het CWnd object dat de invoerfocus verliest (dit kan zijn NULL). De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Als u een caret wilt weergeven, CWnd moet u de juiste caretfuncties op dit moment aanroepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSettingChange
Het framework roept OnSettingChange alle vensters op het hoogste niveau aan wanneer de functie Win32 SystemParametersInfo een systeembrede instelling wijzigt.
afx_msg void OnSettingChange(
UINT uFlags,
LPCTSTR lpszSection);
Parameterwaarden
uFlags
Wanneer het systeem het bericht verzendt als gevolg van een SystemParametersInfo aanroep, is deze parameter een vlag die aangeeft welke systeemparameter is gewijzigd. Zie de Windows SDK voor een lijst met waarden SystemParametersInfo . Wanneer een toepassing het bericht verzendt, moet deze parameter 0 zijn.
lpszSection
Verwijst naar een tekenreeks die de naam aangeeft van de sectie die is gewijzigd. (De tekenreeks bevat niet de vierkante haken die de sectienaam insluiten.)
Opmerkingen
Een toepassing moet het bericht verzenden naar alle vensters op het hoogste niveau wanneer het systeemparameters wijzigt, en Windows verzendt het bericht als de gebruiker instellingen wijzigt via het Configuratiescherm.
Het ON_WM_SETTINGCHANGE bericht is vergelijkbaar met het ON_WM_WININICHANGE bericht, met het volgende verschil:
Gebruik
ON_WM_SETTINGCHANGEdeze optie bij het uitvoeren van Windows NT 4.0 of hoger of onder Windows 95/98.Gebruik
ON_WININICHANGEdeze functie bij het uitvoeren van Windows NT 3.51 of ouder. Dit bericht is nu verouderd.
U moet slechts één van deze macro's in uw berichtoverzicht hebben. Als u een programma wilt schrijven dat werkt voor zowel Windows 95/98 als Windows NT 4.0, schrijft u een handler voor ON_WM_SETTINGCHANGE. Onder Windows NT 3.51 wordt uw handler aangeroepen OnSettingChange en uFlags is deze altijd nul.
CWnd::OnShowWindow
Het framework roept deze lidfunctie aan wanneer het CWnd object op het punt staat verborgen of weergegeven te worden.
afx_msg void OnShowWindow(
BOOL bShow,
UINT nStatus);
Parameterwaarden
bShow
Hiermee geeft u op of een venster wordt weergegeven. Het is TRUE als het venster wordt weergegeven; het FALSE is als het venster wordt verborgen.
nStatus
Hiermee geeft u de status op van het venster dat wordt weergegeven. Dit is 0 als het bericht wordt verzonden vanwege een aanroep van een ShowWindow lidfunctie; anders nStatus is dit een van de volgende:
SW_PARENTCLOSINGBovenliggend venster wordt gesloten (iconisch gemaakt) of er wordt een pop-upvenster verborgen.SW_PARENTOPENINGBovenliggend venster wordt geopend (weergegeven) of er wordt een pop-upvenster weergegeven.
Opmerkingen
Een venster wordt verborgen of weergegeven wanneer de ShowWindow lidfunctie wordt aangeroepen, wanneer een overlappend venster wordt gemaximaliseerd of hersteld, of wanneer een overlappend of pop-upvenster wordt gesloten (iconisch gemaakt) of wordt geopend (weergegeven op het scherm). Wanneer een overlappend venster wordt gesloten, zijn alle pop-upvensters die aan dat venster zijn gekoppeld, verborgen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSize
Het framework roept deze lidfunctie aan nadat de grootte van het venster is gewijzigd.
afx_msg void OnSize(
UINT nType,
int cx,
int cy);
Parameterwaarden
nType
Hiermee geeft u het type formaat van de aangevraagde grootte. Deze parameter kan een van de volgende waarden zijn:
SIZE_MAXIMIZEDHet venster is gemaximaliseerd.SIZE_MINIMIZEDHet venster is geminimaliseerd.SIZE_RESTOREDHet formaat van het venster is gewijzigd, maar is nietSIZE_MINIMIZEDvanSIZE_MAXIMIZEDtoepassing.SIZE_MAXHIDEBericht wordt verzonden naar alle pop-upvensters wanneer een ander venster wordt gemaximaliseerd.SIZE_MAXSHOWBericht wordt verzonden naar alle pop-upvensters wanneer een ander venster is hersteld naar de voormalige grootte.
cx
Hiermee geeft u de nieuwe breedte van het clientgebied.
cy
Hiermee geeft u de nieuwe hoogte van het clientgebied.
Opmerkingen
Als de SetScrollPos functie of MoveWindow lid wordt aangeroepen voor een onderliggend venster van OnSize, moet de bRedraw parameter van SetScrollPos of MoveWindow niet-nul zijn om ervoor te zorgen dat de CWnd functie opnieuw wordt geschilderd.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
Example
// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// Resize edit to fill the whole view.
// OnSize can be called before OnInitialUpdate
// so make sure the edit control has been created.
if (::IsWindow(m_Edit.GetSafeHwnd()))
{
m_Edit.MoveWindow(0, 0, cx, cy);
}
}
CWnd::OnSizeClipboard
De lidfunctie van OnSizeClipboard de eigenaar van het Klembord wordt aangeroepen door de Klembord-viewer wanneer het Klembord gegevens bevat met het CF_OWNERDISPLAY kenmerk en de grootte van het clientgebied van het klembordviewervenster is gewijzigd.
afx_msg void OnSizeClipboard(
CWnd* pClipAppWnd,
HGLOBAL hRect);
Parameterwaarden
pClipAppWnd
Hiermee wordt het klembordtoepassingsvenster geïdentificeerd. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen.
hRect
Identificeert een globaal geheugenobject. Het geheugenobject bevat een RECT gegevensstructuur die het gebied aangeeft dat de eigenaar van het Klembord moet schilderen.
Opmerkingen
De OnSizeClipboard lidfunctie wordt aangeroepen met een null-rechthoek (0,0,0,0) als de nieuwe grootte wanneer de Klembord-toepassing op het punt staat te worden vernietigd of geminimaliseerd. Hierdoor kan de eigenaar van het Klembord de weergavebronnen vrijmaken.
Binnen OnSizeClipboardmoet een toepassing de GlobalLock Windows-functie gebruiken om het geheugen dat de RECT gegevensstructuur bevat te vergrendelen. Laat de toepassing dat geheugen ontgrendelen met de GlobalUnlock Windows-functie voordat deze controle oplevert of retourneert.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSizing
In het framework wordt deze lidfunctie aangeroepen om aan te geven dat de gebruiker het formaat van de rechthoek wijzigt.
afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect);
Parameterwaarden
nSide
De rand van het venster dat moet worden verplaatst.
lpRect
Adres van de CRect of RECT structuur die de coördinaten van het item bevat.
Opmerkingen
Door dit bericht te verwerken, kan een toepassing de grootte en positie van de rechthoek voor slepen bewaken en, indien nodig, de grootte of positie ervan wijzigen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
Example
void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
CMDIChildWnd::OnSizing(fwSide, pRect);
// Resize the splitter window in the frame. m_wndSplitter is of
// type CSplitterWnd
int nWidth = (pRect->right) - (pRect->left);
m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
m_wndSplitter.RecalcLayout();
}
CWnd::OnSpoolerStatus
In het framework wordt deze lidfunctie aangeroepen vanuit Afdrukbeheer wanneer een taak wordt toegevoegd aan of verwijderd uit de afdrukbeheerwachtrij.
afx_msg void OnSpoolerStatus(
UINT nStatus,
UINT nJobs);
Parameterwaarden
nStatus
Hiermee geeft u de SP_JOBSTATUS vlag.
nJobs
Hiermee geeft u het aantal taken dat nog in de wachtrij afdrukbeheer blijft.
Opmerkingen
Deze aanroep is alleen bedoeld ter informatie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnStyleChanged
Het framework roept deze lidfunctie aan nadat de SetWindowLong functie een of meer van de stijlen van het venster heeft gewijzigd.
afx_msg void OnStyleChanged(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parameterwaarden
nStyleType
Hiermee geeft u op of de uitgebreide of nonextended stijlen van het venster zijn gewijzigd. Deze parameter kan een combinatie van de volgende waarden zijn:
GWL_EXSTYLEDe uitgebreide stijlen van het venster zijn gewijzigd.GWL_STYLEDe stijlen van het venster zijn gewijzigd.
lpStyleStruct
Verwijst naar een STYLESTRUCT structuur die de nieuwe stijlen voor het venster bevat. Een toepassing kan de stijlen onderzoeken, maar deze kunnen niet worden gewijzigd.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnStyleChanging
Het framework roept deze lidfunctie aan wanneer de SetWindowLong functie een of meer van de stijlen van het venster gaat wijzigen.
afx_msg void OnStyleChanging(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parameterwaarden
nStyleType
Hiermee geeft u op of de uitgebreide of nonextended stijlen van het venster zijn gewijzigd. Deze parameter kan een combinatie van de volgende waarden zijn:
GWL_EXSTYLEDe uitgebreide stijlen van het venster zijn gewijzigd.GWL_STYLEDe stijlen van het venster zijn gewijzigd.
lpStyleStruct
Verwijst naar een STYLESTRUCT structuur die de nieuwe stijlen voor het venster bevat. Een toepassing kan de stijlen onderzoeken en wijzigen.
Opmerkingen
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSysChar
Het framework roept deze lidfunctie aan als CWnd de invoerfocus en de WM_SYSKEYUP berichten WM_SYSKEYDOWN worden vertaald.
afx_msg void OnSysChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de ASCII-tekensleutelcode van een Control-menu-toets.
nRepCnt
Hiermee geeft u het aantal herhalingen, dat wil gezegd, het aantal keren dat de toetsaanslag wordt herhaald als gevolg van de gebruiker die de sleutel ingedrukt houdt.
nFlags
De nFlags parameter kan deze waarden hebben:
| Waarde | Meaning |
|---|---|
| 0-15 | Hiermee geeft u het aantal herhalingen op. De waarde is het aantal keren dat de toetsaanslag wordt herhaald als gevolg van het vasthouden van de sleutel door de gebruiker. |
| 16-23 | Hiermee geeft u de scancode op. De waarde is afhankelijk van de oorspronkelijke fabrikant van apparatuur (OEM) |
| 24 | Hiermee geeft u op of de toets een uitgebreide toets is, zoals de rechter alt- en Ctrl-toetsen die worden weergegeven op een verbeterd toetsenbord met 101- of 102-toets. De waarde is 1 als het een uitgebreide sleutel is; anders is het 0. |
| 25-28 | Intern gebruikt door Windows. |
| 29 | Hiermee geeft u de contextcode. De waarde is 1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders is de waarde 0. |
| 30 | Hiermee geeft u de vorige sleutelstatus. De waarde is 1 als de sleutel niet beschikbaar is voordat het bericht wordt verzonden of 0 als de sleutel omhoog is. |
| 31 | Hiermee geeft u de overgangsstatus. De waarde is 1 als de sleutel wordt vrijgegeven of 0 als de sleutel wordt ingedrukt. |
Opmerkingen
Hiermee geeft u de code van de virtuele sleutel van de Control-menu-toets op. (Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes)
Wanneer de contextcode 0 is, WM_SYSCHAR kan het WM_SYSCHAR bericht worden doorgegeven aan de TranslateAccelerator Windows-functie, waardoor het wordt verwerkt alsof het een normaal sleutelbericht was in plaats van een systeemtekensleutel. Hierdoor kunnen sneltoetsen worden gebruikt met het actieve venster, zelfs als het actieve venster niet de invoerfocus heeft.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bits in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSysColorChange
Het framework roept deze lidfunctie aan voor alle vensters op het hoogste niveau wanneer er een wijziging wordt aangebracht in de systeemkleurinstelling.
afx_msg void OnSysColorChange();
Opmerkingen
Windows roept aan OnSysColorChange op elk venster dat wordt beïnvloed door een wijziging in de systeemkleur.
Toepassingen met borstels die gebruikmaken van de bestaande systeemkleuren moeten deze borstels verwijderen en opnieuw maken met de nieuwe systeemkleuren.
CWnd::OnSysCommand
Het framework roept deze lidfunctie aan wanneer de gebruiker een opdracht selecteert in het menu Control of wanneer de gebruiker de knop Maximaliseren of Minimaliseren selecteert.
afx_msg void OnSysCommand(
UINT nID,
LPARAM lParam);
Parameterwaarden
nID
Hiermee geeft u het type systeemopdracht aangevraagd. Deze parameter kan een van de volgende waarden zijn:
SC_CLOSESluit hetCWndobject.SC_HOTKEYActiveer hetCWndobject dat is gekoppeld aan de door de toepassing opgegeven sneltoets. Het woordlParammet lage volgorde identificeert hetHWNDvenster dat moet worden geactiveerd.SC_HSCROLLSchuif horizontaal.SC_KEYMENUHaal een menu op via een toetsaanslag.SC_MAXIMIZE(ofSC_ZOOM) Maximaliseer hetCWndobject.SC_MINIMIZE(ofSC_ICON) Minimaliseer hetCWndobject.SC_MOUSEMENUHaal een menu op met een muisklik.SC_MOVECWndHet object verplaatsen.SC_NEXTWINDOWNaar het volgende venster gaan.SC_PREVWINDOWNaar het vorige venster gaan.SC_RESTOREVenster herstellen naar normale positie en grootte.SC_SCREENSAVEHiermee wordt de toepassing voor schermbeveiliging uitgevoerd die is opgegeven in de sectie [boot] van hetSYSTEM.INIbestand.SC_SIZEDe grootte van hetCWndobject wijzigen.SC_TASKLISTVoer de Windows Task Manager-toepassing uit of activeer deze.SC_VSCROLLSchuif verticaal.
lParam
Als er een control-menuopdracht met de muis wordt gekozen, lParam bevat u de cursorcoördinaten. Het woord met lage volgorde bevat de x-coördinaat en het woord met hoge volgorde bevat de y-coördinaat. Anders wordt deze parameter niet gebruikt.
SC_HOTKEYActiveer het venster dat is gekoppeld aan de door de toepassing opgegeven sneltoets. Het woordlParammet lage volgorde identificeert het venster dat moet worden geactiveerd.SC_SCREENSAVEVoer de toepassing voor scherm opslaan uit die is opgegeven in de sectie Bureaublad van het Configuratiescherm.
Opmerkingen
OnSysCommand Standaard wordt de controlmenuaanvraag uitgevoerd voor de vooraf gedefinieerde acties die zijn opgegeven in de voorgaande tabel.
In WM_SYSCOMMAND berichten worden de vier bits met lage volgorde van de nID parameter intern gebruikt door Windows. Wanneer een toepassing de waarde nIDtest, moet deze de waarde 0xFFF0 combineren met de nID waarde met behulp van de operator bitwise-AND om het juiste resultaat te verkrijgen.
De menu-items in een menu Control kunnen worden gewijzigd met de GetSystemMenufuncties , AppendMenuen ModifyMenuInsertMenuleden. Toepassingen die het menu Control wijzigen, moeten berichten verwerken WM_SYSCOMMAND en alle WM_SYSCOMMAND berichten die niet door de toepassing worden verwerkt, moeten worden doorgegeven aan OnSysCommand. Alle opdrachtwaarden die door een toepassing worden toegevoegd, moeten door de toepassing worden verwerkt en kunnen niet worden doorgegeven aan OnSysCommand.
Een toepassing kan op elk gewenst moment elke systeemopdracht uitvoeren door een WM_SYSCOMMAND bericht door te geven aan OnSysCommand.
Sneltoetsen (sneltoetsen) die zijn gedefinieerd om items in het menu Control te selecteren, worden omgezet in OnSysCommand aanroepen; alle andere sneltoetsen worden omgezet in WM_COMMAND berichten.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSysDeadChar
Het framework roept deze lidfunctie aan als het CWnd object de invoerfocus heeft wanneer de OnSysKeyUp functie of OnSysKeyDown lid wordt aangeroepen.
afx_msg void OnSysDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de waarde van het dode-sleutelteken op.
nRepCnt
Hiermee geeft u het aantal herhalingen op.
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Meaning |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). Lage byte van woord in hoge volgorde. |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is; anders 0). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt; anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is vóór de aanroep, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Opmerkingen
Hiermee geeft u de tekenwaarde van een dode sleutel op.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSysKeyDown
Als het CWnd object de invoerfocus heeft, wordt de OnSysKeyDown lidfunctie aangeroepen door het framework wanneer de gebruiker de Alt-toets ingedrukt houdt en vervolgens op een andere toets drukt.
afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de virtuele-sleutelcode op van de sleutel die wordt ingedrukt. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nRepCnt
Hiermee geeft u het aantal herhalingen op.
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Meaning |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). Lage byte van woord in hoge volgorde. |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is; anders 0). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt, anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is voordat het bericht wordt verzonden, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Voor OnSysKeyDown aanroepen is de sleutelovergangsbit (bit 15) 0. De contextcode-bit (bit 13) is 1 als de Alt-toets offline is terwijl de toets wordt ingedrukt; dit is 0 als het bericht naar het actieve venster wordt verzonden omdat er geen venster de invoerfocus heeft.
Opmerkingen
Als momenteel geen venster de invoerfocus heeft, wordt de lidfunctie van OnSysKeyDown het actieve venster aangeroepen. Het CWnd object dat het bericht ontvangt, kan onderscheid maken tussen deze twee contexten door de contextcode in nFlagste controleren.
Wanneer de contextcode 0 is, kan het WM_SYSKEYDOWN ontvangen bericht OnSysKeyDown worden doorgegeven aan de TranslateAccelerator Windows-functie, waarmee het wordt verwerkt alsof het een normaal sleutelbericht is in plaats van een systeemsleutelbericht. Hierdoor kunnen sneltoetsen worden gebruikt met het actieve venster, zelfs als het actieve venster niet de invoerfocus heeft.
Vanwege automatisch herhalen kan er meer dan één OnSysKeyDown aanroep plaatsvinden voordat het WM_SYSKEYUP bericht wordt ontvangen. De vorige sleutelstatus (bit 14) kan worden gebruikt om te bepalen of de OnSysKeyDown aanroep de eerste overgang naar beneden of een herhaalde overgang naar beneden aangeeft.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bits in nFlags.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnSysKeyUp
Als het CWnd object de focus heeft, wordt de OnSysKeyUp lidfunctie aangeroepen door het framework wanneer de gebruiker een sleutel vrijgeeft die is ingedrukt terwijl de Alt-toets is ingedrukt.
afx_msg void OnSysKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
Hiermee geeft u de virtuele-sleutelcode op van de sleutel die wordt ingedrukt. Zie Winuser.h voor een lijst met standaardcodes voor virtuele sleutels
nRepCnt
Hiermee geeft u het aantal herhalingen op.
nFlags
Hiermee geeft u de scancode, sleutelovergangscode, vorige sleutelstatus en contextcode op, zoals wordt weergegeven in de volgende lijst:
| Waarde | Meaning |
|---|---|
| 0-7 | Scancode (OEM-afhankelijke waarde). Lage byte van woord in hoge volgorde. |
| 8 | Uitgebreide toets, zoals een functietoets of een toets op het numerieke toetsenblok (1 als het een uitgebreide toets is; anders 0). |
| 9-10 | Niet gebruikt. |
| 11-12 | Intern gebruikt door Windows. |
| 13 | Contextcode (1 als de Alt-toets ingedrukt wordt gehouden terwijl de toets wordt ingedrukt, anders 0). |
| 14 | Vorige sleutelstatus (1 als de sleutel niet beschikbaar is voordat het bericht wordt verzonden, 0 als de sleutel omhoog is). |
| 15 | Overgangsstatus (1 als de sleutel wordt vrijgegeven, 0 als de sleutel wordt ingedrukt). |
Voor OnSysKeyUp aanroepen is de sleutelovergangsbit (bit 15) 1. De contextcode-bit (bit 13) is 1 als de Alt-toets offline is terwijl de toets wordt ingedrukt; dit is 0 als het bericht naar het actieve venster wordt verzonden omdat er geen venster de invoerfocus heeft.
Opmerkingen
Als momenteel geen venster de invoerfocus heeft, wordt de lidfunctie van OnSysKeyUp het actieve venster aangeroepen. Het CWnd object dat de aanroep ontvangt, kan onderscheid maken tussen deze twee contexten door de contextcode in nFlagste controleren.
Wanneer de contextcode 0 is, kan het WM_SYSKEYUP ontvangen bericht OnSysKeyUp worden doorgegeven aan de TranslateAccelerator Windows-functie, waarmee het wordt verwerkt alsof het een normaal sleutelbericht is in plaats van een systeemsleutelbericht. Hierdoor kunnen sneltoetsen (sneltoetsen) worden gebruikt met het actieve venster, zelfs als het actieve venster niet de invoerfocus heeft.
Voor IBM Enhanced 101- en 102-toetstoetsen zijn verbeterde toetsen de juiste Alt en de rechter Ctrl-toetsen op het hoofdgedeelte van het toetsenbord; de INS-, DEL-, HOME-, END-, PAGE UP-, PAGE DOWN- en pijltoetsen in de clusters links van het numerieke toetsenblok; en de slash (/) en ENTER-toetsen in het numerieke toetsenblok. Sommige andere toetsenborden ondersteunen mogelijk de uitgebreide-toets-bit in nFlags.
Voor niet-Amerikaanse Verbeterde toetsenborden met 102 toetsen, de rechter Alt-toets wordt verwerkt als de toetsencombinatie Ctrl+Alt. Hieronder ziet u de volgorde van berichten en aanroepen die het resultaat zijn wanneer de gebruiker op deze toets drukt en loslaat:
| Sequentie | Functie geopend | Bericht doorgegeven |
|---|---|---|
| 1. | WM_KEYDOWN |
VK_CONTROL |
| 2. | WM_KEYDOWN |
VK_MENU |
| 3. | WM_KEYUP |
VK_CONTROL |
| 4. | WM_SYSKEYUP |
VK_MENU |
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnTCard
Het framework roept deze lidfunctie aan wanneer de gebruiker op een ontwerpbare knop klikt.
afx_msg void OnTCard(
UINT idAction,
DWORD dwActionData);
Parameterwaarden
idAction
Geeft de actie aan die de gebruiker heeft uitgevoerd. Deze parameter kan een van deze waarden zijn:
IDABORTDe gebruiker heeft op een ontwerpbare knop Afbreken geklikt.IDCANCELDe gebruiker heeft op een ontwerpbare knop Annuleren geklikt.IDCLOSEDe gebruiker heeft de trainingskaart gesloten.IDHELPDe gebruiker heeft op een ontwerpbare Windows Help-knop geklikt.IDIGNOREDe gebruiker heeft op een ontwerpbare knop Negeren geklikt.IDOKDe gebruiker heeft op een ontwerpbare KNOP OK geklikt.IDNODe gebruiker heeft op een ontwerpbare knop Nee geklikt.IDRETRYDe gebruiker heeft op een ontwerpbare knop Voor opnieuw proberen geklikt.HELP_TCARD_DATADe gebruiker heeft op een ontwerpbare knop geklikt. DedwActionDataparameter bevat een lang geheel getal dat is opgegeven door de auteur van de Help.HELP_TCARD_NEXTDe gebruiker heeft op een ontwerpbare knop Volgende geklikt.HELP_TCARD_OTHER_CALLEREen andere toepassing heeft trainingskaarten aangevraagd.IDYESDe gebruiker heeft op een ontwerpbare knop Ja geklikt.
dwActionData
Als idAction dit wordt opgegeven HELP_TCARD_DATA, is deze parameter een lang geheel getal dat is opgegeven door de help-auteur. Anders is deze parameter nul.
Opmerkingen
Deze functie wordt alleen aangeroepen wanneer een toepassing een trainingskaart heeft gestart met Windows Help. Een toepassing initieert een trainingskaart door de HELP_TCARD opdracht op te geven in een aanroep naar de WinHelp functie.
CWnd::OnTimeChange
Het framework roept deze lidfunctie aan nadat de systeemtijd is gewijzigd.
afx_msg void OnTimeChange();
Opmerkingen
Zorg ervoor dat elke toepassing die de systeemtijd wijzigt dit bericht naar alle vensters op het hoogste niveau verzendt. Als u het bericht naar alle vensters op het WM_TIMECHANGE hoogste niveau wilt verzenden, kan een toepassing de Windows-functie gebruiken met hwnd de SendMessage parameter ingesteld op HWND_BROADCAST.
CWnd::OnTimer
Het framework roept deze lidfunctie aan na elk interval dat is opgegeven in de SetTimer lidfunctie die wordt gebruikt om een timer te installeren.
afx_msg void OnTimer(UINT_PTR nIDEvent);
Parameterwaarden
nIDEvent
Hiermee geeft u de id van de timer.
Opmerkingen
De DispatchMessage Windows-functie verzendt een WM_TIMER bericht wanneer er geen andere berichten in de berichtenwachtrij van de toepassing staan.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
Example
Zie het voorbeeld in CWnd::SetTimer.
CWnd::OnToolHitTest
In het framework wordt deze lidfunctie aangeroepen om te bepalen of een punt zich in de begrenzingsrechthoek van het opgegeven hulpprogramma bevindt.
virtual INT_PTR OnToolHitTest(
CPoint point,
TOOLINFO* pTI) const;
Parameterwaarden
point
Hiermee geeft u de x- en y-coördinaat van de cursor. Deze coördinaten zijn altijd relatief ten opzichte van de linkerbovenhoek van het venster
pTI
Een aanwijzer naar een TOOLINFO structuur. De volgende structuurwaarden worden standaard ingesteld:
hwnd=m_hWndGreep naar een vensteruId=(UINT)hWndChildGreep naar een onderliggend vensteruFlags|=TTF_IDISHWNDGreep van het hulpprogrammalpszText=LPSTR_TEXTCALLBACKAanwijzer naar de tekenreeks die moet worden weergegeven in het opgegeven venster
Retourwaarde
Als het besturingselement knopinfo is gevonden, wordt de vensterbesturings-id gevonden. Als het besturingselement knopinfo niet is gevonden, -1.
Opmerkingen
Als het punt zich in de rechthoek bevindt, wordt informatie over het hulpprogramma opgehaald.
Als het gebied waaraan de knopinfo is gekoppeld geen knop is, OnToolHitTest stelt u de structuurvlagken in op TTF_NOTBUTTON en TTF_CENTERTIP.
Overschrijven OnToolHitTest om andere informatie op te geven dan de standaardinstelling.
Zie TOOLINFOin de Windows SDK voor meer informatie over de structuur.
CWnd::OnTouchInput
Eén invoer verwerken vanuit Windows Touch.
virtual BOOL OnTouchInput(
CPoint pt,
int nInputNumber,
int nInputsCount,
PTOUCHINPUT pInput);
Parameterwaarden
pt
Punt waar het scherm is aangeraakt (in de clientcoördinaten).
nInputNumber
Aantal aanraakinvoer.
nInputsCount
Totaal aantal aanraakinvoeren.
pInput
Aanwijzer naar TOUCHINPUT structuur.
Retourwaarde
TRUE indien de toepassing windows touch-invoer verwerkt; anders FALSE.
Opmerkingen
CWnd::OnTouchInputs
Verwerkt invoer van Windows Touch.
virtual BOOL OnTouchInputs(
UINT nInputsCount,
PTOUCHINPUT pInputs);
Parameterwaarden
nInputsCount
Totaal aantal Windows touch-invoer.
pInputs
Matrix van TOUCHINPUT.
Retourwaarde
TRUE indien toepassing windows touch invoer verwerkt; anders FALSE.
Opmerkingen
CWnd::OnUniChar
Het framework roept deze lidfunctie aan wanneer een toets wordt ingedrukt. Dat wil gezegd, het huidige venster heeft de toetsenbordfocus en een WM_KEYDOWN bericht wordt vertaald door de TranslateMessage functie.
afx_msg void OnUniChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameterwaarden
nChar
[in] Hiermee geeft u de tekencode van de ingedrukt toets.
nRepCnt
[in] Hiermee geeft u het aantal herhalingen voor het huidige bericht. De waarde is het aantal keren dat de toetsaanslag automatisch wordt herhaald als gevolg van de gebruiker die de toets ingedrukt houdt. Als de toetsaanslag lang genoeg is, worden er meerdere berichten verzonden. Het aantal herhalingen is echter niet cumulatief.
nFlags
[in] Vlaggen die de scancode, uitgebreide sleutel, contextcode, vorige sleutelstatus en overgangsstatus opgeven, zoals wordt weergegeven in de volgende tabel:
| Vlag-bits | Description |
|---|---|
| 0-7 | Hiermee geeft u de scancode op. De waarde is afhankelijk van de oem (original equipment manufacturer). |
| 8 | Hiermee geeft u een uitgebreide toets op, zoals de rechter alt- en Ctrl-toetsen die worden weergegeven op een verbeterd toetsenbord met 101 of 102 toetsen. De vlag is 1 als de sleutel een uitgebreide sleutel is; anders is het 0. |
| 9-12 | Intern gebruikt door Windows. |
| 13 | Hiermee geeft u de contextcode. De vlag is 1 als de Alt-toets wordt ingedrukt terwijl de toets wordt ingedrukt; anders is de waarde 0. |
| 14 Hiermee geeft u de vorige sleutelstatus. De vlag is 1 als de sleutel is uitgeschakeld voordat het bericht wordt verzonden, of 0 als de sleutel omhoog is. | |
| 15 | Hiermee geeft u de overgangsstatus. De vlag is 1 als de sleutel wordt vrijgegeven of 0 als de toets wordt ingedrukt. |
Opmerkingen
Deze methode ontvangt de WM_UNICHAR melding, die wordt beschreven in de Windows SDK. Het WM_UNICHAR bericht is ontworpen voor het verzenden of posten van Unicode-tekens naar ANSI-vensters. Het is gelijk aan het WM_CHAR bericht, maar gebruikt Unicode Transformation Format-32-codering (UTF-32), terwijl het WM_CHAR bericht gebruikmaakt van UTF-16.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnUnInitMenuPopup
Het framework roept deze lidfunctie aan wanneer een vervolgkeuzelijst of submenu is vernietigd.
afx_msg void OnUnInitMenuPopup(
CMenu* pPopupMenu,
UINT nFlags);
Parameterwaarden
pMenu
[in] Wijs het CMenu object aan dat het menu of submenu vertegenwoordigt.
nFlags
[in] Het menu dat is vernietigd. Op dit moment kan het alleen het venstermenu zijn. MF_SYSMENU
Opmerkingen
Deze methode ontvangt de WM_UNINITMENUPOPUP melding, die wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnUpdateUIState
Wordt aangeroepen om de gebruikersinterfacestatus (UI) voor het opgegeven venster en alle onderliggende vensters te wijzigen.
afx_msg void OnUpdateUIState(
UINT nAction,
UINT nUIElement);
Parameterwaarden
nAction
Geeft de actie aan die moet worden uitgevoerd. Dit kan een van de volgende waarden zijn:
UIS_CLEARHet element ui-status (opgegeven doornUIElement) moet worden verborgen.UIS_INITIALIZEHet element ui-status (opgegeven doornUIElement) moet worden gewijzigd op basis van de laatste invoer gebeurtenis. Zie de sectie Opmerkingen vanWM_UPDATEISTATE.UIS_SETHet element ui-status (opgegeven doornUIElement) moet zichtbaar zijn.
nUIElement
Hiermee geeft u op welke elementen van de gebruikersinterfacestatus worden beïnvloed of de stijl van het besturingselement. Dit kan een van de volgende waarden zijn:
UISF_HIDEACCELToetsenbordversnellers.UISF_HIDEFOCUSFocusindicatoren.UISF_ACTIVEWindows XP: Een besturingselement moet worden getekend in de stijl die wordt gebruikt voor actieve besturingselementen.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van het WM_UPDATEUISTATE bericht geëmuleren, zoals beschreven in de Windows SDK.
CWnd::OnUserChanged
Het framework roept dit lid aan voor alle vensters nadat de gebruiker zich heeft aangemeld of uitgeschakeld.
afx_msg void OnUserChanged();
Opmerkingen
Deze methode ontvangt het WM_USERCHANGED meldingsbericht, dat wordt beschreven in de Windows SDK. Wanneer de gebruiker zich aanmeldt of uitschakelt, worden de gebruikersspecifieke instellingen door het besturingssysteem bijgewerkt. Het systeem verzendt dit bericht onmiddellijk na het bijwerken van de instellingen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnVKeyToItem
Als het CWnd object eigenaar is van een keuzelijst met de LBS_WANTKEYBOARDINPUT stijl, verzendt de keuzelijst het WM_VKEYTOITEM bericht als reactie op een WM_KEYDOWN bericht.
afx_msg int OnVKeyToItem(
UINT nKey,
CListBox* pListBox,
UINT nIndex);
Parameterwaarden
nKey
Hiermee geeft u de virtuele-sleutelcode op van de sleutel die de gebruiker heeft ingedrukt. Zie Winuser.h voor een lijst met standaardcodes voor virtuele sleutels
pListBox
Hiermee geeft u een aanwijzer naar de keuzelijst. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
nIndex
Hiermee geeft u de huidige caret positie.
Retourwaarde
Hiermee geeft u de actie op die de toepassing heeft uitgevoerd als reactie op het bericht. Een retourwaarde van -2 geeft aan dat de toepassing alle aspecten van het selecteren van het item heeft verwerkt en geen verdere actie door de keuzelijst vereist. Een retourwaarde van -1 geeft aan dat de keuzelijst de standaardactie moet uitvoeren als reactie op de toetsaanslag. Een retourwaarde van 0 of hoger geeft de op nul gebaseerde index van een item in de keuzelijst aan en geeft aan dat in de keuzelijst de standaardactie moet worden uitgevoerd voor de toetsaanslag op het opgegeven item.
Opmerkingen
Deze lidfunctie wordt alleen aangeroepen door het framework voor keuzelijsten met de LBS_HASSTRINGS stijl.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnVScroll
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker op de verticale schuifbalk van het venster klikt.
afx_msg void OnVScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parameterwaarden
nSBCode
Hiermee geeft u een schuifbalkcode op die de schuifaanvraag van de gebruiker aangeeft. Deze parameter kan een van de volgende zijn:
SB_BOTTOMSchuif naar beneden.SB_ENDSCROLLEinde schuiven.SB_LINEDOWNSchuif één regel omlaag.SB_LINEUPSchuif één regel omhoog.SB_PAGEDOWNSchuif één pagina omlaag.SB_PAGEUPSchuif één pagina omhoog.SB_THUMBPOSITIONSchuif naar de absolute positie. De huidige positie wordt verstrekt innPos.SB_THUMBTRACKSleep het schuifvak naar de opgegeven positie. De huidige positie wordt verstrekt innPos.SB_TOPSchuif naar boven.
nPos
Bevat de huidige positie van het schuifvak als de schuifbalkcode wel of SB_THUMBPOSITIONSB_THUMBTRACKniet wordt gebruikt. Afhankelijk van het eerste schuifbereik nPos kan dit negatief zijn en indien nodig worden omgezet in een int .
pScrollBar
Als het schuifbericht afkomstig is van een besturingselement met schuifbalk, bevat deze een aanwijzer naar het besturingselement. Als de gebruiker op de schuifbalk van een venster heeft geklikt, is NULLdeze parameter . De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
OnVScroll wordt meestal gebruikt door toepassingen die feedback geven terwijl het schuifvak wordt gesleept.
Als OnVScroll de inhoud van het CWnd object wordt geschoven, moet het ook de positie van het schuifvak opnieuw instellen met de SetScrollPos lidfunctie.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnVScrollClipboard
De lidfunctie van OnVScrollClipboard het Klembord wordt aangeroepen door de Klembord-viewer wanneer de klembordgegevens de CF_OWNERDISPLAY indeling hebben en er een gebeurtenis op de verticale schuifbalk van de Klembordviewer staat.
afx_msg void OnVScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parameterwaarden
pClipAppWnd
Hiermee geeft u een aanwijzer naar een Klembord-viewervenster. De aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
nSBCode
Hiermee geeft u een van de volgende schuifbalkwaarden op:
SB_BOTTOMSchuif naar beneden.SB_ENDSCROLLEinde schuiven.SB_LINEDOWNSchuif één regel omlaag.SB_LINEUPSchuif één regel omhoog.SB_PAGEDOWNSchuif één pagina omlaag.SB_PAGEUPSchuif één pagina omhoog.SB_THUMBPOSITIONSchuif naar de absolute positie. De huidige positie wordt verstrekt innPos.SB_TOPSchuif naar boven.
nPos
Bevat de positie van het schuifvak als de schuifbalkcode is SB_THUMBPOSITION; anders nPos niet wordt gebruikt.
Opmerkingen
De eigenaar moet door de afbeelding van het Klembord schuiven, de juiste sectie ongeldig maken en de waarden van de schuifbalk bijwerken.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnWindowMaximizedChanged
Het framework roept dit lid aan wanneer het huidige venster is gemaximaliseerd en het venster is samengesteld door Desktop Window Manager (DWM).
afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);
Parameterwaarden
bIsMaximized
[in] TRUE als het huidige venster is gemaximaliseerd en FALSE als dat niet het is.
Opmerkingen
Deze methode ontvangt het WM_DWMWINDOWMAXIMIZEDCHANGE meldingsbericht, dat wordt beschreven in de Windows SDK.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnWindowPosChanged
Het framework roept deze lidfunctie aan wanneer de grootte, positie of Z-volgorde is gewijzigd als gevolg van een aanroep naar de SetWindowPos lidfunctie of een andere vensterbeheerfunctie.
afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);
Parameterwaarden
lpwndpos
Verwijst naar een WINDOWPOS gegevensstructuur die informatie bevat over de nieuwe grootte en positie van het venster.
Opmerkingen
De standaard implementatie verzendt de WM_SIZE en WM_MOVE berichten naar het venster. Deze berichten worden niet verzonden als een toepassing de OnWindowPosChanged aanroep afhandelt zonder de basisklasse aan te roepen. Het is efficiënter om de verwerking van verplaatsingen of groottewijzigingen uit te voeren tijdens de aanroep zonder de basisklasse aan te OnWindowPosChanged roepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnWindowPosChanging
Het framework roept deze lidfunctie aan wanneer de grootte, positie of Z-volgorde wordt gewijzigd als gevolg van een aanroep van de SetWindowPos lidfunctie of een andere functie voor vensterbeheer.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
Parameterwaarden
lpwndpos
Verwijst naar een WINDOWPOS gegevensstructuur die informatie bevat over de nieuwe grootte en positie van het venster.
Opmerkingen
Een toepassing kan wijzigingen in het venster voorkomen door de juiste bits in het flags lid van de WINDOWPOS structuur in te stellen of te wissen.
Voor een venster met de WS_OVERLAPPED of WS_THICKFRAME stijl verzendt de standaard-implementatie een WM_GETMINMAXINFO bericht naar het venster. Dit wordt gedaan om de nieuwe grootte en positie van het venster te valideren en om de CS_BYTEALIGNCLIENT en CS_BYTEALIGN clientstijlen af te dwingen. Een toepassing kan deze functionaliteit overschrijven door de basisklasse niet aan te roepen.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnWinIniChange
Het framework roept deze lidfunctie aan nadat een wijziging is aangebracht in het Windows-initialisatiebestand. WIN.INI
afx_msg void OnWinIniChange(LPCTSTR lpszSection);
Parameterwaarden
lpszSection
Verwijst naar een tekenreeks die de naam aangeeft van de sectie die is gewijzigd. (De tekenreeks bevat niet de vierkante haken die de sectienaam insluiten.)
Opmerkingen
De SystemParametersInfo Windows-functie roept OnWinIniChange aan nadat een toepassing de functie gebruikt om een instelling in het WIN.INI bestand te wijzigen.
Als u het bericht naar alle vensters op het WM_WININICHANGE hoogste niveau wilt verzenden, kan een toepassing de Windows-functie gebruiken met hwnd de SendMessage parameter ingesteld op HWND_BROADCAST.
Als een toepassing veel verschillende secties WIN.INI tegelijk wijzigt, moet de toepassing één WM_WININICHANGE bericht verzenden met lpszSection ingesteld op NULL. Anders moet een toepassing telkens worden verzonden WM_WININICHANGE wanneer deze een wijziging aanbrengt WIN.INI.
Als een toepassing een OnWinIniChange aanroep ontvangt die lpszSection is ingesteld op NULL, moet de toepassing alle secties in WIN controleren. INI die van invloed is op de toepassing.
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnWndMsg
Deze lidfunctie wordt aangeroepen door WindowProc, of wordt aangeroepen tijdens berichtspiegeling.
virtual BOOL OnWndMsg(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden verzonden.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
pResult
De retourwaarde van WindowProc. Is afhankelijk van het bericht; kan zijn NULL.
Retourwaarde
WAAR als het bericht is verwerkt; anders ONWAAR.
Opmerkingen
OnWndMsg bepaalt het berichttype en roept de juiste frameworkfunctie aan (bijvoorbeeld OnCommand bijvoorbeeld voor WM_COMMAND) of zoekt het juiste bericht in de berichttoewijzing.
Zie Voor meer informatie over de weerspiegeling van berichten de verwerking van gespiegelde berichten.
CWnd::OnXButtonDblClk
Het framework roept deze lidfunctie aan wanneer de gebruiker dubbelklikt XBUTTON1 of XBUTTON2 terwijl de cursor zich in het clientgebied van een venster bevindt.
afx_msg void OnXButtonDblClk(
UINT nFlags,
UINT nButton,
CPoint point);
Parameterwaarden
nFlags
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt.
nButton
[in] Een waarde van XBUTTON1 of de eerste Microsoft Intellimouse X-knop wordt dubbelklikken of XBUTTON2 als de tweede X-knop wordt dubbelklikken.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt de WM_XBUTTONDBLCLK melding, die wordt beschreven in de Windows SDK. Als de muis niet is vastgelegd, wordt het bericht onder de cursor in het venster geplaatst. Anders wordt het bericht geplaatst in het venster dat de muis heeft vastgelegd.
De nFlags parameter kan een combinatie zijn van wijzigingssleutels die worden vermeld in de volgende tabel. Zie Over muisinvoer voor meer informatie.
| Wijzigingstoets | Description |
|---|---|
MK_CONTROL |
De Ctrl-toets wordt ingedrukt. |
MK_LBUTTON |
De linkermuisknop wordt ingedrukt. |
MK_MBUTTON |
De middelste muisknop wordt ingedrukt. |
MK_RBUTTON |
De rechtermuisknop wordt ingedrukt. |
MK_SHIFT |
De SHIFT-toets wordt ingedrukt. |
MK_XBUTTON1 |
De XBUTTON1 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
MK_XBUTTON2 |
De XBUTTON2 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnXButtonDown
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker op het clientgebied van een venster drukt XBUTTON1 of XBUTTON2 terwijl de cursor zich in het clientgebied van een venster bevindt.
afx_msg void OnXButtonDown(
UINT nFlags,
UINT nButton,
CPoint point);
Parameterwaarden
nFlags
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt.
nButton
[in] Een waarde van XBUTTON1 of op de eerste Microsoft Intellimouse X-knop is geklikt of XBUTTON2 als op de tweede X-knop is geklikt.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt de WM_XBUTTONDOWN melding, die wordt beschreven in de Windows SDK. Als de muis niet is vastgelegd, wordt het bericht onder de cursor in het venster geplaatst. Anders wordt het bericht geplaatst in het venster dat de muis heeft vastgelegd.
De nFlags parameter kan een combinatie zijn van wijzigingssleutels die worden vermeld in de volgende tabel. Zie Over muisinvoer voor meer informatie.
| Wijzigingstoets | Description |
|---|---|
MK_CONTROL |
De Ctrl-toets wordt ingedrukt. |
MK_LBUTTON |
De linkermuisknop wordt ingedrukt. |
MK_MBUTTON |
De middelste muisknop wordt ingedrukt. |
MK_RBUTTON |
De rechtermuisknop wordt ingedrukt. |
MK_SHIFT |
De SHIFT-toets wordt ingedrukt. |
MK_XBUTTON1 |
De XBUTTON1 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
MK_XBUTTON2 |
De XBUTTON2 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OnXButtonUp
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker de cursor vrijgeeft XBUTTON1 of XBUTTON2 zich in het clientgebied van een venster bevindt.
afx_msg void OnXButtonUp(
UINT nFlags,
UINT nButton,
CPoint point);
Parameterwaarden
nFlags
[in] Een bitsgewijze combinatie (OR) van vlaggen die aangeven welke wijzigingstoetsen worden ingedrukt. De vlag geeft bijvoorbeeld MK_CONTROL aan dat de Ctrl-toets wordt ingedrukt.
nButton
[in] Een waarde van XBUTTON1 of de eerste Microsoft Intellimouse X-knop is dubbelklikken of XBUTTON2 als er op de tweede X-knop is gedubbelklikt.
point
[in] Een CPoint object dat de x en y coördinaten van de cursor aangeeft ten opzichte van de linkerbovenhoek van het clientgebied.
Opmerkingen
Deze methode ontvangt de WM_XBUTTONUP melding, die wordt beschreven in de Windows SDK. Als de muis niet is vastgelegd, wordt het bericht onder de cursor in het venster geplaatst. Anders wordt het bericht geplaatst in het venster dat de muis heeft vastgelegd.
De nFlags parameter kan een combinatie zijn van wijzigingssleutels die worden vermeld in de volgende tabel. Zie Over muisinvoer voor meer informatie.
| Wijzigingstoets | Description |
|---|---|
MK_CONTROL |
De Ctrl-toets wordt ingedrukt. |
MK_LBUTTON |
De linkermuisknop wordt ingedrukt. |
MK_MBUTTON |
De middelste muisknop wordt ingedrukt. |
MK_RBUTTON |
De rechtermuisknop wordt ingedrukt. |
MK_SHIFT |
De SHIFT-toets wordt ingedrukt. |
MK_XBUTTON1 |
De XBUTTON1 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
MK_XBUTTON2 |
De XBUTTON2 muisknop van Microsoft IntelliMouse wordt ingedrukt. |
Opmerking
Deze lidfunctie wordt aangeroepen door het framework, zodat uw toepassing een Windows-bericht kan verwerken. De parameters die aan uw functie worden doorgegeven, weerspiegelen de parameters die door het framework zijn ontvangen toen het bericht werd ontvangen. Als u de basisklasse-implementatie van deze functie aanroept, gebruikt die implementatie de parameters die oorspronkelijk met het bericht zijn doorgegeven en niet de parameters die u aan de functie opgeeft.
CWnd::OpenClipboard
Hiermee opent u het Klembord.
BOOL OpenClipboard();
Retourwaarde
Niet-nul als het Klembord wordt geopend via CWndof 0 als een andere toepassing of een ander venster het Klembord heeft geopend.
Opmerkingen
Andere toepassingen kunnen het Klembord pas wijzigen als de CloseClipboard Windows-functie wordt aangeroepen.
Het huidige CWnd object wordt pas de eigenaar van het Klembord als de EmptyClipboard Windows-functie wordt aangeroepen.
Example
//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
if (!OpenClipboard())
{
AfxMessageBox(_T("Cannot open the Clipboard"));
return;
}
// Remove the current Clipboard contents
if (!EmptyClipboard())
{
AfxMessageBox(_T("Cannot empty the Clipboard"));
return;
}
// Get the currently selected data, hData handle to
// global memory of data
CString str;
m_Edit.GetWindowText(str);
size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
GlobalUnlock(hData);
str.UnlockBuffer();
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
AfxMessageBox(_T("Unable to set Clipboard data"));
CloseClipboard();
return;
}
CloseClipboard();
}
CWnd::operator HWND
Gebruik deze operator om de ingang naar het CWnd object op te halen.
operator HWND() const;
CWnd::operator !=
Vergelijkt twee CWnd objecten om te bepalen of ze niet hetzelfde m_hWndhebben.
BOOL operator!=(const CWnd& wnd) const;
Parameterwaarden
wnd
Een verwijzing naar een CWnd object.
Retourwaarde
Niet-nul indien gelijk; anders 0.
CWnd::operator ==
Vergelijkt twee CWnd objecten om te bepalen of ze hetzelfde m_hWndhebben.
BOOL operator==(const CWnd& wnd) const;
Parameterwaarden
wnd
Een verwijzing naar een CWnd object.
Retourwaarde
Niet-nul indien gelijk; anders 0.
CWnd::PaintWindowlessControls
Hiermee tekent u vensterloze besturingselementen in de besturingscontainer.
BOOL PaintWindowlessControls(CDC* pDC);
Parameterwaarden
pDC
De apparaatcontext waarop de vensterloze besturingselementen moeten worden getekend.
Retourwaarde
Retourneert TRUE als er een besturingscontainer is en de vensterloze besturingselementen met succes worden getekend, anders FALSE.
CWnd::PostMessage
Plaatst een bericht in de berichtenwachtrij van het venster en keert vervolgens terug zonder te wachten tot het bijbehorende venster het bericht verwerkt.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden geplaatst.
wParam
Hiermee geeft u aanvullende berichtinformatie. De inhoud van deze parameter is afhankelijk van het bericht dat wordt gepost.
lParam
Hiermee geeft u aanvullende berichtinformatie. De inhoud van deze parameter is afhankelijk van het bericht dat wordt gepost.
Retourwaarde
Niet-nul als het bericht wordt geplaatst; anders 0.
Opmerkingen
Berichten in een berichtenwachtrij worden opgehaald door aanroepen naar de GetMessage of PeekMessage Windows-functie.
De Windows-functie PostMessage kan worden gebruikt voor toegang tot een andere toepassing.
Example
Zie het voorbeeld voor AfxGetMainWnd.
CWnd::PostNcDestroy
Aangeroepen door de standaardlidfunctie OnNcDestroy nadat het venster is vernietigd.
virtual void PostNcDestroy();
Opmerkingen
Afgeleide klassen kunnen deze functie gebruiken voor aangepaste opschoning, zoals het verwijderen van de this aanwijzer.
CWnd::PreCreateWindow
Aangeroepen door het framework vóór het maken van het Windows-venster dat aan dit CWnd object is gekoppeld.
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parameterwaarden
cs
Een CREATESTRUCT structuur.
Retourwaarde
Niet-nul als het maken van het venster moet worden voortgezet; 0 om aan te geven dat het maken is mislukt.
Opmerkingen
Waarschuwing
CWnd::PreCreateWindow wijst nu het hMenu-lid van cs de this aanwijzer toe als het menu is NULL en de stijl bevat WS_CHILD. Voor de juiste functionaliteit moet u ervoor zorgen dat het dialoogvenster besturingselement een id heeft die niet NULLis.
Met deze wijziging wordt een crash in beheerde/systeemeigen interop-scenario's opgelost. Een TRACE verklaring in CWnd::Create waarschuwt de ontwikkelaar van het probleem.
Roep deze functie nooit rechtstreeks aan.
De standaard implementatie van deze functie controleert op een naam van een NULL vensterklasse en vervangt een geschikte standaardwaarde. Overschrijf deze lidfunctie om de CREATESTRUCT structuur te wijzigen voordat het venster wordt gemaakt.
Elke klasse die is afgeleid van CWnd voegt zijn eigen functionaliteit toe aan de onderdrukking van PreCreateWindow. Deze afleidingen PreCreateWindow zijn standaard niet gedocumenteerd. Als u de stijlen wilt bepalen die geschikt zijn voor elke klasse en de onderlinge afhankelijkheden tussen de stijlen, kunt u de MFC-broncode voor de basisklasse van uw toepassing onderzoeken. Als u ervoor kiest om te overschrijven PreCreateWindow, , kunt u bepalen of de stijlen die worden gebruikt in de basisklasse van uw toepassing de functionaliteit bieden die u nodig hebt met behulp van gegevens die zijn verzameld uit de MFC-broncode.
Zie de stijlen van een venster wijzigen dat door MFC is gemaakt voor meer informatie over het wijzigen van vensterstijlen.
Example
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
CWnd::PreSubclassWindow
Deze lidfunctie wordt aangeroepen door het framework om andere benodigde subklassen toe te staan voordat het venster wordt subklassen.
virtual void PreSubclassWindow();
Opmerkingen
Als u deze lidfunctie overschrijft, kunt u dynamische subklassen van besturingselementen gebruiken. Het is een geavanceerd overschrijfbaar.
CWnd::PreTranslateMessage
Wordt gebruikt door klasse CWinApp om vensterberichten te vertalen voordat ze worden verzonden naar de TranslateMessage en DispatchMessage Windows-functies.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameterwaarden
pMsg
Verwijst naar een MSG structuur die het bericht bevat dat moet worden verwerkt.
Retourwaarde
Niet-nul als het bericht is vertaald en niet moet worden verzonden; 0 als het bericht niet is vertaald en moet worden verzonden.
CWnd::Print
Roep deze lidfunctie aan om het huidige venster te tekenen in de opgegeven apparaatcontext, wat het meest voorkomt in de context van een printerapparaat.
void Print(
CDC* pDC,
DWORD dwFlags) const;
Parameterwaarden
pDC
Een aanwijzer naar een apparaatcontext.
dwFlags
Hiermee geeft u de tekenopties op. Deze parameter kan een of meer van deze vlaggen zijn:
PRF_CHECKVISIBLETeken het venster alleen als het zichtbaar is.PRF_CHILDRENTeken alle zichtbare kindervensters.PRF_CLIENTTeken het clientgebied van het venster.PRF_ERASEBKGNDWis de achtergrond voordat u het venster tekent.PRF_NONCLIENTTeken het niet-clientgebied van het venster.PRF_OWNEDTeken alle vensters in eigendom.
Opmerkingen
CWnd::DefWindowProc deze functie verwerkt dit bericht op basis van welke tekenoptie is opgegeven:
Als
PRF_CHECKVISIBLEdit is opgegeven en het venster niet zichtbaar is, doet u niets.Als
PRF_NONCLIENTdit is opgegeven, tekent u het niet-clientgebied in de opgegeven apparaatcontext.Als
PRF_ERASEBKGNDdit is opgegeven, verzendt u het venster eenWM_ERASEBKGNDbericht.Als
PRF_CLIENTdit is opgegeven, verzendt u het venster eenWM_PRINTCLIENTbericht.Als
PRF_CHILDRENdit is ingesteld, verzendt u elk zichtbaar onderliggend venster eenWM_PRINTbericht.Als
PRF_OWNEDdit is ingesteld, verzendt u elk zichtbaar venster dat eigendom is van eenWM_PRINTbericht.
CWnd::PrintClient
Roep deze lidfunctie aan om een venster te tekenen in de opgegeven apparaatcontext (meestal een printerapparaatcontext).
void PrintClient(
CDC* pDC,
DWORD dwFlags) const;
Parameterwaarden
pDC
Een aanwijzer naar een apparaatcontext.
dwFlags
Hiermee geeft u tekenopties op. Deze parameter kan een of meer van deze vlaggen zijn:
PRF_CHECKVISIBLETeken het venster alleen als het zichtbaar is.PRF_CHILDRENTeken alle zichtbare kindervensters.PRF_CLIENTTeken het clientgebied van het venster.PRF_ERASEBKGNDWis de achtergrond voordat u het venster tekent.PRF_NONCLIENTTeken het niet-clientgebied van het venster.PRF_OWNEDTeken alle vensters in eigendom.
CWnd::PrintWindow
Kopieert een visueel venster naar de opgegeven apparaatcontext, meestal een printerdomeincontroller.
BOOL PrintWindow(
CDC* pDC,
UINT nFlags) const;
Parameterwaarden
pDC
Een aanwijzer naar de apparaatcontext waarop moet worden afgedrukt.
nFlags
Hiermee geeft u de tekenopties op. Zie voor een lijst met mogelijke waarden PrintWindow.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie PrintWindowgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::RedrawWindow
Hiermee werkt u de opgegeven rechthoek of regio bij in het clientgebied van het opgegeven venster.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
Parameterwaarden
lpRectUpdate
Verwijst naar een RECT structuur die de coördinaten van de updaterechthoek bevat. Deze parameter wordt genegeerd als prgnUpdate deze een geldige regio-ingang bevat.
prgnUpdate
Identificeert de updateregio. Als beide prgnUpdate en lpRectUpdate beide zijn NULL, wordt het gehele clientgebied toegevoegd aan de updateregio.
flags
De volgende vlaggen worden gebruikt om het venster ongeldig te maken:
RDW_ERASEZorgt ervoor dat het venster eenWM_ERASEBKGNDbericht ontvangt wanneer het venster opnieuw wordt geschilderd. DeRDW_INVALIDATEvlag moet ook worden opgegeven; anders heeft RDW_ERASE geen effect.RDW_FRAMEHiermee wordt een deel van het niet-clientgebied van het venster veroorzaakt dat de updateregio doorkruist om eenWM_NCPAINTbericht te ontvangen. DeRDW_INVALIDATEvlag moet ook worden opgegeven; andersRDW_FRAMEheeft dit geen effect.RDW_INTERNALPAINTHiermee wordt eenWM_PAINTbericht in het venster geplaatst, ongeacht of het venster een ongeldige regio bevat.RDW_INVALIDATEOngeldig oflpRectUpdateprgnUpdate(slechts één is mogelijk nietNULL). Als beide zijnNULL, wordt het hele venster ongeldig.
De volgende vlaggen worden gebruikt om het venster te valideren:
RDW_NOERASEOnderdrukt eventuele berichten die in behandeling zijnWM_ERASEBKGND.RDW_NOFRAMEOnderdrukt eventuele berichten die in behandeling zijnWM_NCPAINT. Deze vlag moet worden gebruikt metRDW_VALIDATEen wordt meestal gebruikt metRDW_NOCHILDREN. Deze optie moet zorgvuldig worden gebruikt, omdat delen van een venster niet goed kunnen worden geschilderd.RDW_NOINTERNALPAINTOnderdrukt eventuele interneWM_PAINTberichten die in behandeling zijn. Deze vlag heeft geen invloed opWM_PAINTberichten die het gevolg zijn van ongeldige gebieden.RDW_VALIDATEValideertlpRectUpdateofprgnUpdate(slechts één is mogelijk nietNULL). Als beide zijnNULL, wordt het hele venster gevalideerd. Deze vlag heeft geen invloed op interneWM_PAINTberichten.
De volgende vlaggen bepalen wanneer het opnieuw wordt geschilderd. Het schilderen wordt niet uitgevoerd door de RedrawWindow functie, tenzij een van deze bits is opgegeven.
RDW_ERASENOWZorgt ervoor dat de betrokken vensters (zoals opgegeven door deRDW_ALLCHILDRENenRDW_NOCHILDRENvlaggen) worden ontvangenWM_NCPAINTenWM_ERASEBKGNDberichten, indien nodig, voordat de functie wordt geretourneerd.WM_PAINTberichten worden uitgesteld.RDW_UPDATENOWZorgt ervoor dat de betreffende vensters (zoals opgegeven door deRDW_ALLCHILDRENenRDW_NOCHILDRENvlaggen) worden ontvangenWM_NCPAINT,WM_ERASEBKGNDenWM_PAINTberichten, indien nodig, voordat de functie wordt geretourneerd.
De vensters die door de RedrawWindow functie worden beïnvloed, zijn standaard afhankelijk van of het opgegeven venster de WS_CLIPCHILDREN stijl heeft. De onderliggende vensters van WS_CLIPCHILDREN vensters worden niet beïnvloed. Deze vensters die geen WS_CLIPCHILDREN vensters zijn, worden echter recursief gevalideerd of ongeldig totdat er een WS_CLIPCHILDREN venster wordt aangetroffen. Met de volgende vlaggen bepaalt u welke vensters worden beïnvloed door de RedrawWindow functie:
RDW_ALLCHILDRENBevat onderliggende vensters, indien aanwezig, in de herinwerkingsbewerking.RDW_NOCHILDRENSluit onderliggende vensters, indien van toepassing, uit van de herschilderingsbewerking.
Retourwaarde
Niet-nul als het venster opnieuw is getekend; anders 0.
Opmerkingen
Wanneer de RedrawWindow lidfunctie wordt gebruikt om een deel van het bureaubladvenster ongeldig te maken, ontvangt WM_PAINT dat venster geen bericht. Als u het bureaublad wilt herschilderen, moet een toepassing gebruikmaken vanCWnd::ValidateRgn, CWnd::InvalidateRgnof CWnd::UpdateWindowRedrawWindow
CWnd::ReflectChildNotify
Deze berichtfunctie wordt aangeroepen door het framework van OnChildNotify.
BOOL ReflectChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden weerspiegeld.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
pResult
Het resultaat dat wordt gegenereerd door het onderliggende venster dat moet worden geretourneerd door het bovenliggende venster. Kan zijn NULL.
Retourwaarde
TRUE als het bericht is weerspiegeld; anders FALSE.
Opmerkingen
Het is een helperfunctie die overeenkomt met message de bron.
Weerspiegelde berichten worden rechtstreeks verzonden naar CWnd::OnWndMsg of CCmdTarget::OnCmdMsg.
Zie Voor meer informatie over de weerspiegeling van berichten de verwerking van gespiegelde berichten.
CWnd::ReflectLastMsg
Deze lidfunctie wordt aangeroepen door het framework om het laatste bericht weer te geven aan het onderliggende venster.
static BOOL PASCAL ReflectLastMsg(
HWND hWndChild,
LRESULT* pResult = NULL);
Parameterwaarden
hWndChild
Een ingang naar een onderliggend venster.
pResult
Het resultaat dat wordt gegenereerd door het onderliggende venster dat moet worden geretourneerd door het bovenliggende venster. Kan zijn NULL.
Retourwaarde
Niet-nul als het bericht is verwerkt; anders 0.
Opmerkingen
Met deze lidfunctie wordt aangeroepen SendChildNotifyLastMsg of het venster dat is hWndChild geïdentificeerd door een OLE-besturingselement of een venster in de permanente kaart is.
Zie Voor meer informatie over de weerspiegeling van berichten de verwerking van gespiegelde berichten.
CWnd::ReleaseDC
Hiermee wordt een apparaatcontext uitgebracht, waardoor deze wordt vrijgemaakt voor gebruik door andere toepassingen.
int ReleaseDC(CDC* pDC);
Parameterwaarden
pDC
Identificeert de apparaatcontext die moet worden vrijgegeven.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Het effect van de ReleaseDC lidfunctie is afhankelijk van het type apparaatcontext.
De toepassing moet de ReleaseDC lidfunctie aanroepen voor elke aanroep van de GetWindowDC lidfunctie en voor elke aanroep naar de GetDC lidfunctie.
CWnd::RepositionBars
Wordt aangeroepen om besturingsbalken te verplaatsen en het formaat ervan te wijzigen in het clientgebied van een venster.
void RepositionBars(UINT nIDFirst,
UINT nIDLast,
UINT nIDLeftOver,
UINT nFlag = reposDefault,
LPRECT lpRectParam = NULL,
LPCRECT lpRectClient = NULL,
BOOL bStretch = TRUE) ;
Parameterwaarden
nIDFirst
De id van de eerste in een bereik van besturingsbalken om de positie en het formaat ervan te wijzigen.
nIDLast
De id van de laatste in een bereik van besturingsbalken om de positie en het formaat ervan te wijzigen.
nIDLeftOver
Hiermee geeft u de id van het deelvenster op dat de rest van het clientgebied vult.
nFlag
Kan een van de volgende waarden hebben:
CWnd::reposDefaultHiermee wordt de indeling van de besturingsbalken uitgevoerd.lpRectParamwordt niet gebruikt en kan wordenNULLgebruikt.CWnd::reposQueryDe indeling van de besturingsbalken is niet voltooid; in plaatslpRectParamdaarvan wordt geïnitialiseerd met de grootte van het clientgebied, alsof de indeling daadwerkelijk is uitgevoerd.CWnd::reposExtraVoegt de waarden toe vanlpRectParamhet clientgebied vannIDLasten voert ook de indeling uit.
lpRectParam
Verwijst naar een RECT structuur; waarvan het gebruik afhankelijk is van de waarde van nFlag.
lpRectClient
Verwijst naar een RECT structuur met het beschikbare clientgebied. Als NULLhet clientgebied van het venster wordt gebruikt.
bStretch
Geeft aan of de balk moet worden uitgerekt tot de grootte van het frame.
Opmerkingen
De nIDFirst parameters nIDLast definiëren een bereik van besturingsbalk-id's die moeten worden verplaatst in het clientgebied. De nIDLeftOver parameter geeft de id op van het onderliggende venster (normaal gesproken de weergave) die wordt verplaatst en gewijzigd om de rest van het clientgebied te vullen dat niet is gevuld met besturingsbalken.
CWnd::RunModalLoop
Roep deze lidfunctie aan om berichten op te halen, te vertalen of te verzenden totdat ContinueModal ze worden geretourneerd FALSE.
int RunModalLoop(DWORD dwFlags = 0);
Parameterwaarden
dwFlags
Hiermee geeft u het Windows-bericht dat moet worden verzonden. Dit kan een van de volgende waarden zijn:
MLF_NOIDLEMSGVerzend geenWM_ENTERIDLEberichten naar het bovenliggende item.MLF_NOKICKIDLEVerzend geenWM_KICKIDLEberichten naar het venster.MLF_SHOWONIDLEHet venster weergeven wanneer de berichtenwachtrij niet actief wordt.
Retourwaarde
Hiermee geeft u de waarde op van de nResult parameter die wordt doorgegeven aan de EndModalLoop lidfunctie, die vervolgens wordt gebruikt om de modale lus te beëindigen.
Opmerkingen
Retourneert FALSE standaard ContinueModal nadat EndModalLoop deze is aangeroepen. Retourneert de opgegeven nResultEndModalLoopwaarde.
CWnd::ScreenToClient
Converteert de schermcoördinaten van een bepaald punt of rechthoek op de weergave naar clientcoördinaten.
void ScreenToClient(LPPOINT lpPoint) const;
void ScreenToClient(LPRECT lpRect) const;
Parameterwaarden
lpPoint
Verwijst naar een CPoint object of POINT structuur die de schermcoördinaten bevat die moeten worden geconverteerd.
lpRect
Verwijst naar een CRect object of RECT structuur die de schermcoördinaten bevat die moeten worden geconverteerd.
Opmerkingen
De ScreenToClient lidfunctie vervangt de schermcoördinaten die zijn opgegeven in lpPoint of lpRect door clientcoördinaten. De nieuwe coördinaten zijn relatief ten opzichte van de linkerbovenhoek van het CWnd clientgebied.
Example
Zie het voorbeeld voor CListCtrl::GetItemRect.
CWnd::ScrollWindow
Schuift de inhoud van het clientgebied van het huidige CWnd object.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parameterwaarden
xAmount
Hiermee geeft u de hoeveelheid, in apparaateenheden, van horizontaal schuiven. Deze parameter moet een negatieve waarde zijn om naar links te schuiven.
yAmount
Hiermee geeft u de hoeveelheid, in apparaateenheden, van verticaal schuiven. Deze parameter moet een negatieve waarde zijn om omhoog te schuiven.
lpRect
Verwijst naar een CRect object of RECT structuur dat het gedeelte van het clientgebied aangeeft dat moet worden geschoven. Als lpRect dat het is NULL, wordt het hele clientgebied gescrold. De caret wordt verplaatst als de cursorrechthoek de schuifrechthoek kruist.
lpClipRect
Verwijst naar een CRect object of RECT structuur waarmee de rechthoek voor knippen wordt aangegeven om te schuiven. Alleen bits in deze rechthoek worden gescrold. Bits buiten deze rechthoek worden niet beïnvloed, zelfs niet als ze zich in de lpRect rechthoek bevinden. Als lpClipRect dat het is NULL, wordt er geen knipsel uitgevoerd op de schuifrechthoek.
Opmerkingen
Als de caret zich in het CWnd schuiven bevindt, ScrollWindow verbergt u de caret automatisch om te voorkomen dat deze wordt gewist en wordt de caret hersteld nadat de schuif is voltooid. De caretpositie wordt dienovereenkomstig aangepast.
Het gebied dat door de ScrollWindow lidfunctie wordt ontdekt, wordt niet opnieuw geschilderd, maar wordt gecombineerd in de updateregio van het huidige CWnd object. De toepassing ontvangt uiteindelijk een bericht met de WM_PAINT melding dat de regio opnieuw moet worden geschilderd. Als u het onbedekte gebied tegelijk wilt herschilderen wanneer het schuiven is voltooid, roept u de lidfunctie aan direct na het UpdateWindow aanroepen ScrollWindow.
Als lpRect dat het geval is NULL, worden de posities van onderliggende vensters in het venster verschoven door het bedrag dat is opgegeven en xAmountyAmount, en alle ongeldige (niet-gepaint) gebieden in de CWnd vensters worden ook offset.
ScrollWindowis sneller wanneer lpRect .NULL
Als lpRect dat niet NULLzo is, worden de posities van onderliggende vensters niet gewijzigd en worden ongeldige gebieden niet CWnd verschoven. Als u het bijwerken van problemen wilt voorkomen wanneer lpRect dat niet NULLhet probleem is, roept u de UpdateWindow lidfunctie aan om opnieuw te werken CWnd voordat u aanroept ScrollWindow.
CWnd::ScrollWindowEx
Hiermee schuift u door de inhoud van het clientgebied van een venster.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags);
Parameterwaarden
dx
Hiermee geeft u de hoeveelheid, in apparaateenheden, van horizontaal schuiven. Deze parameter moet een negatieve waarde hebben om naar links te schuiven.
dy
Hiermee geeft u de hoeveelheid, in apparaateenheden, van verticaal schuiven. Deze parameter moet een negatieve waarde hebben om omhoog te schuiven.
lpRectScroll
Verwijst naar een RECT structuur die het gedeelte van het clientgebied aangeeft dat moet worden geschoven. Als deze parameter is NULL, wordt het gehele clientgebied geschoven.
lpRectClip
Verwijst naar een RECT structuur die de rechthoek voor knippen aangeeft om te schuiven. Deze structuur heeft voorrang op de rechthoek die wordt verwezen door lpRectScroll. Alleen bits in deze rechthoek worden gescrold. Bits buiten deze rechthoek worden niet beïnvloed, zelfs niet als ze zich in de lpRectScroll rechthoek bevinden. Als deze parameter is NULL, wordt er geen knipsel uitgevoerd op de schuifrechthoek.
prgnUpdate
Identificeert de regio die is gewijzigd om de regio ongeldig te houden door te schuiven. Deze parameter kan zijn NULL.
lpRectUpdate
Verwijst naar een RECT structuur die de grenzen van de rechthoek ongeldig krijgt door te schuiven. Deze parameter kan zijn NULL.
flags
Kan een van de volgende waarden hebben:
SW_ERASEWanneer u ditSW_INVALIDATEhebt opgegeven, wordt de zojuist ongeldige regio gewist door eenWM_ERASEBKGNDbericht naar het venster te verzenden.SW_INVALIDATEOngeldig de regio die isprgnUpdategeïdentificeerd na het schuiven.SW_SCROLLCHILDRENSchuift door alle onderliggende vensters die de rechthoek kruisen waarnaar wordt verwezen doorlpRectScrollhet aantal pixels dat is opgegeven indxendy. Windows verzendt eenWM_MOVEbericht naar alle onderliggende vensters die elkaar kruisenlpRectScroll, zelfs als ze niet worden verplaatst. De caret wordt verplaatst wanneer een onderliggend venster wordt geschoven en de cursorrechthoek de schuifrechthoek doorkruist.
Retourwaarde
De retourwaarde is SIMPLEREGION (rechthoekige, ongeldige regio), COMPLEXREGION (niet-verstrengelde ongeldige regio; overlappende rechthoeken) of NULLREGION (geen ongeldig gebied), als de functie is geslaagd; anders is ERRORde retourwaarde.
Opmerkingen
Deze functie is vergelijkbaar met de ScrollWindow functie, met enkele extra functies.
Als SW_INVALIDATE en SW_ERASE niet zijn opgegeven, ongeldig maakt de ScrollWindowEx lidfunctie het gebied waar vandaan wordt geschoven niet ongeldig. Als een van deze vlaggen is ingesteld, ScrollWindowEx wordt dit gebied ongeldig. Het gebied wordt pas bijgewerkt wanneer de toepassing de UpdateWindow lidfunctie aanroept, de RedrawWindow lidfunctie aanroept (opgeven RDW_UPDATENOW of RDW_ERASENOW) of het WM_PAINT bericht uit de toepassingswachtrij ophaalt.
Als het venster de WS_CLIPCHILDREN stijl heeft, worden de geretourneerde gebieden opgegeven prgnUpdate door en lpRectUpdate het totale gebied van het geschoven venster weergegeven dat moet worden bijgewerkt, inclusief gebieden in onderliggende vensters die moeten worden bijgewerkt.
Als de SW_SCROLLCHILDREN vlag is opgegeven, wordt het scherm niet correct bijgewerkt als een deel van een onderliggend venster wordt geschoven. Het deel van het geschoven onderliggende venster dat zich buiten de bronrechthoek bevindt, wordt niet gewist en wordt niet opnieuw getekend in de nieuwe bestemming. Gebruik de DeferWindowPos Windows-functie om onderliggende vensters te verplaatsen die niet volledig in de lpRectScroll rechthoek liggen. De cursor wordt verplaatst als de SW_SCROLLCHILDREN vlag is ingesteld en de rechthoek met de caret de schuifrechthoek doorkruist.
Alle invoer- en uitvoercoördinaten (voor lpRectScroll, lpRectClip, lpRectUpdateen prgnUpdate) worden verondersteld in clientcoördinaten te staan, ongeacht of het venster de CS_OWNDC stijl of CS_CLASSDC klasse heeft. Gebruik de LPtoDP functies en DPtoLP Windows om, indien nodig, te converteren naar en van logische coördinaten.
CWnd::SendChildNotifyLastMsg
Deze lidfunctie wordt aangeroepen door het framework om een meldingsbericht te geven aan een onderliggend venster, vanuit het bovenliggende venster, zodat het onderliggende venster een taak kan afhandelen.
BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);
Parameterwaarden
pResult
Het resultaat dat wordt gegenereerd door het onderliggende venster dat moet worden geretourneerd door het bovenliggende venster.
Retourwaarde
Niet-nul als het onderliggende venster het bericht heeft verwerkt dat naar het bovenliggende item is verzonden; anders 0.
Opmerkingen
SendChildNotifyLastMsg verzend het huidige bericht naar de bron als het een bericht is dat wordt weergegeven.
Zie Voor meer informatie over de weerspiegeling van berichten de verwerking van gespiegelde berichten.
CWnd::SendDlgItemMessage
Hiermee wordt een bericht naar een besturingselement verzonden.
LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameterwaarden
nID
Hiermee geeft u de id op van het dialoogvenster besturingselement dat het bericht ontvangt.
message
Hiermee geeft u het bericht dat moet worden verzonden.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
Retourwaarde
Hiermee geeft u de waarde op die wordt geretourneerd door de vensterprocedure van het besturingselement of 0 als het besturingselement niet is gevonden.
Opmerkingen
De SendDlgItemMessage lidfunctie wordt pas geretourneerd als het bericht is verwerkt.
Het gebruik SendDlgItemMessage is identiek aan het verkrijgen van een CWnd* voor het opgegeven besturingselement en het aanroepen van de SendMessage lidfunctie.
Example
void CMyDlg::SetSpinRange()
{
//set the min and max range of the up/down or spin control
SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}
CWnd::SendMessage
Hiermee wordt het opgegeven bericht naar dit venster verzonden.
LRESULT SendMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden verzonden.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
Retourwaarde
Het resultaat van de berichtverwerking; de waarde ervan is afhankelijk van het verzonden bericht.
Opmerkingen
De SendMessage lidfunctie roept de vensterprocedure rechtstreeks aan en retourneert pas nadat de vensterprocedure het bericht heeft verwerkt. Dit is in tegenstelling tot de PostMessage lidfunctie, waarmee het bericht in de berichtenwachtrij van het venster wordt geplaatst en onmiddellijk wordt geretourneerd.
Example
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::SendMessageToDescendants
Roep deze lidfunctie aan om het opgegeven Windows-bericht naar alle onderliggende vensters te verzenden.
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE,
BOOL bOnlyPerm = FALSE);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden verzonden.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
bDeep
Hiermee geeft u het niveau op waarnaar moet worden gezocht. Als TRUE, recursief zoeken naar alle kinderen; als FALSE, zoeken alleen directe kinderen.
bOnlyPerm
Hiermee geeft u op of het bericht wordt ontvangen door tijdelijke vensters. Als TRUE, tijdelijke vensters kunnen het bericht ontvangen; als FALSE, alleen permanente vensters ontvangen het bericht. Zie Technical Note 3 voor meer informatie over tijdelijke vensters.
Opmerkingen
Als bDeep dat het is FALSE, wordt het bericht alleen verzonden naar de directe kinderen van het venster; anders wordt het bericht verzonden naar alle onderliggende vensters.
Als bDeep en bOnlyPerm zijn TRUE, wordt de zoekopdracht voortgezet onder tijdelijke vensters. In dit geval ontvangen alleen permanente vensters tijdens de zoekopdracht het bericht. Als bDeep dat het is FALSE, wordt het bericht alleen verzonden naar de directe onderliggende elementen van het venster.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;
lf.lfHeight = 15; // Request a 15-pixel-high font
// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
m_font.CreateFontIndirect(&lf); // Create the font.
SendMessageToDescendants(WM_SETFONT,
(WPARAM)m_font.m_hObject, //handle to font
MAKELONG((WORD)fRedraw, 0),
FALSE); // send to all descendants(TRUE) or
// just children of *this (FALSE)
CWnd::SendNotifyMessage
Hiermee wordt het opgegeven bericht naar het venster verzonden.
BOOL SendNotifyMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
message
Hiermee geeft u het bericht dat moet worden verzonden.
wParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
lParam
Hiermee geeft u aanvullende berichtafhankelijke informatie op.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Als het venster is gemaakt door de aanroepende thread, SendNotifyMessage roept u de vensterprocedure voor het venster aan en keert u pas terug als het bericht door de vensterprocedure is verwerkt. Als het venster is gemaakt door een andere thread, SendNotifyMessage geeft u het bericht door aan de vensterprocedure en wordt het onmiddellijk geretourneerd. Er wordt niet gewacht totdat de vensterprocedure klaar is met het verwerken van het bericht.
CWnd::SetActiveWindow
Hiermee maakt CWnd u het actieve venster.
CWnd* SetActiveWindow();
Retourwaarde
Het venster dat eerder actief was.
De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
De SetActiveWindow lidfunctie moet zorgvuldig worden gebruikt omdat een toepassing het actieve venster en de invoerfocus willekeurig kan overnemen. Normaal gesproken zorgt Windows voor alle activeringen.
CWnd::SetCapture
Zorgt ervoor dat alle volgende muisinvoer naar het huidige CWnd object wordt verzonden, ongeacht de positie van de cursor.
CWnd* SetCapture();
Retourwaarde
Een aanwijzer naar het vensterobject dat eerder alle muisinvoer heeft ontvangen. Het is NULL als er geen dergelijk venster is. De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Wanneer CWnd u niet langer alle muisinvoer nodig hebt, moet de toepassing de ReleaseCapture functie aanroepen, zodat andere vensters muisinvoer kunnen ontvangen.
Terwijl de invoer van de muis wordt vastgelegd, worden er geen WM_NCHITTEST berichten WM_SETCURSOR verzonden naar het actieve venster.
CWnd::SetCaretPos
Hiermee stelt u de positie van de caret in.
static void PASCAL SetCaretPos(POINT point);
Parameterwaarden
point
Hiermee geeft u de nieuwe x- en y-coördinaten (in clientcoördinaten) van de caret.
Opmerkingen
De SetCaretPos functie Lid verplaatst de caret alleen als deze eigendom is van een venster in de huidige taak.
SetCaretPos verplaatst de caret of de caret al dan niet verborgen is.
De caret is een gedeelde resource. Een venster mag de caret niet verplaatsen als het niet de eigenaar is van de caret.
Example
// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
//create a solid caret, the width is 2, the length is 20.
CreateSolidCaret(2, 20);
SetCaretPos(point);
ShowCaret();
CView::OnLButtonDown(nFlags, point);
}
CWnd::SetClipboardViewer
Hiermee voegt u dit venster toe aan de keten van vensters die worden gewaarschuwd (door middel van het WM_DRAWCLIPBOARD bericht) wanneer de inhoud van het Klembord wordt gewijzigd.
HWND SetClipboardViewer();
Retourwaarde
Een ingang naar het volgende venster in de keten Klembordviewer als dit lukt. Toepassingen moeten deze ingang opslaan (deze kan worden opgeslagen als een lidvariabele) en deze gebruiken bij het reageren op berichten van de Klembordviewer-keten.
Opmerkingen
Een venster dat deel uitmaakt van de Klembordviewer-keten moet reageren op WM_DRAWCLIPBOARD, WM_CHANGECBCHAINen berichten en WM_DESTROY het bericht doorgeven aan het volgende venster in de keten.
Met deze lidfunctie wordt een WM_DRAWCLIPBOARD bericht naar het venster verzonden. Omdat de ingang naar het volgende venster in de keten Klembord-viewer nog niet is geretourneerd, moet de toepassing het WM_DRAWCLIPBOARD bericht dat deze ontvangt tijdens het aanroepen SetClipboardViewerniet doorgeven.
Als u zichzelf wilt verwijderen uit de klembordviewerketen, moet een toepassing de ChangeClipboardChain lidfunctie aanroepen.
CWnd::SetDlgCtrlID
Hiermee stelt u de venster-id of besturingselement-id voor het venster in op een nieuwe waarde.
int SetDlgCtrlID(int nID);
Parameterwaarden
nID
De nieuwe waarde die moet worden ingesteld voor de id van het besturingselement.
Retourwaarde
De vorige id van het venster, indien geslaagd; anders 0.
Opmerkingen
Het venster kan elk onderliggend venster zijn, niet alleen een besturingselement in een dialoogvenster. Het venster kan geen venster op het hoogste niveau zijn.
CWnd::SetDlgItemInt
Hiermee stelt u de tekst van een bepaald besturingselement in een dialoogvenster in op de tekenreeksweergave van een opgegeven geheel getal.
void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned = TRUE);
Parameterwaarden
nID
Hiermee geeft u de gehele id van het besturingselement dat moet worden gewijzigd.
nValue
Hiermee geeft u de gehele waarde op die wordt gebruikt om de itemtekst te genereren.
bSigned
Hiermee geeft u op of de waarde van het gehele getal is ondertekend of niet is ondertekend. Als deze parameter is TRUE, nValue is ondertekend. Als deze parameter is TRUE en nValue kleiner is dan 0, wordt een minteken vóór het eerste cijfer in de tekenreeks geplaatst. Als deze parameter is FALSE, nValue is deze niet ondertekend.
Opmerkingen
SetDlgItemInt verzendt een WM_SETTEXT bericht naar het opgegeven besturingselement.
Example
Zie het voorbeeld voor CWnd::SetDlgItemText.
CWnd::SetDlgItemText
Hiermee stelt u het bijschrift of de tekst van een besturingselement in dat eigendom is van een venster of dialoogvenster.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parameterwaarden
nID
Identificeert het besturingselement waarvan de tekst moet worden ingesteld.
lpszString
Verwijst naar een CString object of null-beëindigde tekenreeks die de tekst bevat die naar het besturingselement moet worden gekopieerd.
Opmerkingen
SetDlgItemText verzendt een WM_SETTEXT bericht naar het opgegeven besturingselement.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);
CWnd::SetForegroundWindow
Hiermee plaatst u de thread die het venster op de voorgrond heeft gemaakt en activeert u het venster.
BOOL SetForegroundWindow();
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Toetsenbordinvoer wordt omgeleid naar het venster en er worden verschillende visuele aanwijzingen voor de gebruiker gewijzigd. Het voorgrondvenster is het venster waarmee de gebruiker momenteel werkt. Het voorgrondvenster is alleen van toepassing op vensters op het hoogste niveau (framevensters of dialoogvensters).
Example
Zie het voorbeeld voor CWnd::FindWindow.
CWnd::SetFocus
Claimt de invoerfocus.
CWnd* SetFocus();
Retourwaarde
Een aanwijzer naar het vensterobject dat eerder de invoerfocus had. Het is NULL als er geen dergelijk venster is. De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen.
Opmerkingen
De invoerfocus leidt alle volgende toetsenbordinvoer naar dit venster. Elk venster dat eerder de invoerfocus had, verliest het.
De SetFocus lidfunctie verzendt een WM_KILLFOCUS bericht naar het venster dat de invoerfocus verliest en een WM_SETFOCUS bericht naar het venster dat de invoerfocus ontvangt. Het venster of het bovenliggende venster wordt ook geactiveerd.
Als het huidige venster actief is, maar niet de focus heeft (dat wil gezegd, er geen venster is waarop de focus is gericht), produceert een toets die wordt ingedrukt de berichten WM_SYSCHAR, WM_SYSKEYDOWNof WM_SYSKEYUP.
CWnd::SetFont
Hiermee wordt het WM_SETFONT bericht naar het venster verzonden om het opgegeven lettertype te gebruiken.
void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE);
Parameterwaarden
pFont
Aanwijzer naar een CFont-object.
bRedraw
TRUE om het venster onmiddellijk opnieuw te tekenen nadat het bericht WM_SETFONT is verwerkt; anders FALSE.
Opmerkingen
Deze methode heeft geen effect tenzij het venster het WM_SETFONT bericht verwerkt. Veel MFC-klassen die zijn afgeleid van CWnd het proces van dit bericht, omdat ze zijn gekoppeld aan een vooraf gedefinieerde vensterklasse die een berichthandler voor het WM_SETFONT bericht bevat. Als u deze methode wilt gebruiken, moeten klassen waaruit u afgeleid bent CWnd , een methode-handler voor het WM_SETFONT bericht definiëren.
CWnd::SetIcon
Roep deze lidfunctie aan om de ingang in te stellen op een specifiek pictogram, zoals aangegeven door hIcon.
HICON SetIcon(
HICON hIcon,
BOOL bBigIcon);
Parameterwaarden
hIcon
Een ingang naar een eerder pictogram.
bBigIcon
Hiermee geeft u een 32 pixel bij 32 pixel pictogram als TRUE; geeft een 16 pixel bij 16 pixel pictogram indien FALSE.
Retourwaarde
Een greep naar een pictogram.
Opmerkingen
Wanneer de vensterklasse is geregistreerd, wordt er een pictogram geselecteerd.
Example
Zie het voorbeeld voor CWnd::GetSystemMenu.
CWnd::SetLayeredWindowAttributes
Hiermee stelt u de dekkings- en transparantiekleursleutel van een gelaagd venster in.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
Parameterwaarden
crKey
Aanwijzer naar een COLORREF waarde die de doorzichtigheidskleursleutel aangeeft die moet worden gebruikt bij het opstellen van het gelaagde venster. Alle pixels die door het venster in deze kleur zijn geschilderd, zijn transparant. Als u een COLORREFwilt genereren, gebruikt u de RGB macro.
bAlpha
Alfa-waarde die wordt gebruikt om de dekking van het gelaagde venster te beschrijven. Zie het SourceConstantAlpha lid van de BLENDFUNCTION structuur voor meer informatie. Wanneer bAlpha is 0, is het venster volledig transparant. Wanneer bAlpha is 255, is het venster ondoorzichtig.
dwFlags
Hiermee geeft u een actie op die moet worden uitgevoerd. Deze parameter kan een of meer van de volgende waarden zijn. Zie voor een lijst met mogelijke waarden SetLayeredWindowAttributes.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie SetLayeredWindowAttributesgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::SetMenu
Hiermee stelt u het huidige menu in op het opgegeven menu.
BOOL SetMenu(CMenu* pMenu);
Parameterwaarden
pMenu
Hiermee wordt het nieuwe menu geïdentificeerd. Als deze parameter is NULL, wordt het huidige menu verwijderd.
Retourwaarde
Niet-nul als het menu wordt gewijzigd; anders 0.
Opmerkingen
Zorgt ervoor dat het venster opnieuw wordt getekend om de menuwijziging weer te geven.
SetMenu zal een vorige menu niet vernietigen. Een toepassing moet de CMenu::DestroyMenu lidfunctie aanroepen om deze taak uit te voeren.
Example
Zie het voorbeeld voor CMenu::LoadMenu.
CWnd::SetOwner
Hiermee stelt u de eigenaar van het huidige venster in op het opgegeven vensterobject.
void SetOwner(CWnd* pOwnerWnd);
Parameterwaarden
pOwnerWnd
Identificeert de nieuwe eigenaar van het vensterobject. Als deze parameter is, heeft NULLhet vensterobject geen eigenaar.
Opmerkingen
Deze eigenaar kan vervolgens opdrachtberichten ontvangen van het huidige vensterobject. Standaard is het bovenliggende element van het huidige venster de eigenaar.
Het is vaak handig om verbindingen tot stand te brengen tussen vensterobjecten die niet zijn gerelateerd aan de vensterhiërarchie. Verzendt bijvoorbeeld CToolBar meldingen naar de eigenaar in plaats van naar het bovenliggende item. Hierdoor kan de werkbalk het onderliggende element van één venster worden (zoals een OLE-containertoepassingsvenster) tijdens het verzenden van meldingen naar een ander venster (zoals het venster in-place frame). Bovendien, wanneer een servervenster wordt gedeactiveerd of geactiveerd tijdens het in-place bewerken, wordt een venster dat eigendom is van het framevenster verborgen of weergegeven. Dit eigendom wordt expliciet ingesteld met een aanroep naar SetOwner.
Het eigendomsconcept van deze functie verschilt van het eigendomsconcept van GetWindow.
CWnd::SetParent
Hiermee wijzigt u het bovenliggende venster van een onderliggend venster.
CWnd* SetParent(CWnd* pWndNewParent);
Parameterwaarden
pWndNewParent
Identificeert het nieuwe bovenliggende venster.
Retourwaarde
Een aanwijzer naar het vorige bovenliggende vensterobject als dit lukt. De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
Als het onderliggende venster zichtbaar is, voert Windows de juiste hertekening en herintekening uit.
CWnd::SetProperty
Roep deze lidfunctie aan om de ole-besturingselementeigenschap in te stellen die is opgegeven door dwDispID.
void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parameterwaarden
dwDispID
Identificeert de eigenschap die moet worden ingesteld.
vtProp
Hiermee geeft u het type van de eigenschap die moet worden ingesteld. Zie de sectie Opmerkingen voor mogelijke waarden voor COleDispatchDriver::InvokeHelper.
...
Eén parameter van het type dat is opgegeven door vtProp.
Opmerkingen
Opmerking
Deze functie mag alleen worden aangeroepen voor een CWnd object dat een OLE-besturingselement vertegenwoordigt.
Zie het artikel ActiveX Control Containers: ActiveX-besturingselementen programmeren in een ActiveX-besturingscontainer voor meer informatie over het gebruik van deze lidfunctie met OLE-besturingselementen.
CWnd::SetRedraw
Een toepassing roept SetRedraw aan om wijzigingen opnieuw te tekenen of om te voorkomen dat wijzigingen opnieuw worden getekend.
void SetRedraw(BOOL bRedraw = TRUE);
Parameterwaarden
bRedraw
Hiermee geeft u de status van de vlag voor opnieuw tekenen. Als deze parameter is TRUEingesteld, wordt de vlag voor opnieuw tekenen ingesteld. Als FALSE, wordt de vlag gewist.
Opmerkingen
Met deze lidfunctie wordt de vlag voor opnieuw tekenen ingesteld of gewist. Hoewel de vlag voor opnieuw tekenen is gewist, wordt de inhoud na elke wijziging niet bijgewerkt en wordt deze pas opnieuw geschilderd nadat de vlag voor opnieuw tekenen is ingesteld. Een toepassing die meerdere items aan een keuzelijst moet toevoegen, kan bijvoorbeeld de vlag voor opnieuw tekenen wissen, de items toevoegen en vervolgens de vlag voor opnieuw tekenen instellen. Ten slotte kan de toepassing de Invalidate functie of InvalidateRect lid aanroepen om ervoor te zorgen dat de keuzelijst opnieuw wordt geschilderd.
Example
// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing
//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode
//
// Update control
//
m_List.SetRedraw(TRUE); // turn drawing back on and update the window
// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();
CWnd::SetScrollInfo
Roep deze lidfunctie aan om de informatie in te stellen die door de SCROLLINFO structuur wordt onderhouden over een schuifbalk.
BOOL SetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parameterwaarden
nBar
Hiermee geeft u op of de schuifbalk een besturingselement of onderdeel is van het niet-clientgebied van een venster. Als het deel uitmaakt van het niet-clientgebied, geeft nBar ook aan of de schuifbalk horizontaal, verticaal of beide is geplaatst. Dit moet een van de volgende zijn:
SB_CTLBevat de parameters voor een besturingselement voor een schuifbalk. Hetm_hWndgegevenslid moet de greep van het besturingselement voor de schuifbalk zijn.SB_HORZHiermee geeft u op dat het venster een horizontale schuifbalk is.SB_VERTHiermee geeft u op dat het venster een verticale schuifbalk is.
lpScrollInfo
Een aanwijzer naar een SCROLLINFO structuur. Zie de Windows SDK voor meer informatie over deze structuur.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden getekend om de nieuwe positie weer te geven. Als bRedraw dat het is TRUE, wordt de schuifbalk opnieuw getekend. Als dit het is FALSE, wordt het niet opnieuw getekend. De schuifbalk wordt standaard opnieuw getekend.
Retourwaarde
Als het resultaat is geslaagd, is TRUEhet resultaat. Anders is FALSEhet .
Opmerkingen
De SCROLLINFO structuur bevat informatie over een schuifbalk, inclusief de minimale en maximale schuifposities, het paginaformaat en de positie van het schuifvak (de duim). Zie het SCROLLINFO structuuronderwerp in de Windows SDK voor meer informatie over het wijzigen van de standaardinstellingen voor de structuur.
De MFC Windows-berichthandlers die de positie van de schuifbalk CWnd::OnHScroll aangeven, en CWnd::OnVScrollbieden slechts 16 bits aan positiegegevens.
GetScrollInfo en SetScrollInfo geef 32 bits aan schuifbalkpositiegegevens op. Een toepassing kan dus aanroepen GetScrollInfo tijdens de verwerking CWnd::OnHScroll of CWnd::OnVScroll om gegevens over de 32-bits schuifbalkpositie te verkrijgen.
Opmerking
CWnd::GetScrollInfo hiermee kunnen toepassingen 32-bits schuifbalkposities gebruiken.
CWnd::SetScrollPos
Hiermee stelt u de huidige positie van een schuifvak in en tekent u de schuifbalk zo nodig opnieuw om de nieuwe positie van het schuifvak weer te geven.
int SetScrollPos(
int nBar,
int nPos,
BOOL bRedraw = TRUE);
Parameterwaarden
nBar
Hiermee geeft u de schuifbalk moet worden ingesteld. Deze parameter kan een van de volgende zijn:
SB_HORZHiermee stelt u de positie van het schuifvak in de horizontale schuifbalk van het venster in.SB_VERTHiermee stelt u de positie van het schuifvak in de verticale schuifbalk van het venster in.
nPos
Hiermee geeft u de nieuwe positie van het schuifvak. Deze moet binnen het schuifbereik vallen.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden geschilderd om de nieuwe positie van het schuifvak weer te geven. Als deze parameter is TRUE, wordt de schuifbalk opnieuw geschilderd. Als FALSEde schuifbalk niet opnieuw wordt geschilderd.
Retourwaarde
De vorige positie van het schuifvak.
Opmerkingen
Instelling bRedraw is FALSE handig wanneer de schuifbalk opnieuw wordt getekend door een volgende aanroep naar een andere functie.
CWnd::SetScrollRange
Hiermee stelt u de minimum- en maximumpositiewaarden voor de opgegeven schuifbalk in.
void SetScrollRange(
int nBar,
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parameterwaarden
nBar
Hiermee geeft u de schuifbalk moet worden ingesteld. Deze parameter kan een van de volgende waarden zijn:
SB_HORZHiermee stelt u het bereik van de horizontale schuifbalk van het venster in.SB_VERTHiermee stelt u het bereik van de verticale schuifbalk van het venster in.
nMinPos
Hiermee geeft u de minimale schuifpositie.
nMaxPos
Hiermee geeft u de maximale schuifpositie.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden getekend om de wijziging weer te geven. Als dat het isTRUE, wordt de schuifbalk opnieuw getekend. Als bRedrawFALSEde schuifbalk niet opnieuw wordt getekend.
Opmerkingen
Het kan ook worden gebruikt om standaard schuifbalken te verbergen of weer te geven.
Een toepassing mag deze functie niet aanroepen om een schuifbalk te verbergen tijdens het verwerken van een meldingsbericht op de schuifbalk.
Als de aanroep onmiddellijk SetScrollRange volgt op een aanroep van de SetScrollPos lidfunctie, moet de bRedraw parameter in de SetScrollPos lidfunctie 0 zijn om te voorkomen dat de schuifbalk tweemaal wordt getekend.
Het standaardbereik voor een standaard schuifbalk is 0 tot en met 100. Het standaardbereik voor een besturingselement voor een schuifbalk is leeg (zowel de waarden als de nMinPosnMaxPos waarden zijn 0). Het verschil tussen de waarden die zijn opgegeven door nMinPos en nMaxPos mag niet groter zijn dan INT_MAX.
CWnd::SetTimer
Hiermee wordt een systeemtimer geïnstalleerd.
UINT_PTR SetTimer(
UINT_PTR nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND,
UINT,
UINT_PTR,
DWORD));
Parameterwaarden
nIDEvent
Hiermee geeft u een niet-zero timer-id. Als de timer-id uniek is, wordt dezelfde waarde geretourneerd door SetTimer.
SetTimer Anders bepaalt u een nieuwe unieke waarde en retourneert dat. Voor een venstertimer (die een NULL callback-functie heeft), moet de waarde alleen uniek zijn voor andere venstertimers die zijn gekoppeld aan het huidige venster. Voor een callbacktimer moet de waarde uniek zijn voor alle timers in alle processen. Wanneer u een callbacktimer maakt, is het daarom waarschijnlijker dat de geretourneerde waarde verschilt van de waarde die u opgeeft.
nElapse
Hiermee geeft u de time-outwaarde of het interval in milliseconden op.
lpfnTimer
Hiermee geeft u het adres op van de door de toepassing geleverde TimerProc callback-functie die de WM_TIMER berichten verwerkt. Als deze parameter is NULL, worden de WM_TIMER berichten in de berichtenwachtrij van de toepassing geplaatst en verwerkt door het CWnd object.
Retourwaarde
De timer-id van de nieuwe timer als de functie is geslaagd. Deze waarde is mogelijk of niet gelijk aan de waarde die is doorgegeven via de nIDEvent parameter. Een toepassing moet altijd de retourwaarde doorgeven aan de KillTimer lidfunctie om de timer te beëindigen. Niet-nul indien geslaagd; anders, 0.
Opmerkingen
Er wordt een intervalwaarde opgegeven en telkens wanneer het interval is verstreken, plaatst het systeem een WM_TIMER bericht in de installatiewachtrij van de installatietoepassing of geeft het bericht door aan een door de toepassing gedefinieerde TimerProc callback-functie.
De lpfnTimer callback-functie hoeft geen naam TimerProcte krijgen, maar moet als statisch worden gedeclareerd en als volgt worden gedefinieerd.
void CALLBACK TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time);
Example
In dit voorbeeld worden berichten gebruikt CWnd::SetTimerCWnd::OnTimeren CWnd::KillTimer verwerktWM_TIMER. De eerste timer is ingesteld om elke 2 seconden in OnStartTimerhet hoofdframevenster een WM_TIMER bericht te verzenden. De OnTimer gebeurtenis-handler verwerkt WM_TIMER berichten voor het hoofdframevenster. Deze methode zorgt ervoor dat de pc-luidspreker elke 2 seconden piept. De tweede timer verzendt elke 3,75 seconden een bericht naar de callback-functie.
OnStopTimer stopt beide timers door voor elke timer-id aan te roepen CWnd::KillTimer .
void CMainFrame::OnStartTimer()
{
// This timer uses a WM_TIMER message, not a callback.
// Therefore, the timer is specific to this window.
// m_nWindowTimer is a UINT_PTR field.
m_nWindowTimer = SetTimer(1, 2000, NULL);
// For this demo, we specify an interval that won't overlap
// with the window timer.
m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);
// See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
CString str;
str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
TRACE(str);
#endif
}
void CALLBACK CMainFrame::MyTimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time
)
{
MessageBeep(0x00000030L); // Windows question sound.
}
void CMainFrame::OnStopTimer()
{
KillTimer(m_nWindowTimer);
KillTimer(m_nCallbackTimer);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
MessageBeep(0xFFFFFFFF); // Beep
// Call base class handler.
CMDIFrameWnd::OnTimer(nIDEvent);
}
CWnd::SetWindowContextHelpId
Roep deze lidfunctie aan om een Help-context-id te koppelen aan het opgegeven venster.
BOOL SetWindowContextHelpId(DWORD dwContextHelpId);
Parameterwaarden
dwContextHelpId
De Help-context-id.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Als een onderliggend venster geen Help-context-id heeft, wordt de id van het bovenliggende venster overgenomen. Als een venster in eigendom geen help-context-id heeft, neemt het ook de id van het venster eigenaar over. Door deze overname van help-context-id's kan een toepassing slechts één id instellen voor een dialoogvenster en alle besturingselementen.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);
CWnd::SetWindowPlacement
Hiermee stelt u de weergavestatus en de normale (herstelde), geminimaliseerde en gemaximaliseerde posities voor een venster in.
BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);
Parameterwaarden
lpwndpl
Verwijst naar een WINDOWPLACEMENT structuur die de nieuwe weergavestatus en -posities aangeeft.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
CWnd::SetWindowPos
Hiermee wijzigt u de grootte, positie en Z-volgorde van onderliggende, pop-upvensters en vensters op het hoogste niveau.
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags);
Parameterwaarden
pWndInsertAfter
Identificeert het CWnd object dat voorafgaat (hoger dan) dit CWnd object in de Z-volgorde. Deze parameter kan een aanwijzer naar een CWnd of een aanwijzer naar een van de volgende waarden zijn:
wndBottomHiermee plaatst u het venster onderaan de Z-order. Als ditCWndeen bovenste venster is, verliest het venster de bovenste status; het systeem plaatst het venster onderaan alle andere vensters.wndTopHiermee plaatst u het venster boven aan de Z-order.wndTopMostHiermee plaatst u het venster boven alle niet-bovenste vensters. Het venster behoudt de bovenste positie, zelfs wanneer het is gedeactiveerd.wndNoTopMostHiermee verplaatst u het venster naar de bovenkant van alle niet-bovenste vensters (dat wil gezegd, achter alle bovenste vensters). Deze vlag heeft geen effect als het venster al een niet-bovenste venster is.
Zie de sectie Opmerkingen van dit onderwerp voor regels over het gebruik van deze parameter.
x
Hiermee geeft u de nieuwe positie van de linkerkant van het venster.
y
Hiermee geeft u de nieuwe positie van de bovenkant van het venster.
cx
Hiermee geeft u de nieuwe breedte van het venster.
cy
Hiermee geeft u de nieuwe hoogte van het venster.
nFlags
Hiermee geeft u de grootte en plaatsingsopties. Deze parameter kan een combinatie zijn van de volgende vlaggen:
SWP_DRAWFRAMEHiermee tekent u een kader (gedefinieerd toen het venster werd gemaakt) rond het venster.SWP_FRAMECHANGEDHiermee wordt eenWM_NCCALCSIZEbericht naar het venster verzonden, zelfs als de grootte van het venster niet wordt gewijzigd. Als deze vlag niet is opgegeven,WM_NCCALCSIZEwordt alleen verzonden wanneer de grootte van het venster wordt gewijzigd.SWP_HIDEWINDOWHet venster wordt verborgen.SWP_NOACTIVATEHet venster wordt niet geactiveerd. Als deze vlag niet is ingesteld, wordt het venster geactiveerd en verplaatst naar de bovenkant van de bovenste of de niet-bovenste groep (afhankelijk van de instelling van depWndInsertAfterparameter).SWP_NOCOPYBITSHiermee wordt de volledige inhoud van het clientgebied verwijderd. Als deze vlag niet is opgegeven, wordt de geldige inhoud van het clientgebied opgeslagen en gekopieerd naar het clientgebied nadat het venster is aangepast of verplaatst.SWP_NOMOVEBehoudt de huidige positie (negeert dexenyparameters).SWP_NOOWNERZORDERWijzigt de positie van het eigenaarvenster niet in de Z-volgorde.SWP_NOREDRAWWijzigingen worden niet opnieuw getekend. Als deze vlag is ingesteld, gebeurt er geen andere soort. Dit geldt voor het clientgebied, het niet-clientgebied (inclusief de titel- en schuifbalken) en een deel van het bovenliggende venster dat is ontdekt als gevolg van het verplaatste venster. Wanneer deze vlag is ingesteld, moet de toepassing alle onderdelen van het venster en het bovenliggende venster die opnieuw moeten worden getekend, expliciet ongeldig maken of opnieuw tekenen.SWP_NOREPOSITIONHetzelfde alsSWP_NOOWNERZORDER.SWP_NOSENDCHANGINGHiermee voorkomt u dat het venster hetWM_WINDOWPOSCHANGINGbericht ontvangt.SWP_NOSIZEBehoudt de huidige grootte (negeert decxencyparameters).SWP_NOZORDERBehoudt de huidige volgorde (negeert).pWndInsertAfterSWP_SHOWWINDOWGeeft het venster weer.
Retourwaarde
Niet-nul als de functie is geslaagd; anders, 0.
Opmerkingen
Windows worden op het scherm geordend volgens hun Z-order; het venster boven aan de Z-volgorde wordt weergegeven boven op alle andere vensters in de volgorde.
Alle coördinaten voor onderliggende vensters zijn clientcoördinaten (ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster).
Een venster kan worden verplaatst naar de bovenkant van de Z-volgorde door de pWndInsertAfter parameter in te &wndTopMost stellen op en ervoor te zorgen dat de SWP_NOZORDER vlag niet is ingesteld of door de Z-volgorde van een venster in te stellen, zodat deze boven alle bestaande bovenste vensters staat. Wanneer een niet-bovenste venster bovenaan wordt gemaakt, worden de bijbehorende vensters ook op het hoogste punt gemaakt. De eigenaren worden niet gewijzigd.
Een bovenste venster is niet langer het hoogste als het wordt verplaatst naar de onderkant (&wndBottom) van de Z-volgorde of na een niet-bovenste venster. Wanneer een bovenste venster niet-bovenste wordt gemaakt, worden alle eigenaren en de bijbehorende vensters ook niet-bovenste vensters gemaakt.
Als noch noch SWP_NOACTIVATESWP_NOZORDER is opgegeven (dat wil gezegd, wanneer de toepassing vraagt dat een venster gelijktijdig wordt geactiveerd en in de opgegeven Z-volgorde wordt geplaatst), wordt de opgegeven pWndInsertAfter waarde alleen in de volgende omstandigheden gebruikt:
&wndNoTopMostNoch&wndTopMostis opgegeven in depWndInsertAfterparameter.Dit venster is niet het actieve venster.
Een toepassing kan een inactief venster niet activeren zonder deze boven aan de Z-order te plaatsen. Toepassingen kunnen de Z-volgorde van een geactiveerd venster zonder beperkingen wijzigen.
Een niet-bovenste venster kan eigenaar zijn van een bovenste venster, maar niet omgekeerd. Elk venster (bijvoorbeeld een dialoogvenster) dat eigendom is van een bovenste venster, wordt zelf een bovenste venster gemaakt om ervoor te zorgen dat alle vensters in eigendom boven hun eigenaar blijven.
Met Windows-versies 3.1 en hoger kunnen vensters naar de bovenkant van de Z-volgorde worden verplaatst en daar worden vergrendeld door hun WS_EX_TOPMOST stijlen in te stellen. Een dergelijk bovenste venster behoudt zijn bovenste positie, zelfs wanneer deze is gedeactiveerd. Als u bijvoorbeeld de opdracht WinHelp Always On Top selecteert, wordt het Help-venster het meest bovenaan weergegeven en blijft het zichtbaar wanneer u terugkeert naar uw toepassing.
Als u een bovenste venster wilt maken, roept SetWindowPos u de pWndInsertAfter parameter aan die gelijk is aan &wndTopMostof stelt u de WS_EX_TOPMOST stijl in wanneer u het venster maakt.
Als de Z-volgorde vensters met de WS_EX_TOPMOST stijl bevat, wordt een venster met de &wndTopMost waarde boven aan alle niet-bovenste vensters geplaatst, maar onder de bovenste vensters. Wanneer een toepassing een inactief venster zonder bit WS_EX_TOPMOST activeert, wordt het venster verplaatst boven alle niet-bovenste vensters, maar onder alle bovenste vensters.
Als SetWindowPos de pWndInsertAfter parameter &wndBottom wordt aangeroepen en CWnd een bovenste venster is, verliest het venster de bovenste status (WS_EX_TOPMOST wordt gewist) en wordt het venster onder aan de Z-volgorde geplaatst.
Example
void CMyApp::OnHideApplication()
{
//m_pMainWnd is the main application window, a member of CMyApp
ASSERT_VALID(m_pMainWnd);
// hide the application's windows before closing all the documents
m_pMainWnd->ShowWindow(SW_HIDE);
m_pMainWnd->ShowOwnedPopups(FALSE);
// put the window at the bottom of z-order, so it isn't activated
m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
CWnd::SetWindowRgn
Roep deze lidfunctie aan om de regio van een venster in te stellen.
int SetWindowRgn(
HRGN hRgn,
BOOL bRedraw);
Parameterwaarden
hRgn
Een ingang naar een regio.
bRedraw
Als TRUEhet besturingssysteem het venster opnieuw tekent na het instellen van de regio, anders niet. Stel dit meestal in bRedraw als TRUE het venster zichtbaar is. Als deze optie is ingesteld TRUE, verzendt het systeem de WM_WINDOWPOSCHANGING en WM_WINDOWPOSCHANGED berichten naar het venster.
Retourwaarde
Als de functie slaagt, is de retourwaarde niet-nul. Als de functie mislukt, is de retourwaarde nul.
Opmerkingen
De coördinaten van het venstergebied van een venster zijn relatief ten opzichte van de linkerbovenhoek van het venster, niet het clientgebied van het venster.
Na een geslaagde aanroep naar SetWindowRgn, is het besturingssysteem eigenaar van de regio die is opgegeven door de regio-ingang hRgn. Het besturingssysteem maakt geen kopie van de regio, dus maak geen verdere functie-aanroepen met deze regio-ingang en sluit deze regio-ingang niet.
CWnd::SetWindowText
Hiermee stelt u de titel van het venster in op de opgegeven tekst.
void SetWindowText(LPCTSTR lpszString);
Parameterwaarden
lpszString
Verwijst naar een CString object of null-beëindigde tekenreeks die moet worden gebruikt als de nieuwe titel of besturingselementtekst.
Opmerkingen
Als het venster een besturingselement is, wordt de tekst in het besturingselement ingesteld.
Deze functie zorgt ervoor dat een WM_SETTEXT bericht naar dit venster wordt verzonden.
Example
// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.
CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));
// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.
TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);
// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);
// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);
CWnd::ShowCaret
Toont de caret op het scherm op de huidige positie van de caret.
void ShowCaret();
Opmerkingen
Zodra de caret wordt weergegeven, knippert de caret automatisch.
De ShowCaret lidfunctie geeft de caret alleen weer als deze een huidige vorm heeft en niet twee of meer keer achter elkaar is verborgen. Als de caret niet eigendom is van dit venster, wordt de caret niet weergegeven.
Het verbergen van de caret is cumulatief. Als de HideCaret lidfunctie vijf keer achter elkaar is aangeroepen, ShowCaret moet u vijf keer worden aangeroepen om de caret weer te geven.
De caret is een gedeelde resource. Het venster moet de caret alleen weergeven wanneer het de invoerfocus heeft of actief is.
Example
Zie het voorbeeld voor CWnd::CreateCaret.
CWnd::ShowOwnedPopups
Hiermee worden alle pop-upvensters weergegeven of verborgen die eigendom zijn van dit venster.
void ShowOwnedPopups(BOOL bShow = TRUE);
Parameterwaarden
bShow
Hiermee geeft u op of pop-upvensters moeten worden weergegeven of verborgen. Als deze parameter is TRUE, worden alle verborgen pop-upvensters weergegeven. Als deze parameter is FALSE, zijn alle zichtbare pop-upvensters verborgen.
Example
Zie het voorbeeld voor CWnd::SetWindowPos.
CWnd::ShowScrollBar
Hiermee wordt een schuifbalk weergegeven of verborgen.
void ShowScrollBar(
UINT nBar,
BOOL bShow = TRUE);
Parameterwaarden
nBar
Hiermee geeft u op of de schuifbalk een besturingselement of onderdeel is van het niet-clientgebied van een venster. Als het deel uitmaakt van het niet-clientgebied, nBar geeft u ook aan of de schuifbalk horizontaal, verticaal of beide is geplaatst. Dit moet een van de volgende zijn:
SB_BOTHHiermee geeft u de horizontale en verticale schuifbalken van het venster.SB_HORZHiermee geeft u op dat het venster een horizontale schuifbalk is.SB_VERTHiermee geeft u op dat het venster een verticale schuifbalk is.
bShow
Hiermee geeft u op of windows de schuifbalk weergeeft of verbergt. Als deze parameter is TRUE, wordt de schuifbalk weergegeven; anders is de schuifbalk verborgen.
Opmerkingen
Een toepassing mag geen aanroepen ShowScrollBar om een schuifbalk te verbergen tijdens het verwerken van een meldingsbericht op de schuifbalk.
CWnd::ShowWindow
Hiermee stelt u de zichtbaarheidsstatus van het venster in.
BOOL ShowWindow(int nCmdShow);
Parameterwaarden
nCmdShow
Hiermee geeft u op hoe het CWnd moet worden weergegeven. Dit moet een van de volgende waarden zijn:
SW_HIDEVerbergt dit venster en geeft activering door aan een ander venster.SW_MINIMIZEMinimaliseert het venster en activeert het venster op het hoogste niveau in de lijst van het systeem.SW_RESTOREHet venster wordt geactiveerd en weergegeven. Als het venster is geminimaliseerd of gemaximaliseerd, herstelt Windows het naar de oorspronkelijke grootte en positie.SW_SHOWHiermee wordt het venster geactiveerd en weergegeven in de huidige grootte en positie.SW_SHOWMAXIMIZEDHet venster wordt geactiveerd en weergegeven als een gemaximaliseerd venster.SW_SHOWMINIMIZEDHiermee wordt het venster geactiveerd en weergegeven als pictogram.SW_SHOWMINNOACTIVEGeeft het venster weer als pictogram. Het venster dat momenteel actief is, blijft actief.SW_SHOWNAGeeft het venster weer in de huidige status. Het venster dat momenteel actief is, blijft actief.SW_SHOWNOACTIVATEGeeft het venster weer in de meest recente grootte en positie. Het venster dat momenteel actief is, blijft actief.SW_SHOWNORMALHet venster wordt geactiveerd en weergegeven. Als het venster is geminimaliseerd of gemaximaliseerd, herstelt Windows het naar de oorspronkelijke grootte en positie.
Retourwaarde
Niet-nul als het venster eerder zichtbaar was; 0 als de CWnd eerder verborgen was.
Opmerkingen
ShowWindow mag slechts eenmaal per toepassing worden aangeroepen voor het hoofdvenster met CWinApp::m_nCmdShow. Volgende aanroepen moeten ShowWindow een van de bovenstaande waarden gebruiken in plaats van de waarden die zijn opgegeven door CWinApp::m_nCmdShow.
Example
Zie het voorbeeld voor CWnd::CalcWindowRect.
CWnd::SubclassDlgItem
Roep deze lidfunctie aan om een besturingselement dat is gemaakt op basis van een dialoogvenstersjabloon dynamisch te subklassen aan te roepen en deze aan dit CWnd object toe te voegen.
BOOL SubclassDlgItem(
UINT nID,
CWnd* pParent);
Parameterwaarden
nID
De id van het besturingselement.
pParent
Het bovenliggende besturingselement (meestal een dialoogvenster).
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Wanneer een besturingselement dynamisch wordt gesubklasseerd, worden Windows-berichten eerst gerouteerd via de CWndberichtenkaart en oproepberichtenhandlers in de CWndklasse. Berichten die worden doorgegeven aan de basisklasse, worden doorgegeven aan de standaardberichthandler in het besturingselement.
Deze lidfunctie koppelt het Windows-besturingselement aan een CWnd object en vervangt de en AfxWndProc functies van WndProc het besturingselement. Met de functie wordt het oude WndProc opgeslagen op de locatie die wordt geretourneerd door de GetSuperWndProcAddr lidfunctie.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);
CWnd::SubclassWindow
Roep deze lidfunctie aan om een venster dynamisch te subklassen en deze aan dit CWnd object te koppelen.
BOOL SubclassWindow(HWND hWnd);
Parameterwaarden
hWnd
Een handgreep naar het venster.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Wanneer een venster dynamisch wordt gesubklasseerd, worden windows-berichten eerst gerouteerd via de CWndberichtenkaart en oproepberichtenhandlers in de CWndklasse. Berichten die worden doorgegeven aan de basisklasse, worden doorgegeven aan de standaardberichthandler in het venster.
Deze lidfunctie koppelt het Besturingselement Windows aan een CWnd object en vervangt de vensters WndProc en AfxWndProc functies. Met de functie wordt een aanwijzer opgeslagen naar het oude WndProc in het CWnd object.
Opmerking
Het venster mag niet al zijn gekoppeld aan een MFC-object wanneer deze functie wordt aangeroepen.
Example
// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_EDIT)
{
//Edit control
if (m_edit.GetSafeHwnd() == NULL)
m_edit.SubclassWindow(pWnd->GetSafeHwnd());
}
else if (nCtlColor == CTLCOLOR_LISTBOX)
{
//ListBox control
if (m_listbox.GetSafeHwnd() == NULL)
m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
}
HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
void CSuperComboBox::OnDestroy()
{
//unsubclass edit and list box before destruction
if (m_edit.GetSafeHwnd() != NULL)
m_edit.UnsubclassWindow();
if (m_listbox.GetSafeHwnd() != NULL)
m_listbox.UnsubclassWindow();
CComboBox::OnDestroy();
}
CWnd::UnlockWindowUpdate
Roep deze lidfunctie aan om een venster te ontgrendelen waarmee is vergrendeld CWnd::LockWindowUpdate.
void UnlockWindowUpdate();
Opmerkingen
Slechts één venster tegelijk kan worden vergrendeld met behulp van LockWindowUpdate. Zie CWnd::LockWindowUpdate of de Functie Win32 LockWindowUpdate voor meer informatie over het vergrendelen van vensters.
CWnd::UnsubclassWindow
Roep deze lidfunctie aan om de oorspronkelijke waarde ervan weer in te stellen WndProc en het venster dat is geïdentificeerd door HWND, los te koppelen van het CWnd object.
HWND UnsubclassWindow();
Retourwaarde
Een ingang naar het niet-geclassificeerde venster.
Example
Zie het voorbeeld voor CWnd::SubclassWindow.
CWnd::UpdateData
Roep deze lidfunctie aan om gegevens in een dialoogvenster te initialiseren of om dialoogvenstergegevens op te halen en te valideren.
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
Parameterwaarden
bSaveAndValidate
Vlag die aangeeft of het dialoogvenster wordt geïnitialiseerd (FALSE) of gegevens worden opgehaald (TRUE).
Retourwaarde
Niet-nul als de bewerking is geslaagd; anders 0. Als bSaveAndValidate dat het is TRUE, betekent een retourwaarde van nonzero dat de gegevens zijn gevalideerd.
Opmerkingen
Het framework roept UpdateData automatisch aan waarop bSaveAndValidate is ingesteld FALSE wanneer een modaal dialoogvenster wordt gemaakt in de standaard implementatie van CDialog::OnInitDialog. De aanroep vindt plaats voordat het dialoogvenster zichtbaar is. De standaard implementatie van het aanroepen van CDialog::OnOK deze lidfunctie is bSaveAndValidate ingesteld om de gegevens op te TRUE halen. Als dit lukt, wordt het dialoogvenster gesloten. (Als op de knop Annuleren wordt geklikt in het dialoogvenster, wordt het dialoogvenster gesloten zonder dat de gegevens worden opgehaald.)
CWnd::UpdateDialogControls
Roep deze lidfunctie aan om de status van dialoogvensterknoppen en andere besturingselementen bij te werken in een dialoogvenster of venster dat gebruikmaakt van het ON_UPDATE_COMMAND_UI callback-mechanisme.
void UpdateDialogControls(
CCmdTarget* pTarget,
BOOL bDisableIfNoHndler);
Parameterwaarden
pTarget
Verwijst naar het hoofdframevenster van de toepassing en wordt gebruikt voor het routeren van updateberichten.
bDisableIfNoHndler
Vlag die aangeeft of een besturingselement met geen updatehandler automatisch moet worden weergegeven als uitgeschakeld.
Opmerkingen
Als een onderliggend besturingselement geen handler heeft en bDisableIfNoHndler wel is TRUE, wordt het onderliggende besturingselement uitgeschakeld.
In het framework wordt deze lidfunctie aangeroepen voor besturingselementen in dialoogvensterbalken of werkbalken als onderdeel van de niet-actieve verwerking van de toepassing.
CWnd::UpdateLayeredWindow
Hiermee werkt u de positie, grootte, vorm, inhoud en doorzichtigheid van een gelaagd venster bij.
BOOL UpdateLayeredWindow(
CDC* pDCDst,
POINT* pptDst,
SIZE* psize,
CDC* pDCSrc,
POINT* pptSrc,
COLORREF crKey,
BLENDFUNCTION* pblend,
DWORD dwFlags);
Parameterwaarden
pDCDst
Een aanwijzer naar een apparaatcontext voor het scherm. Deze wordt gebruikt voor paletkleuren die overeenkomen wanneer de inhoud van het venster wordt bijgewerkt. Als pDCDst dat het is NULL, wordt het standaardpalet gebruikt.
Als pDCSrc dat het is NULL, pDCDst moet het zijn NULL.
pptDst
Een aanwijzer naar een POINT structuur die de nieuwe schermpositie van het gelaagde venster aangeeft. Als de huidige positie niet verandert, pptDst kan dit zijn NULL.
psize
Wijs een SIZE structuur aan die de nieuwe grootte van het gelaagde venster aangeeft. Als de grootte van het venster niet wordt gewijzigd, psize kan dit zijn NULL.
Als pDCSrc dat het is NULL, psize moet het zijn NULL.
pDCSrc
Een aanwijzer naar een DC voor het oppervlak dat het gelaagde venster definieert. Als de vorm- en visuele context van het venster niet worden gewijzigd, pDCSrc kan dit zijn NULL.
pptSrc
Aanwijzer naar een POINT structuur die de locatie van de laag in de apparaatcontext aangeeft.
Als pDCSrc dat het geval is NULL, pptSrc moet het zijn NULL.
crKey
Aanwijzer naar een COLORREF waarde die de doorzichtigheidskleursleutel aangeeft die moet worden gebruikt bij het opstellen van het gelaagde venster. Alle pixels die door het venster in deze kleur zijn geschilderd, zijn transparant. Als u een COLORREFwilt genereren, gebruikt u de RGB-macro.
pblend
Wijs een BLENDFUNCTION structuur aan die de doorzichtigheidswaarde aangeeft die moet worden gebruikt bij het opstellen van het gelaagde venster.
dwFlags
Hiermee geeft u een actie op die moet worden uitgevoerd. Deze parameter kan een of meer van de volgende waarden zijn. Zie voor een lijst met mogelijke waarden UpdateLayeredWindow.
Retourwaarde
Niet-nul als de functie slaagt; anders 0.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van de functie UpdateLayeredWindowgeëmuleren, zoals beschreven in de Windows SDK.
CWnd::UpdateWindow
Hiermee wordt het clientgebied bijgewerkt door een WM_PAINT bericht te verzenden als de updateregio niet leeg is.
void UpdateWindow();
Opmerkingen
De UpdateWindow lidfunctie verzendt een WM_PAINT bericht rechtstreeks, waardoor de toepassingswachtrij wordt overgeslagen. Als de updateregio leeg is, WM_PAINT wordt deze niet verzonden.
Example
// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated. It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.
void CMdiView::OnChangeRect()
{
// Change Rectangle size.
m_rcBox = CRect(20, 20, 210, 210);
// Invalidate window so entire client area
// is redrawn when UpdateWindow is called.
Invalidate();
// Update Window to cause View to redraw.
UpdateWindow();
}
// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
// Other draw code here.
pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}
CWnd::ValidateRect
Valideert het clientgebied binnen de opgegeven rechthoek door de rechthoek uit het updategebied van het venster te verwijderen.
void ValidateRect(LPCRECT lpRect);
Parameterwaarden
lpRect
Verwijst naar een CRect object of RECT structuur met clientcoördinaten van de rechthoek die moet worden verwijderd uit de updateregio. Als lpRect dat het NULLis, wordt het hele venster gevalideerd.
Opmerkingen
De BeginPaint lidfunctie valideert automatisch het gehele clientgebied.
ValidateRect De functie noch de ValidateRgn lidfunctie moet worden aangeroepen als een deel van de updateregio moet worden gevalideerd voordat WM_PAINT de volgende wordt gegenereerd.
Windows blijft berichten genereren WM_PAINT totdat de huidige updateregio is gevalideerd.
CWnd::ValidateRgn
Valideert het clientgebied binnen de opgegeven regio door de regio te verwijderen uit de huidige updateregio van het venster.
void ValidateRgn(CRgn* pRgn);
Parameterwaarden
pRgn
Een aanwijzer naar een CRgn object dat een regio identificeert waarmee het gebied wordt gedefinieerd dat uit de updateregio moet worden verwijderd. Als deze parameter is NULL, wordt het gehele clientgebied verwijderd.
Opmerkingen
De opgegeven regio moet eerder zijn gemaakt door een regiofunctie. De regiocoördinaten worden verondersteld clientcoördinaten te zijn.
De BeginPaint lidfunctie valideert automatisch het gehele clientgebied.
ValidateRect De functie noch de ValidateRgn lidfunctie moet worden aangeroepen als een deel van de updateregio moet worden gevalideerd voordat het volgende WM_PAINT bericht wordt gegenereerd.
CWnd::WindowFromPoint
Haalt het venster op dat het opgegeven punt bevat; point moet de schermcoördinaten van een punt op het scherm opgeven.
static CWnd* PASCAL WindowFromPoint(POINT point);
Parameterwaarden
point
Hiermee geeft u een CPoint object of POINT gegevensstructuur op waarmee het punt wordt gedefinieerd dat moet worden gecontroleerd.
Retourwaarde
Een aanwijzer naar het vensterobject waarin het punt ligt. Het is NULL als er op het opgegeven punt geen venster bestaat. De geretourneerde aanwijzer kan tijdelijk zijn en mag niet worden opgeslagen voor later gebruik.
Opmerkingen
WindowFromPoint haalt geen verborgen of uitgeschakeld venster op, zelfs niet als het punt zich in het venster bevindt. Een toepassing moet de ChildWindowFromPoint lidfunctie gebruiken voor een niet-complexe zoekopdracht.
CWnd::WindowProc
Biedt een Windows-procedure (WindowProc) voor een CWnd object.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
message
Hiermee geeft u het Windows-bericht dat moet worden verwerkt.
wParam
Bevat aanvullende informatie die wordt gebruikt bij het verwerken van het bericht. De parameterwaarde is afhankelijk van het bericht.
lParam
Bevat aanvullende informatie die wordt gebruikt bij het verwerken van het bericht. De parameterwaarde is afhankelijk van het bericht.
Retourwaarde
De retourwaarde is afhankelijk van het bericht.
Opmerkingen
Berichten worden verzonden via de berichtenkaart van het venster.
CWnd::WinHelp
Aangeroepen om de WinHelp-toepassing te initiëren.
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
Parameterwaarden
dwData
Hiermee geeft u aanvullende gegevens op. De gebruikte waarde is afhankelijk van de waarde van de nCmd parameter.
nCmd
Hiermee geeft u het type hulp aangevraagd. Zie de WinHelp Windows-functie in de Windows SDK voor een lijst met mogelijke waarden en hoe deze van invloed zijn op de dwData parameter.
Opmerkingen
Zie CWinApp::WinHelp voor meer informatie.
CWnd::RegisterTouchWindow
Registreert of de registratie van Windows Touch-ondersteuning ongedaan maken.
BOOL RegisterTouchWindow(
BOOL bRegister = TRUE,
ULONG ulFlags = 0);
Parameterwaarden
bRegister
TRUE geeft aan windows touch-ondersteuning te registreren; FALSE Anders.
ulFlags
Een set bitvlagmen die optionele wijzigingen opgeven. Dit veld kan 0 of een van de volgende waarden bevatten: TWF_FINETOUCH, TWF_WANTPALM.
Retourwaarde
TRUE indien geslaagd; anders FALSE.
Opmerkingen
CWnd::ResizeDynamicLayout
Aangeroepen door het framework wanneer de venstergrootte verandert om de indeling van onderliggende vensters aan te passen, als dynamische indeling is ingeschakeld voor het venster.
virtual void ResizeDynamicLayout();
Opmerkingen
Zie ook
CCmdTarget klasse
Hiërarchiegrafiek
CFrameWnd klasse
CView klasse