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.
Een krachtige basisklasse voor het ontwikkelen van OLE-besturingselementen.
Syntaxis
class COleControl : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
| COleControl::COleControl | Hiermee maakt u een COleControl object. |
Openbare methoden
| Naam | Description |
|---|---|
| COleControl::AmbientAppearance | Hiermee wordt het huidige uiterlijk van het besturingselement opgehaald. |
| COleControl::AmbientBackColor | Retourneert de waarde van de eigenschap BackColor in de omgeving. |
| COleControl::AmbientDisplayName | Retourneert de naam van het besturingselement zoals opgegeven door de container. |
| COleControl::AmbientFont | Retourneert de waarde van de eigenschap Ambient Font. |
| COleControl::AmbientForeColor | Retourneert de waarde van de eigenschap Ambient ForeColor. |
| COleControl::AmbientLocaleID | Retourneert de landinstellings-id van de container. |
| COleControl::AmbientScaleUnits | Retourneert het type eenheden dat door de container wordt gebruikt. |
| COleControl::AmbientShowGrabHandles | Bepaalt of greepgrepen moeten worden weergegeven. |
| COleControl::AmbientShowHatching | Bepaalt of het luik moet worden weergegeven. |
| COleControl::AmbientTextAlign | Retourneert het type tekstuitlijning dat is opgegeven door de container. |
| COleControl::AmbientUIDead | Bepaalt of het besturingselement moet reageren op acties van de gebruikersinterface. |
| COleControl::AmbientUserMode | Bepaalt de modus van de container. |
| COleControl::BoundPropertyChanged | Hiermee wordt de container aangegeven dat een afhankelijke eigenschap is gewijzigd. |
| COleControl::BoundPropertyRequestEdit | Vraagt toestemming om de eigenschapswaarde te bewerken. |
| COleControl::ClientToParent | Hiermee wordt een punt ten opzichte van de oorsprong van het besturingselement omgezet in een punt ten opzichte van de oorsprong van de container. |
| COleControl::ClipCaretRect | Hiermee past u een caretrechthoek aan als deze overlapt door een besturingselement. |
| COleControl::ControlInfoChanged | Roep deze functie aan nadat de set nemonics die door het besturingselement zijn verwerkt, is gewijzigd. |
| COleControl::D isplayError | Geeft stockfout gebeurtenissen weer voor de gebruiker van het besturingselement. |
| COleControl::D oClick | Implementatie van de voorraadmethode DoClick . |
| COleControl::D oPropExchange | Serialiseert de eigenschappen van een COleControl object. |
| COleControl::D oSuperclassPaint | Hiermee wordt een OLE-besturingselement opnieuw getekend dat is ingedeeld vanuit een Windows-besturingselement. |
| COleControl::EnableSimpleFrame | Hiermee schakelt u eenvoudige frameondersteuning voor een besturingselement in. |
| COleControl::ExchangeExtent | Serialiseert de breedte en hoogte van het besturingselement. |
| COleControl::ExchangeStockProps | Serialiseert de voorraadeigenschappen van het besturingselement. |
| COleControl::ExchangeVersion | Serialiseert het versienummer van het besturingselement. |
| COleControl::FireClick | Brandt de stock Click gebeurtenis. |
| COleControl::FireDblClick | Brandt de stock DblClick gebeurtenis. |
| COleControl::FireError | Brandt de stock Error gebeurtenis. |
| COleControl::FireEvent | Er wordt een aangepaste gebeurtenis geactiveerd. |
| COleControl::FireKeyDown | Brandt de stock KeyDown gebeurtenis. |
| COleControl::FireKeyPress | Brandt de stock KeyPress gebeurtenis. |
| COleControl::FireKeyUp | Brandt de stock KeyUp gebeurtenis. |
| COleControl::FireMouseDown | Brandt de stock MouseDown gebeurtenis. |
| COleControl::FireMouseMove | Brandt de stock MouseMove gebeurtenis. |
| COleControl::FireMouseUp | Brandt de stock MouseUp gebeurtenis. |
| COleControl::FireReadyStateChange | Hiermee wordt een gebeurtenis geactiveerd wanneer de status gereed van het besturingselement wordt gewijzigd. |
| COleControl::GetActivationPolicy | Hiermee wijzigt u het standaardactiveringsgedrag van een besturingselement dat ondersteuning biedt voor de IPointerInactive interface. |
| COleControl::GetAmbientProperty | Retourneert de waarde van de opgegeven omgevingseigenschap. |
| COleControl::GetAppearance | Retourneert de waarde van de eigenschap Vormgeving van aandelen. |
| COleControl::GetBackColor | Retourneert de waarde van de eigenschap BackColor van aandelen. |
| COleControl::GetBorderStyle | Retourneert de waarde van de eigenschap BorderStyle van stock. |
| COleControl::GetCapture | Bepaalt of een vensterloos, geactiveerd besturingsobject de muisopname heeft. |
| COleControl::GetClassID | Haalt de OLE-klasse-id van het besturingselement op. |
| COleControl::GetClientOffset | Hiermee haalt u het verschil op tussen de linkerbovenhoek van het rechthoekige gebied van het besturingselement en de linkerbovenhoek van het clientgebied. |
| COleControl::GetClientRect | Hiermee wordt de grootte van het clientgebied van het besturingselement opgehaald. |
| COleControl::GetClientSite | Hiermee wordt een query uitgevoerd op een object voor de aanwijzer naar de huidige clientsite binnen de container. |
| COleControl::GetControlFlags | Hiermee worden de instellingen van de besturingsvlag opgehaald. |
| COleControl::GetControlSize | Retourneert de positie en grootte van het OLE-besturingselement. |
| COleControl::GetDC | Biedt een middel voor een besturingselement zonder venster om een apparaatcontext op te halen uit de container. |
| COleControl::GetEnabled | Retourneert de waarde van de eigenschap Ingeschakeld aandelen. |
| COleControl::GetExtendedControl | Hiermee wordt een aanwijzer opgehaald naar een uitgebreid besturingselementobject dat deel uitmaakt van de container. |
| COleControl::GetFocus | Bepaalt of het besturingselement de focus heeft. |
| COleControl::GetFont | Retourneert de waarde van de eigenschap Lettertype voor aandelen. |
| COleControl::GetFontTextMetrics | Retourneert de metrische gegevens van een CFontHolder object. |
| COleControl::GetForeColor | Retourneert de waarde van de eigenschap ForeColor. |
| COleControl::GetHwnd | Retourneert de waarde van de eigenschap stock hWnd. |
| COleControl::GetMessageString | Bevat tekst op de statusbalk voor een menu-item. |
| COleControl::GetNotSupported | Hiermee voorkomt u dat de gebruiker toegang heeft tot de eigenschapswaarde van een besturingselement. |
| COleControl::GetReadyState | Retourneert de gereedheidsstatus van het besturingselement. |
| COleControl::GetRectInContainer | Retourneert de rechthoek van het besturingselement ten opzichte van de container. |
| COleControl::GetStockTextMetrics | Retourneert de metrische gegevens van de eigenschap Lettertype voor aandelen. |
| COleControl::GetText | Retourneert de waarde van de eigenschap Tekst of Bijschrift van aandelen. |
| COleControl::GetWindowlessDropTarget | Overschrijven om een vensterloze besturing toe te staan als doel van slepen en neerzetten. |
| COleControl::InitializeIID's | Informeert de basisklasse van de IID's die door het besturingselement worden gebruikt. |
| COleControl::InternalGetFont | Retourneert een CFontHolder object voor de eigenschap Lettertype voor voorraad. |
| COleControl::InternalGetText | Hiermee haalt u de eigenschap Stock Caption of Text op. |
| COleControl::InternalSetReadyState | Hiermee stelt u de gereedheidsstatus van het besturingselement in en wordt de gereedheidswijzigingsgebeurtenis geactiveerd. |
| COleControl::InvalidateControl | Hiermee wordt een gebied van het weergegeven besturingselement ongeldig, waardoor het opnieuw wordt getekend. |
| COleControl::InvalidateRgn | Ongeldig het clientgebied van het containervenster binnen de opgegeven regio. Kan worden gebruikt om vensterloze besturingselementen in de regio opnieuw te tekenen. |
| COleControl::IsConvertingVBX | Hiermee kunt u gespecialiseerd laden van een OLE-besturingselement. |
| COleControl::IsModified | Bepaalt of de controlestatus is gewijzigd. |
| COleControl::IsOptimizedDraw | Hiermee wordt aangegeven of de container geoptimaliseerde tekening ondersteunt voor de huidige tekenbewerking. |
| COleControl::IsSubclassedControl | Wordt aangeroepen om te bepalen of het besturingselement een Windows-besturingselement classificeert. |
| COleControl::Laden | Stelt eventuele eerdere asynchrone gegevens opnieuw in en start een nieuwe belasting van de asynchrone eigenschap van het besturingselement. |
| COleControl::LockInPlaceActive | Bepaalt of uw besturingselement door de container kan worden gedeactiveerd. |
| COleControl::OnAmbientPropertyChange | Wordt aangeroepen wanneer een omgevingseigenschap wordt gewijzigd. |
| COleControl::OnAppearanceChanged | Wordt aangeroepen wanneer de eigenschap Uiterlijk van aandelen wordt gewijzigd. |
| COleControl::OnBackColorChanged | Wordt aangeroepen wanneer de eigenschap BackColor van aandelen wordt gewijzigd. |
| COleControl::OnBorderStyleChanged | Wordt aangeroepen wanneer de eigenschap Stock BorderStyle wordt gewijzigd. |
| COleControl::OnClick | Wordt aangeroepen om de gebeurtenis Klik op voorraad te starten. |
| COleControl::OnClose | Hiermee wordt het besturingselement aangegeven dat IOleControl::Close is aangeroepen. |
| COleControl::OnDoVerb | Aangeroepen nadat een besturingswoord is uitgevoerd. |
| COleControl::OnDraw | Aangeroepen wanneer een besturingselement wordt gevraagd om zichzelf opnieuw te tekenen. |
| COleControl::OnDrawMetafile | Aangeroepen door de container wanneer een besturingselement wordt aangevraagd om zichzelf opnieuw te tekenen met behulp van een context van een metabestandapparaat. |
| COleControl::OnEdit | Aangeroepen door de container om een OLE-besturingselement te activeren. |
| COleControl::OnEnabledChanged | Wordt aangeroepen wanneer de eigenschap Ingeschakelde aandelen wordt gewijzigd. |
| COleControl::OnEnumVerbs | Aangeroepen door de container om de werkwoorden van een besturingselement op te sommen. |
| COleControl::OnEventAdvise | Wordt aangeroepen wanneer gebeurtenis-handlers zijn verbonden of losgekoppeld van een besturingselement. |
| COleControl::OnFontChanged | Aangeroepen wanneer de eigenschap Lettertype voor aandelen wordt gewijzigd. |
| COleControl::OnForeColorChanged | Wordt aangeroepen wanneer de eigenschap ForeColor van aandelen wordt gewijzigd. |
| COleControl::OnFreezeEvents | Wordt aangeroepen wanneer de gebeurtenissen van een besturingselement worden geblokkeerd of uitgeschakeld. |
| COleControl::OnGetColorSet | Hiermee wordt het besturingselement aangegeven dat IOleObject::GetColorSet is aangeroepen. |
| COleControl::OnGetControlInfo | Biedt nemonische informatie aan de container. |
| COleControl::OnGetDisplayString | Aangeroepen om een tekenreeks te verkrijgen die een eigenschapswaarde vertegenwoordigt. |
| COleControl::OnGetInPlaceMenu | Hiermee vraagt u de ingang van het menu van het besturingselement dat wordt samengevoegd met het containermenu. |
| COleControl::OnGetNaturalExtent | Overschrijven om de weergavegrootte van het besturingselement op te halen die het dichtst bij de voorgestelde grootte en omvangsmodus ligt. |
| COleControl::OnGetPredefinedStrings | Retourneert tekenreeksen die mogelijke waarden voor een eigenschap vertegenwoordigen. |
| COleControl::OnGetPredefinedValue | Retourneert de waarde die overeenkomt met een vooraf gedefinieerde tekenreeks. |
| COleControl::OnGetViewExtent | Overschrijven om de grootte van de weergavegebieden van het besturingselement op te halen (kan worden gebruikt om dubbeltekening in te schakelen). |
| COleControl::OnGetViewRect | Overschrijven om de grootte van het besturingselement te converteren naar een rechthoek vanaf een specifieke positie. |
| COleControl::OnGetViewStatus | Overschrijven om de weergavestatus van het besturingselement op te halen. |
| COleControl::OnHideToolBars | Aangeroepen door de container wanneer het besturingselement is gedeactiveerd. |
| COleControl::OnInactiveMouseMove | Overschrijven om de container voor het inactieve besturingselement onder de muis aanwijzer te verzenden WM_MOUSEMOVE berichten naar het besturingselement. |
| COleControl::OnInactiveSetCursor | Overschrijven om de container voor het inactieve besturingselement onder de muis aanwijzer te verzenden WM_SETCURSOR berichten naar het besturingselement. |
| COleControl::OnKeyDownevent | Aangeroepen nadat de keydown-gebeurtenis stock is geactiveerd. |
| COleControl::OnKeyPressevent | Gebeld nadat de stock KeyPress gebeurtenis is ontslagen. |
| COleControl::OnKeyUpevent | Aangeroepen nadat de keyup-gebeurtenis stock is geactiveerd. |
| COleControl::OnMapPropertyToPage | Geeft aan welke eigenschapspagina moet worden gebruikt voor het bewerken van een eigenschap. |
| COleControl::OnMnemonic | Wordt aangeroepen wanneer een nemonische sleutel van het besturingselement is ingedrukt. |
| COleControl::OnProperties | Aangeroepen wanneer het werkwoord 'Eigenschappen' van het besturingselement is aangeroepen. |
| COleControl::OnQueryHitPoint | Overschrijven om een query uit te voeren of de weergave van een besturingselement een bepaald punt overlapt. |
| COleControl::OnQueryHitRect | Overschrijven om een query uit te voeren of de weergave van een besturingselement elk punt in een bepaalde rechthoek overlapt. |
| COleControl::OnRenderData | Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling. |
| COleControl::OnRenderFileData | Aangeroepen door het framework om gegevens op te halen uit een bestand in de opgegeven indeling. |
| COleControl::OnRenderGlobalData | Aangeroepen door het framework om gegevens op te halen uit het globale geheugen in de opgegeven indeling. |
| COleControl::OnResetState | Stelt de eigenschappen van een besturingselement opnieuw in op de standaardwaarden. |
| COleControl::OnSetClientSite | Hiermee wordt het besturingselement aangegeven dat IOleControl::SetClientSite is aangeroepen. |
| COleControl::OnSetData | Vervangt de gegevens van het besturingselement door een andere waarde. |
| COleControl::OnSetExtent | Aangeroepen nadat de omvang van het besturingselement is gewijzigd. |
| COleControl::OnSetObjectrects | Aangeroepen nadat de afmetingen van het besturingselement zijn gewijzigd. |
| COleControl::OnShowToolBars | Aangeroepen wanneer het besturingselement is geactiveerd. |
| COleControl::OnTextChanged | Wordt aangeroepen wanneer de eigenschap Tekst of Bijschrift van aandelen wordt gewijzigd. |
| COleControl::OnWindowlessMessage | Hiermee worden vensterberichten (behalve muis- en toetsenbordberichten) verwerkt voor besturingselementen zonder venster. |
| COleControl::P arentToClient | Hiermee wordt een punt ten opzichte van de oorsprong van de container omgezet in een punt ten opzichte van de oorsprong van het besturingselement. |
| COleControl::P ostModalDialog | Hiermee wordt de container aangegeven dat een modaal dialoogvenster is gesloten. |
| COleControl::P reModalDialog | Hiermee wordt de container gewaarschuwd dat er een modaal dialoogvenster wordt weergegeven. |
| COleControl::RecreateControlWindow | Vernietigt en maakt het venster van het besturingselement opnieuw. |
| COleControl::Vernieuwen | Dwingt een repaint van het uiterlijk van een besturingselement af. |
| COleControl::ReleaseCapture | Brengt het vastleggen van de muis vrij. |
| COleControl::ReleaseDC | Hiermee wordt de weergaveapparaatcontext van een container van een vensterloos besturingselement vrijgegeven. |
| COleControl::ReparentControlWindow | Hiermee stelt u het bovenliggende besturingselementvenster opnieuw in. |
| COleControl::ResetStockProps | Initialiseert COleControl voorraadeigenschappen naar de standaardwaarden. |
| COleControl::ResetVersion | Initialiseert het versienummer naar een bepaalde waarde. |
| COleControl::ScrollWindow | Hiermee kan een vensterloos besturingselement een gebied binnen de in-place actieve afbeelding op de weergave schuiven. |
| COleControl::SelectFontObject | Hiermee selecteert u een aangepaste eigenschap Lettertype in een apparaatcontext. |
| COleControl::SelectStockFont | Hiermee selecteert u de eigenschap Lettertype voor aandelen in een apparaatcontext. |
| COleControl::SerializeExtent | Serialiseert of initialiseert de weergaveruimte voor het besturingselement. |
| COleControl::SerializeStockProps | Serialiseert of initialiseert de COleControl voorraadeigenschappen. |
| COleControl::SerializeVersion | Serialiseert of initialiseert de versiegegevens van het besturingselement. |
| COleControl::SetAppearance | Hiermee stelt u de waarde van de eigenschap Weergave van aandelen in. |
| COleControl::SetBackColor | Hiermee stelt u de waarde van de eigenschap BackColor van aandelen in. |
| COleControl::SetBorderStyle | Hiermee stelt u de waarde van de eigenschap Stock BorderStyle in. |
| COleControl::SetCapture | Zorgt ervoor dat het containervenster van het besturingselement namens het besturingselement de muisopname in bezit neemt. |
| COleControl::SetControlSize | Hiermee stelt u de positie en grootte van het OLE-besturingselement in. |
| COleControl::SetEnabled | Hiermee stelt u de waarde van de eigenschap Ingeschakeld aandelen in. |
| COleControl::SetFocus | Zorgt ervoor dat het containervenster van het besturingselement de invoerfocus namens het besturingselement in bezit krijgt. |
| COleControl::SetFont | Hiermee stelt u de waarde van de eigenschap Lettertype voor aandelen in. |
| COleControl::SetForeColor | Hiermee stelt u de waarde van de eigenschap ForeColor voor aandelen in. |
| COleControl::SetInitialSize | Hiermee stelt u de grootte van een OLE-besturingselement in wanneer deze voor het eerst in een container wordt weergegeven. |
| COleControl::SetModifiedFlag | Hiermee wijzigt u de gewijzigde status van een besturingselement. |
| COleControl::SetNotPermitted | Geeft aan dat een bewerkingsaanvraag is mislukt. |
| COleControl::SetNotSupported | Hiermee voorkomt u dat de eigenschapswaarde van een besturingselement door de gebruiker wordt gewijzigd. |
| COleControl::SetRectInContainer | Hiermee stelt u de rechthoek van het besturingselement in ten opzichte van de container. |
| COleControl::SetText | Hiermee stelt u de waarde van de eigenschap Tekst of Bijschrift van aandelen in. |
| COleControl::ThrowError | Signalen dat er een fout is opgetreden in een OLE-besturingselement. |
| COleControl::TransformCoords | Hiermee worden waarden tussen een container en het besturingselement getransformeerd. |
| COleControl::TranslateColor | Converteert een OLE_COLOR waarde naar een COLORREF-waarde. |
| COleControl::WillAmbientsBeValidDuringLoad | Bepaalt of omgevingseigenschappen beschikbaar zijn wanneer het besturingselement de volgende keer wordt geladen. |
| COleControl::WindowProc | Biedt een Windows-procedure voor een COleControl object. |
Beveiligde methoden
| Naam | Description |
|---|---|
| COleControl::D rawContent | Aangeroepen door het framework wanneer het uiterlijk van het besturingselement moet worden bijgewerkt. |
| COleControl::D rawMetafile | Aangeroepen door het framework wanneer de context van het metabestandapparaat wordt gebruikt. |
| COleControl::IsInvokeAllowed | Hiermee schakelt u aanroepen van automatiseringsmethode in. |
| COleControl::SetInitialDataFormats | Aangeroepen door het framework om de lijst met gegevensindelingen te initialiseren die door het besturingselement worden ondersteund. |
Opmerkingen
Afgeleid van CWnd, neemt deze klasse alle functionaliteit van een Windows-vensterobject over en extra functionaliteit die specifiek is voor OLE, zoals het activeren van gebeurtenissen en de mogelijkheid om methoden en eigenschappen te ondersteunen.
OLE-besturingselementen kunnen worden ingevoegd in OLE-containertoepassingen en communiceren met de container met behulp van een tweerichtingssysteem van het activeren van gebeurtenissen en het beschikbaar maken van methoden en eigenschappen voor de container. Houd er rekening mee dat standaard OLE-containers alleen de basisfunctionaliteit van een OLE-besturingselement ondersteunen. Ze kunnen geen uitgebreide functies van een OLE-besturingselement ondersteunen. Gebeurtenis wordt geactiveerd wanneer gebeurtenissen naar de container worden verzonden als gevolg van bepaalde acties die plaatsvinden in het besturingselement. Op zijn beurt communiceert de container met het besturingselement met behulp van een blootgestelde set methoden en eigenschappen die vergelijkbaar zijn met de lidfuncties en gegevensleden van een C++-klasse. Met deze methode kan de ontwikkelaar het uiterlijk van het besturingselement beheren en de container waarschuwen wanneer bepaalde acties plaatsvinden.
Besturingselementen zonder venster
OLE-besturingselementen kunnen in-place actief worden gebruikt zonder venster. Besturingselementen zonder venster hebben aanzienlijke voordelen:
Vensterloze besturingselementen kunnen transparant en niet-rechthoekig zijn
Vensterloze besturingselementen verminderen de instantiegrootte en de aanmaaktijd van het object
Besturingselementen hebben geen venster nodig. Services die een venster biedt, kunnen eenvoudig worden aangeboden via één gedeeld venster (meestal de container) en een beetje verzendcode. Het hebben van een venster is meestal een onnodige complicatie op het object.
Wanneer vensterloze activering wordt gebruikt, is de container (die wel een venster heeft) verantwoordelijk voor het leveren van services die anders zouden zijn geleverd door het eigen venster van het besturingselement. Als uw besturingselement bijvoorbeeld een query moet uitvoeren op de toetsenbordfocus, de muisopname moet opvragen of een apparaatcontext moet verkrijgen, worden deze bewerkingen beheerd door de container. De COleControl lidfuncties voor vensterloze bewerkingen roepen deze bewerkingen op de container aan.
Wanneer vensterloze activering is ingeschakeld, de container delegeert invoerberichten naar de interface van het besturingselement IOleInPlaceObjectWindowless (een uitbreiding van IOleInPlaceObject voor ondersteuning zonder venster).
COleControlDe implementatie van deze interface verzendt deze berichten via de berichtenkaart van uw besturingselement, nadat de muiscoördinaten op de juiste wijze zijn aangepast. U kunt deze berichten, zoals gewone vensterberichten, verwerken door de bijbehorende vermeldingen toe te voegen aan de berichttoewijzing.
In een vensterloos besturingselement moet u altijd de COleControl lidfuncties gebruiken in plaats van de bijbehorende CWnd lidfuncties of de bijbehorende Windows API-functies.
OLE-besturingsobjecten kunnen ook alleen een venster maken wanneer ze actief worden, maar de hoeveelheid werk die nodig is voor de inactieve-actieve overgang gaat omhoog en de snelheid van de overgang afneemt. Er zijn gevallen waarin dit een probleem is: als voorbeeld kunt u een raster met tekstvakken overwegen. Wanneer u de cursor omhoog en omlaag door de kolom plaatst, moet elk besturingselement zijn geactiveerd en vervolgens gedeactiveerd. De snelheid van de inactieve/actieve overgang heeft rechtstreeks invloed op de schuifsnelheid.
Zie de artikelen MFC ActiveX Controls and Overview: Creating an MFC ActiveX Control Program (Een MFC ActiveX Control Program maken) voor meer informatie over het ontwikkelen van een OLE-besturingsframework. Zie MFC ActiveX-besturingselementen: Optimalisatie voor informatie over het optimaliseren van OLE-besturingselementen, waaronder vensterloze en flikkerloze besturingselementen.
Overnamehiërarchie
COleControl
Requirements
Koptekst: afxctl.h
COleControl::AmbientBackColor
Retourneert de waarde van de eigenschap BackColor in de omgeving.
OLE_COLOR AmbientBackColor();
Retourwaarde
De huidige waarde van de omgevingseigenschap BackColor van de container, indien van toepassing. Als de eigenschap niet wordt ondersteund, retourneert deze functie de door het systeem gedefinieerde Windows-achtergrondkleur.
Opmerkingen
De eigenschap ambient BackColor is beschikbaar voor alle besturingselementen en wordt gedefinieerd door de container. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientDisplayName
De naam die de container aan het besturingselement heeft toegewezen, kan worden gebruikt in foutberichten die aan de gebruiker worden weergegeven.
CString AmbientDisplayName();
Retourwaarde
De naam van het OLE-besturingselement. De standaardwaarde is een tekenreeks met lengte nul.
Opmerkingen
Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientFont
Retourneert de waarde van de eigenschap Ambient Font.
LPFONTDISP AmbientFont();
Retourwaarde
Een aanwijzer naar de omgevingsinterface voor lettertype-dispatching van de container. De standaardwaarde is NULL. Als de retour niet gelijk is aan NULL, bent u verantwoordelijk voor het vrijgeven van het lettertype door de IUnknown::Release-lidfunctie aan te roepen.
Opmerkingen
De eigenschap Ambient Font wordt gedefinieerd door de container en is beschikbaar voor alle besturingselementen. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientForeColor
Retourneert de waarde van de eigenschap Ambient ForeColor.
OLE_COLOR AmbientForeColor();
Retourwaarde
De huidige waarde van de omgevingseigenschap ForeColor van de container, indien van toepassing. Als deze functie niet wordt ondersteund, wordt de door het systeem gedefinieerde Tekstkleur van Windows geretourneerd.
Opmerkingen
De omgevingseigenschap ForeColor is beschikbaar voor alle besturingselementen en wordt gedefinieerd door de container. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientLocaleID
Retourneert de landinstellings-id van de container.
LCID AmbientLocaleID();
Retourwaarde
De waarde van de localeID-eigenschap van de container, indien van toepassing. Als deze eigenschap niet wordt ondersteund, retourneert deze functie 0.
Opmerkingen
Het besturingselement kan de LocaleID gebruiken om de gebruikersinterface voor specifieke landinstellingen aan te passen. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientAppearance
Hiermee haalt u de huidige weergave-instelling voor het besturingsobject op.
short AmbientAppearance();
Retourwaarde
Het uiterlijk van het besturingselement:
0 Vlak uiterlijk
1 3D uiterlijk
Opmerkingen
Roep deze functie aan om de huidige waarde van de eigenschap DISPID_AMBIENT_APPEARANCE voor het besturingselement op te halen.
COleControl::AmbientScaleUnits
Retourneert het type eenheden dat door de container wordt gebruikt.
CString AmbientScaleUnits();
Retourwaarde
Een tekenreeks met de omgevingsschaaleenheden van de container. Als deze eigenschap niet wordt ondersteund, retourneert deze functie een tekenreeks met lengte nul.
Opmerkingen
De eigenschap ambient ScaleUnits van de container kan worden gebruikt om posities of afmetingen weer te geven, gelabeld met de gekozen eenheid, zoals twips of centimeters. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientShowGrabHandles
Bepaalt of de container het besturingselement toestaat om greepgrepen voor zichzelf weer te geven wanneer deze actief is.
BOOL AmbientShowGrabHandles();
Retourwaarde
Nonzero als greepgrepen moeten worden weergegeven; anders 0. Als deze eigenschap niet wordt ondersteund, retourneert deze functie niet-nul.
Opmerkingen
Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientShowHatching
Bepaalt of de container het besturingselement toestaat zichzelf weer te geven met een uitgebroed patroon wanneer de gebruikersinterface actief is.
BOOL AmbientShowHatching();
Retourwaarde
Niet-nul als het uitgebroed patroon moet worden weergegeven; anders 0. Als deze eigenschap niet wordt ondersteund, retourneert deze functie niet-nul.
Opmerkingen
Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientTextAlign
Bepaalt de omgevingstekstuitlijning die de voorkeur heeft gegeven door de besturingscontainer.
short AmbientTextAlign();
Retourwaarde
De status van de omgevingseigenschap TextAlign van de container. Als deze eigenschap niet wordt ondersteund, retourneert deze functie 0.
Hier volgt een lijst met geldige retourwaarden:
| Retourwaarde | Meaning |
|---|---|
| 0 | Algemene uitlijning (getallen rechts, tekst links). |
| 1 | Links uitvullen |
| 2 | Middelpunt |
| 3 | Rechts uitvullen |
Opmerkingen
Deze eigenschap is beschikbaar voor alle ingesloten besturingselementen en wordt gedefinieerd door de container. Houd er rekening mee dat de container niet vereist is om deze eigenschap te ondersteunen.
COleControl::AmbientUIDead
Bepaalt of de container wil dat het besturingselement reageert op acties van de gebruikersinterface.
BOOL AmbientUIDead();
Retourwaarde
Niet-nul als het besturingselement moet reageren op acties van de gebruikersinterface; anders 0. Als deze eigenschap niet wordt ondersteund, retourneert deze functie 0.
Opmerkingen
Een container kan dit bijvoorbeeld instellen op TRUE in de ontwerpmodus.
COleControl::AmbientUserMode
Bepaalt of de container zich in de ontwerpmodus of gebruikersmodus bevindt.
BOOL AmbientUserMode();
Retourwaarde
Niet-zero als de container zich in de gebruikersmodus bevindt; anders 0 (in de ontwerpmodus). Als deze eigenschap niet wordt ondersteund, retourneert deze functie TRUE.
Opmerkingen
Een container kan dit bijvoorbeeld instellen op FALSE in de ontwerpmodus.
COleControl::BoundPropertyChanged
Geeft aan dat de waarde van de afhankelijke eigenschap is gewijzigd.
void BoundPropertyChanged(DISPID dispid);
Parameterwaarden
ontspied
De verzend-id van een afhankelijke eigenschap van het besturingselement.
Opmerkingen
Dit moet worden aangeroepen telkens wanneer de waarde van de eigenschap verandert, zelfs in gevallen waarin de wijziging niet is aangebracht via de eigenschapssetmethode. Wees vooral op de hoogte van afhankelijke eigenschappen die zijn toegewezen aan lidvariabelen. Telkens wanneer een dergelijke lidvariabele wordt gewijzigd, BoundPropertyChanged moet deze worden aangeroepen.
COleControl::BoundPropertyRequestEdit
Vraagt toestemming van de IPropertyNotifySink interface om een afhankelijke eigenschapswaarde te wijzigen die wordt geleverd door het besturingselement.
BOOL BoundPropertyRequestEdit(DISPID dispid);
Parameterwaarden
ontspied
De verzend-id van een afhankelijke eigenschap van het besturingselement.
Retourwaarde
Niet-nul als de wijziging is toegestaan; anders 0. De standaardwaarde is niet-nul.
Opmerkingen
Als de machtiging wordt geweigerd, mag het besturingselement de waarde van de eigenschap niet wijzigen. U kunt dit doen door de actie te negeren of te mislukken die de eigenschapswaarde heeft gewijzigd.
COleControl::ClientToParent
Hiermee worden de coördinaten van pPoint omgezet in bovenliggende coördinaten.
virtual void ClientToParent(
LPCRECT lprcBounds,
LPPOINT pPoint) const;
Parameterwaarden
lprcBounds
Wijs de grenzen van het OLE-besturingselement binnen de container aan. Niet het clientgebied, maar het gebied van het hele besturingselement, inclusief randen en schuifbalken.
pPoint
Aanwijzer naar het OLE-clientgebiedpunt dat moet worden omgezet in de coördinaten van het bovenliggende element (container).
Opmerkingen
Bij invoer pPoint is relatief ten opzichte van de oorsprong van het clientgebied van het OLE-besturingselement (linkerbovenhoek van het clientgebied van het besturingselement). Bij uitvoer pPoint is relatief ten opzichte van de oorsprong van het bovenliggende item (linkerbovenhoek van de container).
COleControl::ClipCaretRect
Hiermee past u een caretrechthoek aan als deze volledig of gedeeltelijk wordt bedekt door overlappende, ondoorzichtige objecten.
BOOL ClipCaretRect(LPRECT lpRect);
Parameterwaarden
lpRect
Bij invoer wijst u een aanwijzer naar een RECT-structuur die het caretgebied bevat dat moet worden aangepast. Bij uitvoer wordt het aangepaste caretgebied of NULL weergegeven als de rechthoek voor de caret volledig is bedekt.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een caret is een knipperende lijn, blok of bitmap die meestal aangeeft waar tekst of afbeeldingen worden ingevoegd.
Een vensterloos object kan een caret niet veilig weergeven zonder eerst te controleren of de caret gedeeltelijk of volledig is verborgen door overlappende objecten. Om dat mogelijk te maken, kan een object worden gebruikt ClipCaretRect om de caret aan te passen (verminderd) om ervoor te zorgen dat het in het knipgebied past.
Objecten die een caret maken, moeten de caretrechthoek verzenden naar ClipCaretRect en de aangepaste rechthoek voor de caret gebruiken. Als de caret volledig verborgen is, retourneert deze methode FALSE en mag de caret helemaal niet worden weergegeven in dit geval.
COleControl::COleControl
Maakt een COleControl object.
COleControl();
Opmerkingen
Deze functie wordt normaal gesproken niet rechtstreeks aangeroepen. In plaats daarvan wordt het OLE-besturingselement meestal gemaakt door de klassefactory.
COleControl::ControlInfoChanged
Roep deze functie aan wanneer de set nemonics die door het besturingselement worden ondersteund, is gewijzigd.
void ControlInfoChanged();
Opmerkingen
Na ontvangst van deze melding verkrijgt de container van het besturingselement de nieuwe set mnemonics door een aanroep naar IOleControl::GetControlInfo uit te voeren. Houd er rekening mee dat de container niet is vereist om op deze melding te reageren.
COleControl::D isplayError
Aangeroepen door het framework nadat de gebeurtenis Fout op voorraad is verwerkt (tenzij de gebeurtenis-handler de weergave van de fout heeft onderdrukt).
virtual void DisplayError(
SCODE scode,
LPCTSTR lpszDescription,
LPCTSTR lpszSource,
LPCTSTR lpszHelpFile,
UINT nHelpID);
Parameterwaarden
scode
De waarde van de statuscode die moet worden gerapporteerd. Zie het artikel ActiveX-besturingselementen: Geavanceerde onderwerpen voor een volledige lijst met mogelijke codes.
lpszDescription
De beschrijving van de fout die wordt gerapporteerd.
lpszSource
De naam van de module die de fout genereert (meestal de naam van de OLE-besturingsmodule).
lpszHelpFile
De naam van het Help-bestand met een beschrijving van de fout.
nHelpID
De Help-context-id van de fout die wordt gerapporteerd.
Opmerkingen
Het standaardgedrag geeft een berichtvak weer met de beschrijving van de fout, opgenomen in lpszDescription.
Overschrijf deze functie om aan te passen hoe fouten worden weergegeven.
COleControl::D oClick
Simuleert een muisklikactie op het besturingselement.
void DoClick();
Opmerkingen
De overschrijfbare COleControl::OnClick lidfunctie wordt aangeroepen en er wordt een gebeurtenis voor het klikken op voorraad geactiveerd, indien ondersteund door het besturingselement.
Deze functie wordt ondersteund door de COleControl basisklasse als een aandelenmethode, genaamd DoClick. Zie het artikel ActiveX-besturingselementen: Methoden voor meer informatie.
COleControl::D oPropExchange
Aangeroepen door het framework bij het laden of opslaan van een besturingselement vanuit een permanente opslagweergave, zoals een stroom of set eigenschappen.
virtual void DoPropExchange(CPropExchange* pPX);
Parameterwaarden
pPX
Een aanwijzer naar een CPropExchange object. Het framework voorziet dit object in het vaststellen van de context van de uitwisseling van eigenschappen, met inbegrip van de richting.
Opmerkingen
Deze functie roept normaal gesproken de PX_ familie van functies aan om specifieke door de gebruiker gedefinieerde eigenschappen van een OLE-besturingselement te laden of op te slaan.
Als de wizard Besturingselementen is gebruikt om het OLE-besturingsproject te maken, wordt de overschreven versie van deze functie geserialiseerd met de voorraadeigenschappen die worden ondersteund door COleControl een aanroep van de basisklassefunctie. COleControl::DoPropExchange Wanneer u door de gebruiker gedefinieerde eigenschappen toevoegt aan uw OLE-besturingselement, moet u deze functie wijzigen om uw nieuwe eigenschappen te serialiseren. Zie het artikel ActiveX-besturingselementen: Serialiseren voor meer informatie over serialisatie.
COleControl::D oSuperclassPaint
Hiermee wordt een OLE-besturingselement opnieuw getekend dat is ingedeeld vanuit een Windows-besturingselement.
void DoSuperclassPaint(
CDC* pDC,
const CRect& rcBounds);
Parameterwaarden
Pdc
Een aanwijzer naar de apparaatcontext van de besturingscontainer.
rcBounds
Het gebied waarin de controle moet worden getrokken.
Opmerkingen
Roep deze functie aan om het schilderij van een niet-actief OLE-besturingselement goed te verwerken. Deze functie mag alleen worden gebruikt als het OLE-besturingselement een Windows-besturingselement classificeert en moet worden aangeroepen in de OnDraw functie van uw besturingselement.
Zie het artikel ActiveX-besturingselementen: Een Windows-besturingselement subklasseren voor meer informatie over deze functie en subklassen van een Windows-besturingselement.
COleControl::D rawContent
Aangeroepen door het framework wanneer het uiterlijk van het besturingselement moet worden bijgewerkt.
void DrawContent(
CDC* pDC,
CRect& rc);
Parameterwaarden
Pdc
Aanwijzer naar de apparaatcontext.
Rc
Rechthoekig gebied waarin moet worden getekend.
Opmerkingen
Met deze functie wordt de overschrijfbare functie rechtstreeks aangeroepen OnDraw .
COleControl::D rawMetafile
Aangeroepen door het framework wanneer de context van het metabestandapparaat wordt gebruikt.
void DrawMetafile(
CDC* pDC,
CRect& rc);
Parameterwaarden
Pdc
Aanwijzer naar de context van het metabestandapparaat.
Rc
Rechthoekig gebied waarin moet worden getekend.
COleControl::EnableSimpleFrame
Hiermee schakelt u het eenvoudige framekenmerk voor een OLE-besturingselement in.
void EnableSimpleFrame();
Opmerkingen
Met dit kenmerk kan een besturingselement ondersteuning bieden voor visuele insluiting van andere besturingselementen, maar niet voor echte OLE-insluiting. Een voorbeeld hiervan is een groepsvak met verschillende besturingselementen erin. Deze besturingselementen zijn niet ole-ingesloten, maar bevinden zich in hetzelfde groepsvak.
COleControl::ExchangeExtent
Serialiseert of initialiseert de status van de omvang van het besturingselement (de afmetingen in HIMETRIC-eenheden).
BOOL ExchangeExtent(CPropExchange* pPX);
Parameterwaarden
pPX
Een aanwijzer naar een CPropExchange-object . Het framework voorziet dit object in het vaststellen van de context van de uitwisseling van eigenschappen, met inbegrip van de richting.
Retourwaarde
Niet-nul als de functie is geslaagd; 0 anders.
Opmerkingen
Deze functie wordt normaal gesproken aangeroepen door de standaard implementatie van COleControl::DoPropExchange.
COleControl::ExchangeStockProps
Serialiseert of initialiseert de status van de voorraadeigenschappen van het besturingselement.
void ExchangeStockProps(CPropExchange* pPX);
Parameterwaarden
pPX
Een aanwijzer naar een CPropExchange-object . Het framework voorziet dit object in het vaststellen van de context van de uitwisseling van eigenschappen, met inbegrip van de richting.
Opmerkingen
Deze functie wordt normaal gesproken aangeroepen door de standaard implementatie van COleControl::DoPropExchange.
COleControl::ExchangeVersion
Serialiseert of initialiseert de status van de versiegegevens van een besturingselement.
BOOL ExchangeVersion(
CPropExchange* pPX,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parameterwaarden
pPX
Een aanwijzer naar een CPropExchange object. Het framework voorziet dit object in het vaststellen van de context van de uitwisseling van eigenschappen, met inbegrip van de richting.
dwVersionDefault
Het huidige versienummer van het besturingselement.
bConvert
Geeft aan of permanente gegevens moeten worden geconverteerd naar de nieuwste indeling wanneer ze worden opgeslagen of onderhouden in dezelfde indeling die is geladen.
Retourwaarde
Niet-nul van de functie geslaagd; 0 anders.
Opmerkingen
Dit is doorgaans de eerste functie die wordt aangeroepen door de onderdrukking van COleControl::DoPropExchangeeen besturingselement. Bij het laden leest deze functie het versienummer van de permanente gegevens en stelt u het versiekenmerk van het CPropExchange-object dienovereenkomstig in. Bij het opslaan schrijft deze functie het versienummer van de permanente gegevens.
Zie het artikel ActiveX-besturingselementen: Serialiseren voor meer informatie over persistentie en versiebeheer.
COleControl::FireClick
Aangeroepen door het framework wanneer de muis op een actief besturingselement wordt geklikt.
void FireClick();
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een Klik-gebeurtenis die moet plaatsvinden, moet op het gebeurtenisoverzicht van het besturingselement een gebeurtenis voor klikken op voorraad zijn gedefinieerd.
COleControl::FireDblClick
Aangeroepen door het framework wanneer de muis dubbelklikt op een actief besturingselement.
void FireDblClick();
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een DblClick-gebeurtenis moet op de gebeurteniskaart van het besturingselement een DblClick-gebeurtenis zijn gedefinieerd.
COleControl::FireError
Hiermee wordt de gebeurtenis Fout op voorraad geactiveerd.
void FireError(
SCODE scode,
LPCTSTR lpszDescription,
UINT nHelpID = 0);
Parameterwaarden
scode
De waarde van de statuscode die moet worden gerapporteerd. Zie het artikel ActiveX-besturingselementen: Geavanceerde onderwerpen voor een volledige lijst met mogelijke codes.
lpszDescription
De beschrijving van de fout die wordt gerapporteerd.
nHelpID
De Help-id van de fout die wordt gerapporteerd.
Opmerkingen
Deze gebeurtenis biedt een manier om te signaleren, op de juiste plaatsen in uw code, dat er een fout is opgetreden in uw besturingselement. In tegenstelling tot andere aandelenevenementen, zoals Click of MouseMove, wordt fout nooit geactiveerd door het framework.
Als u een fout wilt melden die optreedt tijdens het ophalen van een functie, eigenschapssetfunctie of automatiseringsmethode, roept u COleControl::ThrowError aan.
Voor de implementatie van de gebeurtenis Stock Error van een OLE-besturingselement wordt een SCODE-waarde gebruikt. Als uw besturingselement gebruikmaakt van deze gebeurtenis en bedoeld is om te worden gebruikt in Visual Basic 4.0, ontvangt u fouten omdat de SCODE-waarde niet wordt ondersteund in Visual Basic.
U kunt dit oplossen door handmatig de SCODE-parameter in het besturingselement te wijzigen. ODL-bestand naar een long. Bovendien veroorzaakt elke aangepaste gebeurtenis, methode of eigenschap die gebruikmaakt van een SCODE-parameter hetzelfde probleem.
COleControl::FireEvent
Hiermee wordt een door de gebruiker gedefinieerde gebeurtenis vanuit uw besturingselement geactiveerd met een willekeurig aantal optionele argumenten.
void AFX_CDECL FireEvent(
DISPID dispid,
BYTE* pbParams,
...);
Parameterwaarden
ontspied
De verzend-id van de gebeurtenis die moet worden geactiveerd.
pbParams
Een descriptor voor de parametertypen van de gebeurtenis.
Opmerkingen
Deze functie mag meestal niet rechtstreeks worden aangeroepen. In plaats daarvan roept u de functies voor gebeurtenisschieten aan in de sectie gebeurtenisoverzicht van de klassedeclaratie van uw besturingselement.
Het argument pbParams is een door spaties gescheiden lijst met VTS_. Een of meer van deze waarden, gescheiden door spaties (geen komma's), geeft de parameterlijst van de functie op. Mogelijke waarden zijn als volgt:
| Symbol | Parametertype |
|---|---|
| VTS_COLOR | OLE_COLOR |
| VTS_FONT | IFontDisp* |
| VTS_HANDLE | HWND |
| VTS_PICTURE | IPictureDisp* |
| VTS_OPTEXCLUSIVE | OLE_OPTEXCLUSIVE* |
| VTS_TRISTATE | OLE_TRISTATE |
| VTS_XPOS_HIMETRIC | OLE_XPOS_HIMETRIC |
| VTS_YPOS_HIMETRIC | OLE_YPOS_HIMETRIC |
| VTS_XPOS_PIXELS | OLE_XPOS_PIXELS |
| VTS_YPOS_PIXELS | OLE_YPOS_PIXELS |
| VTS_XSIZE_PIXELS | OLE_XSIZE_PIXELS |
| VTS_YSIZE_PIXELS | OLE_XSIZE_PIXELS |
| VTS_XSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
| VTS_YSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
Opmerking
Er zijn aanvullende variantconstanten gedefinieerd voor alle varianttypen, met uitzondering van VTS_FONT en VTS_PICTURE, die een aanwijzer naar de constante van de variantgegevens bieden. Deze constanten worden benoemd met behulp van de conventie VTS_P<CONSTANT-NAME> . VTS_PCOLOR is bijvoorbeeld een aanwijzer naar een VTS_COLOR constante.
COleControl::FireKeyDown
Aangeroepen door het framework wanneer een sleutel wordt ingedrukt terwijl het besturingselement actief is.
void FireKeyDown(
USHORT* pnChar,
short nShiftState);
Parameterwaarden
pnChar
Aanwijzer naar de codewaarde van de virtuele sleutel van de ingedrukte toets. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een KeyDown-gebeurtenis moet voor het gebeurtenisoverzicht van het besturingselement een KeyDown-gebeurtenis zijn gedefinieerd.
COleControl::FireKeyPress
Aangeroepen door het framework wanneer een sleutel wordt ingedrukt en vrijgegeven terwijl het aangepaste besturingselement gebruikersinterface actief is binnen de container.
void FireKeyPress(USHORT* pnChar);
Parameterwaarden
pnChar
Een aanwijzer naar de tekenwaarde van de toets ingedrukt.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
De ontvanger van de gebeurtenis kan bijvoorbeeld pnChar wijzigen, bijvoorbeeld alle kleine letters converteren naar hoofdletters. Als u het gewijzigde teken wilt onderzoeken, moet u het overschrijven OnKeyPressEvent.
Voor het automatisch activeren van een KeyPress-gebeurtenis moet op de gebeurteniskaart van het besturingselement een keypress-gebeurtenis zijn gedefinieerd.
COleControl::FireKeyUp
Aangeroepen door het framework wanneer een sleutel wordt vrijgegeven terwijl het aangepaste besturingselement actief is in de container.
void FireKeyUp(
USHORT* pnChar,
short nShiftState);
Parameterwaarden
pnChar
Wijs de waarde van de code van de virtuele sleutel van de vrijgegeven sleutel aan. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een KeyUp-gebeurtenis moet op de gebeurtenistoewijzing van het besturingselement een keyup-gebeurtenis zijn gedefinieerd.
COleControl::FireMouseDown
Aangeroepen door het framework wanneer een muisknop wordt ingedrukt op een actief aangepast besturingselement.
void FireMouseDown(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parameterwaarden
nButton
De numerieke waarde van de muisknop ingedrukt. Deze kan een van de volgende waarden bevatten:
LEFT_BUTTON De linkermuisknop is ingedrukt.
MIDDLE_BUTTON De middelste muisknop is ingedrukt.
RIGHT_BUTTON De rechtermuisknop is ingedrukt.
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
x
De x-coördinaat van de cursor toen een muisknop werd ingedrukt. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
y
De y-coördinaat van de cursor wanneer een muisknop omlaag werd ingedrukt. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Als u een MouseDown-gebeurtenis automatisch wilt activeren, moet op het gebeurtenisoverzicht van het besturingselement een stock MouseDown-gebeurtenis zijn gedefinieerd.
COleControl::FireMouseMove
Aangeroepen door het framework wanneer de cursor wordt verplaatst over een actief aangepast besturingselement.
void FireMouseMove(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parameterwaarden
nButton
De numerieke waarde van de muisknoppen ingedrukt. Bevat een combinatie van de volgende waarden:
LEFT_BUTTON De linkermuisknop werd ingedrukt tijdens de actie.
MIDDLE_BUTTON De middelste muisknop werd ingedrukt tijdens de actie.
RIGHT_BUTTON De rechtermuisknop werd ingedrukt tijdens de actie.
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
x
De x-coördinaat van de cursor. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
y
De y-coördinaat van de cursor. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een MouseMove-gebeurtenis moet op het gebeurtenisoverzicht van het besturingselement een stock MouseMove-gebeurtenis zijn gedefinieerd.
COleControl::FireMouseUp
Aangeroepen door het framework wanneer een muisknop wordt vrijgegeven via een actief aangepast besturingselement.
void FireMouseUp(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parameterwaarden
nButton
De numerieke waarde van de muisknop is vrijgegeven. Deze kan een van de volgende waarden hebben:
LEFT_BUTTON De linkermuisknop is vrijgegeven.
MIDDLE_BUTTON De middelste muisknop is losgelaten.
RIGHT_BUTTON De rechtermuisknop is losgelaten.
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
x
De x-coördinaat van de cursor toen een muisknop werd losgelaten. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
y
De y-coördinaat van een cursor wanneer een muisknop werd losgelaten. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het besturingselementvenster.
Opmerkingen
Als deze gebeurtenis is gedefinieerd als een aangepaste gebeurtenis, bepaalt u wanneer de gebeurtenis wordt geactiveerd.
Voor het automatisch activeren van een MouseUp-gebeurtenis moet op het gebeurtenisoverzicht van het besturingselement een stock MouseUp-gebeurtenis zijn gedefinieerd.
COleControl::FireReadyStateChange
Hiermee wordt een gebeurtenis geactiveerd met de huidige waarde van de gereedheidsstatus van het besturingselement.
void FireReadyStateChange();
Opmerkingen
De status Gereed kan een van de volgende waarden zijn:
| Naam | Description |
|---|---|
| READYSTATE_UNINITIALIZED | Standaard initialisatiestatus |
| READYSTATE_LOADING | De eigenschappen van het besturingselement worden momenteel geladen |
| READYSTATE_LOADED | Het besturingselement is geïnitialiseerd |
| READYSTATE_INTERACTIVE | Control heeft voldoende gegevens om interactief te zijn, maar niet alle asynchrone gegevens zijn nog geladen |
| READYSTATE_COMPLETE | Control heeft alle bijbehorende gegevens |
Gebruik GetReadyState om de huidige gereedheid van het besturingselement te bepalen.
InternalSetReadyState wijzigt de status gereed in de opgegeven waarde en roept vervolgens aan FireReadyStateChange.
COleControl::GetActivationPolicy
Hiermee wijzigt u het standaardactiveringsgedrag van een besturingselement dat ondersteuning biedt voor de IPointerInactive interface.
virtual DWORD GetActivationPolicy();
Retourwaarde
Een combinatie van vlaggen uit de OPSOMMING POINTERINACTIVE. Mogelijke vlaggen zijn:
| Naam | Description |
|---|---|
| POINTERINACTIVE_ACTIVATEONENTRY | Het object moet in-place zijn geactiveerd wanneer de muis het tijdens een verplaatsingsbewerking van de muis binnenkomt. |
| POINTERINACTIVE_DEACTIVATEONLEAVE | Het object moet worden gedeactiveerd wanneer de muis het object verlaat tijdens een verplaatsingsbewerking met de muis. |
| POINTERINACTIVE_ACTIVATEONDRAG | Het object moet in-place zijn geactiveerd wanneer de muis eroverheen wordt gesleept tijdens een sleep- en neersleepbewerking. |
Opmerkingen
Wanneer de IPointerInactive interface is ingeschakeld, delegert de container WM_SETCURSOR en WM_MOUSEMOVE berichten naar de container.
COleControlDe implementatie van deze interface verzendt deze berichten via de berichtenkaart van uw besturingselement, nadat de muiscoördinaten op de juiste wijze zijn aangepast.
Wanneer de container een WM_SETCURSOR of WM_MOUSEMOVE bericht ontvangt met de muisaanwijzer boven een inactief object dat wordt ondersteund IPointerInactive, moet deze de interface aanroepen GetActivationPolicy en vlaggen retourneren uit de opsomming POINTERINACTIVE.
U kunt deze berichten net als gewone vensterberichten verwerken door de bijbehorende vermeldingen toe te voegen aan de berichttoewijzing. Vermijd in uw handlers het gebruik van de m_hWnd lidvariabele (of lidfuncties die deze gebruiken) zonder eerst te controleren of de waarde niet null is.
Elk object dat is bedoeld om meer te doen dan de muiscursor instellen en/of een gebeurtenis voor het verplaatsen van de muis activeren, zoals speciale visuele feedback geven, moet de POINTERINACTIVE_ACTIVATEONENTRY vlag retourneren en de feedback alleen tekenen wanneer deze actief is. Als het object deze vlag retourneert, moet de container deze onmiddellijk activeren en vervolgens hetzelfde bericht doorsturen dat de aanroep heeft GetActivationPolicygeactiveerd.
Als zowel de POINTERINACTIVE_ACTIVATEONENTRY als POINTERINACTIVE_DEACTIVATEONLEAVE vlaggen worden geretourneerd, wordt het object alleen geactiveerd wanneer de muis over het object is. Als alleen de vlag POINTERINACTIVE_ACTIVATEONENTRY wordt geretourneerd, wordt het object slechts één keer geactiveerd wanneer de muis het object voor het eerst binnenkomt.
Mogelijk wilt u ook dat een inactief besturingselement het doel is van een OLE-bewerking voor slepen en neerzetten. Hiervoor moet het besturingselement worden geactiveerd op het moment dat de gebruiker een object eroverheen sleept, zodat het venster van het besturingselement kan worden geregistreerd als een doel voor neerzetten. Als u wilt dat activering plaatsvindt tijdens een slepen, retourneert u de vlag POINTERINACTIVE_ACTIVATEONDRAG:
DWORD CMyAxCtrl::GetActivationPolicy()
{
return POINTERINACTIVE_ACTIVATEONDRAG;
}
De informatie die wordt GetActivationPolicy gecommuniceerd, mag niet in de cache worden opgeslagen door een container. In plaats daarvan moet deze methode worden aangeroepen telkens wanneer de muis een inactief object invoert.
Als een inactief object niet aanvraagt om in-place te worden geactiveerd wanneer de muis het binnenkomt, moet de container volgende WM_SETCURSOR berichten naar dit object verzenden door OnInactiveSetCursor aan te roepen zolang de muisaanwijzer over het object blijft.
Het inschakelen van de IPointerInactive interface betekent meestal dat u wilt dat het besturingselement te allen tijde muisberichten kan verwerken. Als u dit gedrag wilt krijgen in een container die de IPointerInactive interface niet ondersteunt, moet u uw besturingselement altijd activeren wanneer dit zichtbaar is, wat betekent dat het besturingselement de OLEMISC_ACTIVATEWHENVISIBLE vlag moet hebben tussen de diverse vlaggen. Als u echter wilt voorkomen dat deze vlag van kracht wordt in een container die wel wordt ondersteund IPointerInactive, kunt u ook de OLEMISC_IGNOREACTIVATEWHENVISIBLE vlag opgeven:
static const DWORD BASED_CODE _dwMyOleMisc =
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_IGNOREACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
COleControl::GetAmbientProperty
Hiermee haalt u de waarde op van een omgevingseigenschap van de container.
BOOL GetAmbientProperty(
DISPID dispid,
VARTYPE vtProp,
void* pvProp);
Parameterwaarden
dwDispid
De verzend-id van de gewenste omgevingseigenschap.
vtProp
Een varianttypetag die het type van de waarde aangeeft dat moet worden geretourneerd in pvProp.
pvProp
Een aanwijzer naar het adres van de variabele die de eigenschapswaarde of retourwaarde ontvangt. Het werkelijke type van deze aanwijzer moet overeenkomen met het type dat is opgegeven door vtProp.
| vtProp | Type pvProp |
|---|---|
| VT_BOOL | BOOL* |
| VT_BSTR | CString* |
| VT_I2 | short* |
| VT_I4 | long* |
| VT_R4 | float* |
| VT_R8 | double* |
| VT_CY | CY* |
| VT_COLOR | OLE_COLOR* |
| VT_DISPATCH | LPDISPATCH* |
| VT_FONT | LPFONTDISP* |
Retourwaarde
Niet-nul als de omgevingseigenschap wordt ondersteund; anders 0.
Opmerkingen
Als u de omgevingseigenschappen DisplayName en ScaleUnits ophaalt, stelt u GetAmbientPropertyvtProp in op VT_BSTR en pvProp op CString*. Als u de omgevingseigenschap Lettertype opzoekt, stelt u vtProp in op VT_FONT en pvProp op LPFONTDISP*.
Houd er rekening mee dat er al functies zijn opgegeven voor algemene omgevingseigenschappen, zoals AmbientBackColor en AmbientFont.
COleControl::GetAppearance
Implementeert de functie Get van de eigenschap Uiterlijk van uw besturingselement.
short GetAppearance ();
Retourwaarde
De retourwaarde geeft de huidige weergave-instelling op als een short (VT_I2) waarde, indien geslaagd. Deze waarde is nul als het uiterlijk van het besturingselement vlak is en 1 als het uiterlijk van het besturingselement 3D is.
COleControl::GetBackColor
Implementeert de functie Get van de eigenschap BackColor van uw besturingselement.
OLE_COLOR GetBackColor();
Retourwaarde
De retourwaarde geeft de huidige achtergrondkleur op als een OLE_COLOR waarde, indien geslaagd. Deze waarde kan worden omgezet in een COLORREF-waarde met een aanroep naar TranslateColor.
COleControl::GetBorderStyle
Implementeert de functie Get van de eigenschap BorderStyle van uw besturingselement.
short GetBorderStyle();
Retourwaarde
1 als het besturingselement een normale rand heeft; 0 als het besturingselement geen rand heeft.
COleControl::GetCapture
Bepaalt of het COleControl object de muisopname heeft.
CWnd* GetCapture();
Retourwaarde
Als het besturingselement is geactiveerd en vensterloos is, wordt geretourneerd this als het besturingselement momenteel de muisopname heeft (zoals bepaald door de container van het besturingselement) of NULL als het niet over de opname beschikt.
Anders retourneert u het CWnd object met de muisopname (hetzelfde als CWnd::GetCapture).
Opmerkingen
Een geactiveerd besturingselement zonder venster ontvangt de muisopname wanneer SetCapture wordt aangeroepen.
COleControl::GetClassID
Aangeroepen door het framework om de OLE-klasse-id van het besturingselement op te halen.
virtual HRESULT GetClassID(LPCLSID pclsid) = 0;
Parameterwaarden
pclsid
Wijs de locatie van de klasse-id aan.
Retourwaarde
Niet-nul als de oproep niet is geslaagd; anders 0.
Opmerkingen
Meestal geïmplementeerd door de IMPLEMENT_OLECREATE_EX.
COleControl::GetClientOffset
Hiermee haalt u het verschil op tussen de linkerbovenhoek van het rechthoekige gebied van het besturingselement en de linkerbovenhoek van het clientgebied.
virtual void GetClientOffset(long* pdxOffset, long* pdyOffset) const;
Parameterwaarden
pdxOffset
Wijs de horizontale verschuiving van het clientgebied van het OLE-besturingselement aan.
pdyOffset
Aanwijzer naar de verticale verschuiving van het clientgebied van het OLE-besturingselement.
Opmerkingen
Het OLE-besturingselement heeft een rechthoekig gebied in de container. Het clientgebied van het besturingselement is het besturingsgebied met uitzondering van randen en schuifbalken. De offset die wordt GetClientOffset opgehaald, is het verschil tussen de linkerbovenhoek van het rechthoekige gebied van het besturingselement en de linkerbovenhoek van het clientgebied. Als uw besturingselement andere elementen dan de standaardranden en schuifbalken bevat, overschrijft u deze lidfunctie om de offset op te geven.
COleControl::GetClientRect
Hiermee wordt de grootte van het clientgebied van het besturingselement opgehaald.
virtual void GetClientRect(LPRECT lpRect) const;
Parameterwaarden
lpRect
Wijs een RECT structuur aan met de afmetingen van het clientgebied van het vensterloze besturingselement. Dat wil gezegd, de grootte van het besturingselement min vensterranden, frames, schuifbalken enzovoort. De parameter lpRect geeft de grootte van de clientrechthoek van het besturingselement aan, niet de positie ervan.
COleControl::GetClientSite
Hiermee wordt een query uitgevoerd op een object voor de aanwijzer naar de huidige clientsite binnen de container.
LPOLECLIENTSITE GetClientSite();
Retourwaarde
Een aanwijzer naar de huidige clientsite van het besturingselement in de container.
Opmerkingen
De geretourneerde aanwijzer verwijst naar een exemplaar van IOleClientSite. De IOleClientSite interface, geïmplementeerd door containers, is de weergave van de context van het object: waar deze is verankerd in het document, waar de opslag, gebruikersinterface en andere resources worden opgehaald.
COleControl::GetControlFlags
Hiermee worden de instellingen van de besturingsvlag opgehaald.
virtual DWORD GetControlFlags();
Retourwaarde
Een ORed-combinatie van de vlaggen in de opsomming ControlFlags:
enum ControlFlags {
fastBeginPaint = 0x0001,
clipPaintDC = 0x0002,
pointerInactive = 0x0004,
noFlickerActivate = 0x0008,
windowlessActivate = 0x0010,
canOptimizeDraw = 0x0020,
};
Opmerkingen
Retourneert fastBeginPaint | clipPaintDCstandaard GetControlFlags .
| Naam | Description |
|---|---|
fastBeginPaint |
Als deze optie is ingesteld, gebruikt u een beginverffunctie die is afgestemd op OLE-besturingselementen in plaats van de BeginPaint-API (standaard ingesteld). |
clipPaintDC |
Als deze niet is ingesteld, schakelt u de aanroep uit die IntersectClipRect door COleControl u moet worden gedaan en profiteert u van een klein snelheidsvoordeel. Als u vensterloze activering gebruikt, heeft de vlag geen effect. |
pointerInactive |
Indien ingesteld, biedt muisinteractie terwijl uw besturingselement inactief is door de implementatie van de IPointerInactive interface in te schakelenCOleControl, wat standaard is uitgeschakeld. |
noFlickerActivate |
Als deze optie is ingesteld, elimineert u extra tekenbewerkingen en de bijbehorende visuele flikkering. Gebruik dit als uw besturingselement identiek is in de inactieve en actieve statussen. Als u vensterloze activering gebruikt, heeft de vlag geen effect. |
windowlessActivate |
Als deze optie is ingesteld, geeft u aan dat uw besturingselement gebruikmaakt van activering zonder venster. |
canOptimizeDraw |
Als dit is ingesteld, geeft u aan dat het besturingselement geoptimaliseerde tekening uitvoert als de container dit ondersteunt. |
Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over GetControlFlags en andere optimalisaties van OLE-besturingselementen.
COleControl::GetControlSize
Hiermee wordt de grootte van het OLE-besturingselementvenster opgehaald.
void GetControlSize(
int* pcx,
int* pcy);
Parameterwaarden
Pcx
Hiermee geeft u de breedte van het besturingselement in pixels.
pcy
Hiermee geeft u de hoogte van het besturingselement in pixels.
Opmerkingen
Houd er rekening mee dat alle coördinaten voor besturingsvensters relatief zijn ten opzichte van de linkerbovenhoek van het besturingselement.
COleControl::GetDC
Biedt een vensterloos object om een schermcontext (of compatibel) apparaat van de container op te halen.
CDC* GetDC(
LPCRECT lprcRect = NULL,
DWORD dwFlags = OLEDC_PAINTBKGND);
Parameterwaarden
lprcRect
Een aanwijzer naar de rechthoek van het besturingselement zonder venster wil opnieuw tekenen, in clientcoördinaten van het besturingselement. NULL betekent de omvang van het volledige object.
dwFlags
Tekenkenmerken van de apparaatcontext. Keuzen zijn:
OLEDC_NODRAW Geeft aan dat het object de apparaatcontext niet gebruikt om een tekening uit te voeren, maar alleen om informatie over het weergaveapparaat op te halen. De container moet gewoon de DC van het venster doorgeven zonder verdere verwerking.
OLEDC_PAINTBKGND vraagt aan dat de container de achtergrond verft voordat de DC wordt geretourneerd. Een object moet deze vlag gebruiken als er een DC wordt aangevraagd voor het opnieuw tekenen van een gebied met transparante achtergrond.
OLEDC_OFFSCREEN informeert de container dat het object in een bitmap buiten het scherm moet worden weergegeven die vervolgens naar het scherm moet worden gekopieerd. Een object moet deze vlag gebruiken wanneer de tekenbewerking die op het punt staat uit te voeren, veel flikkering genereert. De container is gratis om aan deze aanvraag te voldoen of niet. Als deze vlag echter niet is ingesteld, moet de container een domeincontroller op het scherm teruggeven. Hiermee kunnen objecten direct schermbewerkingen uitvoeren, zoals het weergeven van een selectie (via een XOR-bewerking ).
Retourwaarde
Wijs de weergaveapparaatcontext voor het containerclientgebied CWnd aan als dit lukt. Anders is de retourwaarde NULL. De weergaveapparaatcontext kan worden gebruikt in volgende GDI-functies om te tekenen in het clientgebied van het venster van de container.
Opmerkingen
De functie ReleaseDC-lid moet worden aangeroepen om de context na het schilderen vrij te geven. Bij het aanroepen GetDCgeven objecten de rechthoek door waarin ze willen tekenen in hun eigen clientcoördinaten.
GetDC vertaalt deze naar coördinaten van het containerclientgebied. Het object mag geen gewenste tekenrechthoek aanvragen die groter is dan de eigen rechthoek voor het clientgebied, waarvan de grootte kan worden opgehaald met GetClientRect. Hiermee voorkomt u dat objecten per ongeluk kunnen tekenen waar ze niet moeten worden gebruikt.
COleControl::GetEnabled
Hiermee wordt de functie Ophalen van de eigenschap Voorraad ingeschakeld van uw besturingselement geïmplementeerd.
BOOL GetEnabled();
Retourwaarde
Niet-nul als het besturingselement is ingeschakeld; anders 0.
COleControl::GetExtendedControl
Hiermee wordt een aanwijzer opgehaald naar een object dat wordt onderhouden door de container die het besturingselement vertegenwoordigt met een uitgebreide set eigenschappen.
LPDISPATCH GetExtendedControl();
Retourwaarde
Een aanwijzer naar het uitgebreide besturingsobject van de container. Als er geen object beschikbaar is, is de waarde NULL.
Dit object kan worden gemanipuleerd via de IDispatch interface. U kunt ook QueryInterface andere beschikbare interfaces van het object verkrijgen. Het object is echter niet vereist om een specifieke set interfaces te ondersteunen. Houd er rekening mee dat afhankelijk van de specifieke functies van het uitgebreide besturingsobject van een container de draagbaarheid van uw besturingselement beperkt tot andere willekeurige containers.
Opmerkingen
De functie die deze functie aanroept, is verantwoordelijk voor het vrijgeven van de aanwijzer wanneer deze is voltooid met het object. Houd er rekening mee dat de container niet is vereist om dit object te ondersteunen.
COleControl::GetFocus
Bepaalt of het COleControl object de focus heeft.
CWnd* GetFocus();
Retourwaarde
Als het besturingselement is geactiveerd en zonder venster, wordt geretourneerd this als het besturingselement momenteel de toetsenbordfocus heeft (zoals bepaald door de container van het besturingselement) of NULL als het niet de focus heeft.
Retourneert anders het CWnd object met de focus (hetzelfde als CWnd::GetFocus).
Opmerkingen
Een geactiveerd besturingselement zonder venster ontvangt de focus wanneer SetFocus wordt aangeroepen.
COleControl::GetFont
Hiermee wordt de functie Get van de eigenschap Lettertype voor aandelen geïmplementeerd.
LPFONTDISP GetFont();
Retourwaarde
Een aanwijzer naar de verzendinterface voor lettertypen van de eigenschap Lettertype van het besturingselement.
Opmerkingen
Houd er rekening mee dat de aanroeper het object moet vrijgeven wanneer het is voltooid. Gebruik binnen de implementatie van het besturingselement InternalGetFont voor toegang tot het lettertypeobject lettertype van het besturingselement. Zie het artikel ActiveX-besturingselementen: Lettertypen gebruiken in een ActiveX-besturingselement voor meer informatie over het gebruik van lettertypen in uw besturingselement.
COleControl::GetFontTextMetrics
Meet de metrische tekstgegevens voor elk CFontHolder object dat eigendom is van het besturingselement.
void GetFontTextMetrics(
LPTEXTMETRIC lptm,
CFontHolder& fontHolder);
Parameterwaarden
lptm
Aanwijzer naar een TEXTMETRIC-structuur .
fontHolder
Verwijzing naar een CFontHolder-object .
Opmerkingen
Een dergelijk lettertype kan worden geselecteerd met de functie COleControl::SelectFontObject .
GetFontTextMetrics initialiseert de TEXTMETRIC structuur waarnaar wordt verwezen door lptm met geldige metrische gegevens over fontHolderhet lettertype als dit lukt, of vult de structuur met nullen als dat niet lukt. U moet deze functie gebruiken in plaats van GetTextMetrics bij het schilderen van uw besturingselement, omdat besturingselementen, zoals elk ingesloten OLE-object, mogelijk in een metabestand moeten worden weergegeven.
De TEXTMETRIC structuur voor het standaardlettertype wordt vernieuwd wanneer de functie SelectFontObject wordt aangeroepen. U moet alleen bellen GetFontTextMetrics nadat u de eigenschap Lettertype voor aandelen hebt geselecteerd om ervoor te zorgen dat de informatie die wordt verstrekt geldig is.
COleControl::GetForeColor
Hiermee wordt de functie Get van de eigenschap ForeColor van het aandeel geïmplementeerd.
OLE_COLOR GetForeColor();
Retourwaarde
De retourwaarde geeft de huidige voorgrondkleur op als een OLE_COLOR waarde, indien geslaagd. Deze waarde kan worden omgezet in een COLORREF-waarde met een aanroep naar TranslateColor.
COleControl::GetHwnd
Hiermee wordt de functie Get van de eigenschap Stock hWnd geïmplementeerd.
OLE_HANDLE GetHwnd();
Retourwaarde
De venstergreep van het OLE-besturingselement, indien van toepassing; anders NULL.
COleControl::GetMessageString
Aangeroepen door het framework om een korte tekenreeks te verkrijgen die het doel beschrijft van het menu-item dat is geïdentificeerd door nID.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Parameterwaarden
nID
Een menu-item-id.
rMessage
Een verwijzing naar een CString-object waarmee een tekenreeks wordt geretourneerd.
Opmerkingen
Dit kan worden gebruikt om een bericht te verkrijgen voor weergave op een statusbalk terwijl het menu-item is gemarkeerd. De standaard implementatie probeert een tekenreeksresource te laden die is geïdentificeerd door nID.
COleControl::GetNotSupported
Hiermee voorkomt u dat de gebruiker toegang heeft tot de eigenschapswaarde van een besturingselement.
void GetNotSupported();
Opmerkingen
Roep deze functie aan in plaats van de functie Ophalen van een eigenschap waarbij het ophalen van de eigenschap door de gebruiker van het besturingselement niet wordt ondersteund. Een voorbeeld hiervan is een eigenschap die alleen wordt geschreven.
COleControl::GetReadyState
Retourneert de gereedheidsstatus van het besturingselement.
long GetReadyState();
Retourwaarde
De gereedheidsstatus van het besturingselement, een van de volgende waarden:
| Naam | Description |
|---|---|
| READYSTATE_UNINITIALIZED | Standaard initialisatiestatus |
| READYSTATE_LOADING | De eigenschappen van het besturingselement worden momenteel geladen |
| READYSTATE_LOADED | Het besturingselement is geïnitialiseerd |
| READYSTATE_INTERACTIVE | Control heeft voldoende gegevens om interactief te zijn, maar niet alle asynchrone gegevens zijn nog geladen |
| READYSTATE_COMPLETE | Control heeft alle bijbehorende gegevens |
Opmerkingen
De meeste eenvoudige besturingselementen hoeven nooit onderscheid te maken tussen LOADED en INTERACTIVE. Besturingselementen die eigenschappen van gegevenspaden ondersteunen, zijn mogelijk niet gereed om interactief te zijn totdat ten minste bepaalde gegevens asynchroon worden ontvangen. Een besturingselement moet zo snel mogelijk interactief proberen te worden.
COleControl::GetRectInContainer
Haalt de coördinaten op van de rechthoek van het besturingselement ten opzichte van de container, uitgedrukt in apparaateenheden.
BOOL GetRectInContainer(LPRECT lpRect);
Parameterwaarden
lpRect
Een aanwijzer naar de rechthoekstructuur waarin de coördinaten van het besturingselement worden gekopieerd.
Retourwaarde
Niet-nul als het besturingselement actief is; anders 0.
Opmerkingen
De rechthoek is alleen geldig als het besturingselement actief is.
COleControl::GetStockTextMetrics
Meet de metrische tekstgegevens voor de eigenschap Lettertype van het besturingselement, die kan worden geselecteerd met de functie SelectStockFont .
void GetStockTextMetrics(LPTEXTMETRIC lptm);
Parameterwaarden
lptm
Een aanwijzer naar een TEXTMETRIC-structuur .
Opmerkingen
Met GetStockTextMetrics de functie wordt de TEXTMETRIC structuur geïnitialiseerd die door lptm wordt verwezen met geldige metrische gegevens, indien geslaagd, of wordt de structuur gevuld met nullen als dat niet lukt. Gebruik deze functie in plaats van GetTextMetrics bij het schilderen van uw besturingselement, omdat besturingselementen, zoals elk ingesloten OLE-object, mogelijk nodig zijn om zichzelf weer te geven in een metabestand.
De TEXTMETRIC structuur voor het standaardlettertype wordt vernieuwd wanneer de SelectStockFont functie wordt aangeroepen. U moet deze functie alleen aanroepen nadat u het aandelenlettertype hebt geselecteerd om ervoor te zorgen dat de informatie die wordt verstrekt geldig is.
COleControl::GetText
Hiermee wordt de functie Ophalen van de eigenschap Tekst of Bijschrift van aandelen geïmplementeerd.
BSTR GetText();
Retourwaarde
De huidige waarde van de tekenreeks van het besturingselement of een tekenreeks met lengte nul als er geen tekenreeks aanwezig is.
Opmerking
Zie gegevenstypen in de sectie Macro's en Globals voor meer informatie over het BSTR-gegevenstype.
Opmerkingen
Houd er rekening mee dat de aanroeper van deze functie de tekenreeks moet aanroepen SysFreeString die wordt geretourneerd om de resource vrij te maken. Gebruik binnen de implementatie van het besturingselement InternalGetText voor toegang tot de eigenschap Tekst of Bijschrift van het besturingselement.
COleControl::GetWindowlessDropTarget
Overschrijven GetWindowlessDropTarget wanneer u wilt dat een besturingselement zonder venster het doel is van een OLE-bewerking voor slepen en neerzetten.
virtual IDropTarget* GetWindowlessDropTarget();
Retourwaarde
Wijs de interface van IDropTarget het object aan. Omdat het geen venster heeft, kan een vensterloos object geen interface registreren IDropTarget . Als u echter wilt deelnemen aan slepen en neerzetten, kan een vensterloos object de interface nog steeds implementeren en retourneren in GetWindowlessDropTarget.
Opmerkingen
Normaal gesproken zou dit vereisen dat het venster van het besturingselement wordt geregistreerd als een doel voor neerzetten. Maar omdat het besturingselement geen eigen venster heeft, gebruikt de container een eigen venster als een doel voor neerzetten. Het besturingselement hoeft alleen maar een implementatie te bieden van de IDropTarget interface waarnaar de container oproepen op het juiste moment kan delegeren. Voorbeeld:
IDropTarget *CMyAxCtrl::GetWindowlessDropTarget()
{
m_xDropTarget.AddRef();
return &m_xDropTarget;
}
COleControl::InitializeIID's
Informeert de basisklasse van de IID's die door het besturingselement worden gebruikt.
void InitializeIIDs(
const IID* piidPrimary,
const IID* piidEvents);
Parameterwaarden
piidPrimary
Wijs de interface-id van de primaire dispatchinterface van het besturingselement aan.
piidEvents
Wijs de interface-id van de gebeurtenisinterface van het besturingselement aan.
Opmerkingen
Roep deze functie aan in de constructor van het besturingselement om de basisklasse te informeren over de interface-id's die uw besturingselement gaat gebruiken.
COleControl::InternalGetFont
Hiermee opent u de eigenschap Lettertype van uw besturingselement
CFontHolder& InternalGetFont();
Retourwaarde
Een verwijzing naar een CFontHolder-object dat het stocklettertypeobject bevat.
COleControl::InternalGetText
Hiermee opent u de eigenschap StockTekst of Bijschrift van uw besturingselement.
const CString& InternalGetText();
Retourwaarde
Een verwijzing naar de tekenreeks van het besturingselement.
COleControl::InternalSetReadyState
Hiermee stelt u de gereedheidsstatus van het besturingselement in.
void InternalSetReadyState(long lNewReadyState);
Parameterwaarden
lNewReadyState
De gereedheidsstatus die moet worden ingesteld voor het besturingselement, een van de volgende waarden:
| Naam | Description |
|---|---|
| READYSTATE_UNINITIALIZED | Standaard initialisatiestatus |
| READYSTATE_LOADING | De eigenschappen van het besturingselement worden momenteel geladen |
| READYSTATE_LOADED | Het besturingselement is geïnitialiseerd |
| READYSTATE_INTERACTIVE | Control heeft voldoende gegevens om interactief te zijn, maar niet alle asynchrone gegevens zijn nog geladen |
| READYSTATE_COMPLETE | Control heeft alle bijbehorende gegevens |
Opmerkingen
De meeste eenvoudige besturingselementen hoeven nooit onderscheid te maken tussen LOADED en INTERACTIVE. Besturingselementen die eigenschappen van gegevenspaden ondersteunen, zijn mogelijk niet gereed om interactief te zijn totdat ten minste bepaalde gegevens asynchroon worden ontvangen. Een besturingselement moet zo snel mogelijk interactief proberen te worden.
COleControl::InvalidateControl
Dwingt het besturingselement om zichzelf opnieuw te tekenen.
void InvalidateControl(
LPCRECT lpRect = NULL,
BOOL bErase = TRUE);
Parameterwaarden
lpRect
Een aanwijzer naar het gebied van het besturingselement dat ongeldig moet worden gemaakt.
bErase
Hiermee geeft u op of de achtergrond binnen de updateregio moet worden gewist wanneer de updateregio wordt verwerkt.
Opmerkingen
Als lpRect een NULL-waarde heeft, wordt het hele besturingselement opnieuw getekend. Als lpRect niet NULL is, geeft dit het gedeelte aan van de rechthoek van het besturingselement dat ongeldig moet worden gemaakt. In gevallen waarin het besturingselement geen venster heeft of momenteel niet actief is, wordt de rechthoek genegeerd en wordt er een aanroep uitgevoerd naar de IAdviseSink::OnViewChange-lidfunctie van de clientsite. Gebruik deze functie in plaats van CWnd::InvalidateRect of InvalidateRect.
COleControl::InvalidateRgn
Ongeldig het clientgebied van het containervenster binnen de opgegeven regio.
void InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);
Parameterwaarden
pRgn
Een aanwijzer naar een CRgn-object dat het weergavegebied van het OLE-object identificeert om ongeldig te maken, in clientcoördinaten van het venster met de inhoud. Als deze parameter NULL is, is de omvang het hele object.
bErase
Hiermee geeft u op of de achtergrond binnen de ongeldige regio moet worden gewist. Als WAAR, wordt de achtergrond gewist. Als ONWAAR, blijft de achtergrond ongewijzigd.
Opmerkingen
Dit kan worden gebruikt om vensterloze besturingselementen in de container opnieuw te tekenen. De ongeldige regio, samen met alle andere gebieden in de updateregio, is gemarkeerd voor schilderen wanneer het volgende WM_PAINT bericht wordt verzonden.
Als bErase WAAR is voor een deel van de updateregio, wordt de achtergrond in de hele regio, niet alleen in het opgegeven deel, gewist.
COleControl::IsConvertingVBX
Hiermee kunt u gespecialiseerd laden van een OLE-besturingselement.
BOOL IsConvertingVBX();
Retourwaarde
Niet-nul als het besturingselement wordt geconverteerd; anders 0.
Opmerkingen
Wanneer u een formulier converteert dat gebruikmaakt van VBX-besturingselementen naar een formulier dat OLE-besturingselementen gebruikt, is mogelijk speciale laadcode voor de OLE-besturingselementen vereist. Als u bijvoorbeeld een exemplaar van uw OLE-besturingselement laadt, hebt u mogelijk een aanroep van PX_Font in het DoPropExchangevolgende:
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
VBX-besturingselementen hebben echter geen lettertypeobject; elke lettertype-eigenschap is afzonderlijk opgeslagen. In dit geval gebruikt IsConvertingVBX u om onderscheid te maken tussen deze twee gevallen:
if (!IsConvertingVBX())
{
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
PX_String(pPX, _T("FontName"), tempString, DefaultName);
m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
m_pMyFont->m_pFont->put_Underline(tempBool);
}
Een ander geval is dat uw VBX-besturingselement eigen binaire gegevens (in de VBM_SAVEPROPERTY berichthandler) heeft opgeslagen en uw OLE-besturingselement de binaire gegevens in een andere indeling opslaat. Als u wilt dat uw OLE-besturingselement achterwaarts compatibel is met het VBX-besturingselement, kunt u zowel de oude als de nieuwe indelingen lezen met behulp van de IsConvertingVBX functie door onderscheid te maken tussen het VBX-besturingselement of het OLE-besturingselement.
In de functie van DoPropExchange uw besturingselement kunt u controleren op deze voorwaarde en indien waar, laadcode uitvoeren die specifiek is voor deze conversie (zoals de vorige voorbeelden). Als het besturingselement niet wordt geconverteerd, kunt u normale laadcode uitvoeren. Deze mogelijkheid is alleen van toepassing op besturingselementen die worden geconverteerd van VBX-tegenhangers.
COleControl::IsInvokeAllowed
Hiermee schakelt u aanroepen van automatiseringsmethode in.
BOOL IsInvokeAllowed(DISPID dispid);
Retourwaarde
Niet-nul als het besturingselement is geïnitialiseerd; anders 0.
Opmerkingen
De implementatie van aanroepen IsInvokeAllowed van IDispatch::Invoke het framework om te bepalen of een bepaalde functie (geïdentificeerd doordispid) kan worden aangeroepen. Het standaardgedrag voor een OLE-besturingselement is dat automatiseringsmethoden alleen kunnen worden aangeroepen als het besturingselement is geïnitialiseerd; IsInvokeAllowed Is echter een virtuele functie en kan indien nodig worden overschreven (bijvoorbeeld wanneer het besturingselement wordt gebruikt als automatiseringsserver).
COleControl::IsModified
Bepaalt of de status van het besturingselement is gewijzigd.
BOOL IsModified();
Retourwaarde
Niet-nul als de status van het besturingselement is gewijzigd sinds het laatst is opgeslagen; anders 0.
Opmerkingen
De status van een besturingselement wordt gewijzigd wanneer een eigenschap een waarde wijzigt.
COleControl::IsOptimizedDraw
Bepaalt of de container geoptimaliseerde tekening ondersteunt voor de huidige tekenbewerking.
BOOL IsOptimizedDraw();
Retourwaarde
TRUE als de container geoptimaliseerde tekening ondersteunt voor de huidige tekenbewerking; anders ONWAAR.
Opmerkingen
Als geoptimaliseerde tekening wordt ondersteund, hoeft het besturingselement geen oude objecten (pennen, pensen, lettertypen, enzovoort) te selecteren in de apparaatcontext wanneer de tekening is voltooid.
COleControl::IsSubclassedControl
Wordt aangeroepen door het framework om te bepalen of het besturingselement een Windows-besturingselement classificeert.
virtual BOOL IsSubclassedControl();
Retourwaarde
Niet-nul als het besturingselement subklasse heeft; anders 0.
Opmerkingen
U moet deze functie overschrijven en WAAR retourneren als uw OLE-besturingselement een Windows-besturingselement subklassen geeft.
COleControl::Laden
Hiermee worden eventuele eerdere gegevens die asynchroon zijn geladen, opnieuw ingesteld en wordt een nieuwe laadbewerking van de asynchrone eigenschap van het besturingselement gestart.
void Load(LPCTSTR strNewPath, CDataPathProperty& prop);
Parameterwaarden
strNewPath
Een aanwijzer naar een tekenreeks die het pad bevat dat verwijst naar de absolute locatie van de eigenschap asynchroon besturingselement.
Prop
Een CDataPathProperty-object dat een asynchrone besturingselementeigenschap implementeert.
COleControl::LockInPlaceActive
Hiermee voorkomt u dat de container uw besturingselement deactiveert.
BOOL LockInPlaceActive(BOOL bLock);
Parameterwaarden
Blok
WAAR als de in-place actieve status van het besturingselement moet worden vergrendeld; ONWAAR als het moet worden ontgrendeld.
Retourwaarde
Niet-nul als de vergrendeling is geslaagd; anders 0.
Opmerkingen
Houd er rekening mee dat elke vergrendeling van het besturingselement moet worden gekoppeld aan een ontgrendeling van het besturingselement wanneer u klaar bent. U moet uw controle alleen vergrendelen voor korte perioden, zoals tijdens het activeren van een gebeurtenis.
COleControl::OnAmbientPropertyChange
Aangeroepen door het framework wanneer een omgevingseigenschap van de container de waarde heeft gewijzigd.
virtual void OnAmbientPropertyChange(DISPID dispid);
Parameterwaarden
dispID
De verzend-id van de omgevingseigenschap die is gewijzigd of DISPID_UNKNOWN als er meerdere eigenschappen zijn gewijzigd.
COleControl::OnAppearanceChanged
Aangeroepen door het framework wanneer de eigenschapswaarde Weergave van aandelen is gewijzigd.
virtual void OnAppearanceChanged ();
Opmerkingen
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd. De standaard-implementatie-aanroepen InvalidateControl.
COleControl::OnBackColorChanged
Aangeroepen door het framework wanneer de waarde van de eigenschap BackColor van aandelen is gewijzigd.
virtual void OnBackColorChanged();
Opmerkingen
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd. De standaard-implementatie-aanroepen InvalidateControl.
COleControl::OnBorderStyleChanged
Aangeroepen door het framework wanneer de waarde van de eigenschap Stock BorderStyle is gewijzigd.
virtual void OnBorderStyleChanged();
Opmerkingen
De standaard-implementatie-aanroepen InvalidateControl.
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd.
COleControl::OnClick
Aangeroepen door het framework wanneer er op een muisknop is geklikt of de DoClick-stockmethode is aangeroepen.
virtual void OnClick(USHORT iButton);
Parameterwaarden
iButton
Index van een muisknop. Kan een van de volgende waarden hebben:
LEFT_BUTTON Op de linkermuisknop is geklikt.
MIDDLE_BUTTON De middelste muisknop is geklikt.
RIGHT_BUTTON Er is op de rechtermuisknop geklikt.
Opmerkingen
De standaard-implementatie-aanroepen COleControl::FireClick.
Overschrijf deze lidfunctie om de standaardafhandeling te wijzigen of uit te breiden.
COleControl::OnClose
Aangeroepen door het framework wanneer de container de functie van IOleControl::Close het besturingselement heeft aangeroepen.
virtual void OnClose(DWORD dwSaveOption);
Parameterwaarden
dwSaveOption
Vlag die aangeeft of het object moet worden opgeslagen voordat het wordt geladen. Geldige waarden zijn:
OLECLOSE_SAVEIFDIRTY
OLECLOSE_NOSAVE
OLECLOSE_PROMPTSAVE
Opmerkingen
Het besturingselementobject wordt standaard OnClose opgeslagen als het is gewijzigd en dwSaveOption is OLECLOSE_SAVEIFDIRTY of OLECLOSE_PROMPTSAVE.
COleControl::OnDoVerb
Aangeroepen door het framework wanneer de container de IOleObject::DoVerb lidfunctie aanroept.
virtual BOOL OnDoVerb(
LONG iVerb,
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parameterwaarden
iVerb
De index van de besturingselementopdracht die moet worden aangeroepen.
lpMsg
Een aanwijzer naar het Windows-bericht waardoor het werkwoord werd aangeroepen.
hWndParent
De ingang naar het bovenliggende venster van het besturingselement. Als de uitvoering van het werkwoord een venster (of vensters) maakt, moet hWndParent worden gebruikt als het bovenliggende item.
lpRect
Een aanwijzer naar een RECT-structuur waarin de coördinaten van het besturingselement, ten opzichte van de container, worden gekopieerd.
Retourwaarde
Nonzero als de oproep is geslaagd; anders 0.
Opmerkingen
De standaard implementatie maakt gebruik van de ON_OLEVERB- en ON_STDOLEVERB berichtoverzichtvermeldingen om de juiste functie te bepalen die moet worden aangeroepen.
Overschrijf deze functie om de standaardverwerking van werkwoorden te wijzigen.
COleControl::OnDraw
Aangeroepen door het framework om het OLE-besturingselement te tekenen in de opgegeven begrenzingsrechthoek met behulp van de opgegeven apparaatcontext.
virtual void OnDraw(
CDC* pDC,
const CRect& rcBounds,
const CRect& rcInvalid);
Parameterwaarden
Pdc
De apparaatcontext waarin de tekening optreedt.
rcBounds
Het rechthoekige gebied van het besturingselement, inclusief de rand.
rcInvalid
Het rechthoekige gebied van het besturingselement dat ongeldig is.
Opmerkingen
OnDraw wordt meestal aangeroepen voor schermweergave, waarbij een schermapparaatcontext wordt doorgegeven als pDC. De parameter rcBounds identificeert de rechthoek in de context van het doelapparaat (ten opzichte van de huidige toewijzingsmodus). De rcInvalid-parameter is de werkelijke rechthoek die ongeldig is. In sommige gevallen is dit een kleiner gebied dan rcBounds.
COleControl::OnDrawMetafile
Wordt aangeroepen door het framework om het OLE-besturingselement te tekenen in de opgegeven begrenzingsrechthoek met behulp van de opgegeven context van het metabestandapparaat.
virtual void OnDrawMetafile(
CDC* pDC,
const CRect& rcBounds);
Parameterwaarden
Pdc
De apparaatcontext waarin de tekening optreedt.
rcBounds
Het rechthoekige gebied van het besturingselement, inclusief de rand.
Opmerkingen
De standaard implementatie roept de functie OnDraw aan.
COleControl::OnEdit
Zorgt ervoor dat het besturingselement wordt geactiveerd door de gebruikersinterface.
virtual BOOL OnEdit(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parameterwaarden
lpMsg
Een aanwijzer naar het Windows-bericht dat het werkwoord heeft aangeroepen.
hWndParent
Een ingang naar het bovenliggende venster van het besturingselement.
lpRect
Een aanwijzer naar de rechthoek die wordt gebruikt door het besturingselement in de container.
Retourwaarde
Niet-nul als de oproep is geslaagd; anders 0.
Opmerkingen
Dit heeft hetzelfde effect als het aanroepen van het OLEIVERB_UIACTIVATE werkwoord van het besturingselement.
Deze functie wordt doorgaans gebruikt als handlerfunctie voor een ON_OLEVERB berichttoewijzingsvermelding. Hierdoor is een bewerking bewerken beschikbaar in het menu Object van het besturingselement. Voorbeeld:
ON_OLEVERB(AFX_IDS_VERB_EDIT, OnEdit)
COleControl::OnEnabledChanged
Aangeroepen door het framework wanneer de eigenschapswaarde Ingeschakeld voor aandelen is gewijzigd.
virtual void OnEnabledChanged();
Opmerkingen
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd. De standaard implementatie roept InvalidateControl aan.
COleControl::OnEnumVerbs
Aangeroepen door het framework wanneer de container de IOleObject::EnumVerbs lidfunctie aanroept.
virtual BOOL OnEnumVerbs(LPENUMOLEVERB* ppenumOleVerb);
Parameterwaarden
ppenumOleVerb
Een aanwijzer naar het IEnumOLEVERB object waarmee de werkwoorden van het besturingselement worden opgesomd.
Retourwaarde
Niet-nul als werkwoorden beschikbaar zijn; anders 0.
Opmerkingen
Met de standaard implementatie worden de ON_OLEVERB vermeldingen in de berichtenkaart opgesomd.
Overschrijf deze functie om de standaardwijze voor het inventariseren van werkwoorden te wijzigen.
COleControl::OnEventAdvise
Aangeroepen door het framework wanneer een gebeurtenis-handler is verbonden met of is losgekoppeld van een OLE-besturingselement.
virtual void OnEventAdvise(BOOL bAdvise);
Parameterwaarden
bAdvise
TRUE geeft aan dat een gebeurtenis-handler is verbonden met het besturingselement. FALSE geeft aan dat een gebeurtenis-handler is losgekoppeld van het besturingselement.
COleControl::OnFontChanged
Aangeroepen door het framework wanneer de eigenschapswaarde lettertype voor aandelen is gewijzigd.
virtual void OnFontChanged();
Opmerkingen
De standaard-implementatie-aanroepen COleControl::InvalidateControl. Als het besturingselement een Windows-besturingselement subklassen heeft, verzendt de standaard implementatie ook een WM_SETFONT bericht naar het venster van het besturingselement.
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd.
Example
void CMyAxCtrl::OnFontChanged()
{
// Always set it to the container's font
if (m_MyEdit.m_hWnd != NULL)
{
IFontDisp *pFontDisp = NULL;
IFont *pFont = NULL;
HRESULT hr;
// Get the container's FontDisp interface
pFontDisp = AmbientFont();
if (pFontDisp)
{
hr = pFontDisp->QueryInterface(IID_IFont, (LPVOID*)&pFont);
if (FAILED(hr))
{
pFontDisp->Release();
return;
}
}
HFONT hFont = NULL;
if (pFont)
{
pFont->get_hFont(&hFont);
m_MyEdit.SendMessage(WM_SETFONT, (WPARAM)hFont, 0L);
}
pFontDisp->Release();
}
// Invalidate the control
m_MyEdit.Invalidate();
m_MyEdit.UpdateWindow();
COleControl::OnFontChanged();
}
COleControl::OnForeColorChanged
Aangeroepen door het framework wanneer de eigenschapswaarde foreColor van aandelen is gewijzigd.
virtual void OnForeColorChanged();
Opmerkingen
De standaard-implementatie-aanroepen InvalidateControl.
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd.
COleControl::OnFreezeEvents
Aangeroepen door het framework na de containeraanroepen IOleControl::FreezeEvents.
virtual void OnFreezeEvents(BOOL bFreeze);
Parameterwaarden
bFreeze
WAAR als de gebeurtenisafhandeling van het besturingselement is geblokkeerd; anders ONWAAR.
Opmerkingen
De standaard implementatie doet niets.
Overschrijf deze functie als u extra gedrag wilt wanneer gebeurtenisafhandeling is geblokkeerd of uitgeschakeld.
COleControl::OnGetColorSet
Aangeroepen door het framework wanneer de container de IViewObject::GetColorSet lidfunctie aanroept.
virtual BOOL OnGetColorSet(
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
LPLOGPALETTE* ppColorSet);
Parameterwaarden
ptd
Verwijst naar het doelapparaat waarvoor de afbeelding moet worden weergegeven. Als deze waarde NULL is, moet de afbeelding worden weergegeven voor een standaarddoelapparaat, meestal een weergaveapparaat.
hicTargetDev
Hiermee geeft u de informatiecontext op het doelapparaat aangegeven door ptd. Deze parameter kan een apparaatcontext zijn, maar is niet noodzakelijkerwijs een. Als ptd NULL is, moet hicTargetDev ook NULL zijn.
ppColorSet
Een aanwijzer naar de locatie waarin de set kleuren die moeten worden gebruikt, moet worden gekopieerd. Als de functie de kleurenset niet retourneert, wordt NULL geretourneerd.
Retourwaarde
Niet-nul als een geldige kleurenset wordt geretourneerd; anders 0.
Opmerkingen
De container roept deze functie aan om alle kleuren te verkrijgen die nodig zijn om het OLE-besturingselement te tekenen. De container kan de kleurensets gebruiken die zijn verkregen in combinatie met de kleuren die nodig zijn om het algehele kleurenpalet in te stellen. De standaard implementatie retourneert FALSE.
Overschrijf deze functie om een speciale verwerking van deze aanvraag uit te voeren.
COleControl::OnGetControlInfo
Aangeroepen door het framework wanneer de container van het besturingselement informatie over het besturingselement heeft aangevraagd.
virtual void OnGetControlInfo(LPCONTROLINFO pControlInfo);
Parameterwaarden
pControlInfo
Wijs een CONTROLINFO-structuur aan die moet worden ingevuld.
Opmerkingen
Deze informatie bestaat voornamelijk uit een beschrijving van de nemonische sleutels van het besturingselement. De standaard implementatie vult pControlInfo met standaardinformatie.
Overschrijf deze functie als uw controle mnemonic-sleutels moet verwerken.
COleControl::OnGetDisplayString
Wordt aangeroepen door het framework om een tekenreeks te verkrijgen die de huidige waarde van de eigenschap vertegenwoordigt die wordt geïdentificeerd door ontspied.
virtual BOOL OnGetDisplayString(
DISPID dispid,
CString& strValue);
Parameterwaarden
ontspied
De verzend-id van een eigenschap van het besturingselement.
strValue
Een verwijzing naar een CString-object waarmee een tekenreeks wordt geretourneerd.
Retourwaarde
Niet-nul als een tekenreeks is geretourneerd in strValue; anders 0.
Opmerkingen
Overschrijf deze functie als uw besturingselement een eigenschap heeft waarvan de waarde niet rechtstreeks kan worden geconverteerd naar een tekenreeks en u wilt dat de waarde van de eigenschap wordt weergegeven in een door een container geleverde eigenschapsbrowser.
COleControl::OnGetInPlaceMenu
Aangeroepen door het framework wanneer het besturingselement is geactiveerd om het menu te verkrijgen dat moet worden samengevoegd in het bestaande menu van de container.
virtual HMENU OnGetInPlaceMenu();
Retourwaarde
De greep van het menu van het besturingselement of NULL als het besturingselement geen heeft. De standaard implementatie retourneert NULL.
Opmerkingen
Zie het artikel Menu's en resources (OLE) voor meer informatie over het samenvoegen van OLE-resources.
COleControl::OnGetNaturalExtent
Aangeroepen door het framework als reactie op de aanvraag van IViewObjectEx::GetNaturalExtent een container.
virtual BOOL OnGetNaturalExtent(
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel);
Parameterwaarden
dwAspect
Hiermee geeft u op hoe het object moet worden weergegeven. Weergaven zijn onder andere inhoud, een pictogram, een miniatuur of een afgedrukt document. Geldige waarden worden opgehaald uit de opsomming DVASPECT of DVASPECT2.
lindex
Het gedeelte van het object dat van belang is. Momenteel is alleen -1 geldig.
ptd
Verwijst naar de DVTARGETDEVICE-structuur die het doelapparaat definieert waarvoor de grootte van het object moet worden geretourneerd.
hicTargetDev
Hiermee geeft u de informatiecontext op voor het doelapparaat dat wordt aangegeven door de ptd-parameter waaruit het object metrische apparaatgegevens kan extraheren en de mogelijkheden van het apparaat kan testen. Als ptd NULL is, moet het object de waarde in de parameter hicTargetDev negeren.
pExtentInfo
Verwijst naar de DVEXTENTINFO structuur waarmee de groottegegevens worden opgegeven. De DVEXTENTINFO structuur is:
typedef struct tagExtentInfo
{
UINT cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
Het structuurlid dwExtentMode kan een van de volgende twee waarden aannemen:
DVEXTENT_CONTENT vraag hoe groot het besturingselement moet zijn om precies te passen op inhoud (uitlijnen op grootte)
DVEXTENT_INTEGRAL Bij het wijzigen van het formaat geeft u de voorgestelde grootte door om te bepalen
psizel
Verwijst naar de grootte van gegevens die worden geretourneerd door het besturingselement. De geretourneerde groottegegevens worden ingesteld op -1 voor een dimensie die niet is aangepast.
Retourwaarde
Nonzero als het de grootte retourneert of aanpast; anders 0.
Opmerkingen
Overschrijf deze functie om de weergavegrootte van het object te retourneren die het dichtst bij de voorgestelde grootte en de matemodus in de DVEXTENTINFO structuur ligt. De standaard implementatie retourneert FALSE en brengt geen aanpassingen aan de grootte aan.
COleControl::OnGetPredefinedStrings
Aangeroepen door het framework om een set vooraf gedefinieerde tekenreeksen te verkrijgen die de mogelijke waarden voor een eigenschap vertegenwoordigen.
virtual BOOL OnGetPredefinedStrings(
DISPID dispid,
CStringArray* pStringArray,
CDWordArray* pCookieArray);
Parameterwaarden
ontspied
De verzend-id van een eigenschap van het besturingselement.
pStringArray
Een tekenreeksmatrix die moet worden ingevuld met retourwaarden.
pCookieArray
Een DWORD-matrix die moet worden ingevuld met retourwaarden.
Retourwaarde
Nonzero als elementen zijn toegevoegd aan pStringArray en pCookieArray.
Opmerkingen
Overschrijf deze functie als uw besturingselement een eigenschap heeft met een set mogelijke waarden die kunnen worden vertegenwoordigd door tekenreeksen. Voor elk element dat is toegevoegd aan pStringArray, moet u een bijbehorend 'cookie'-element toevoegen aan pCookieArray. Deze 'cookie'-waarden kunnen later door het framework worden doorgegeven aan de COleControl::OnGetPredefinedValue functie.
COleControl::OnGetPredefinedValue
Aangeroepen door het framework om de waarde te verkrijgen die overeenkomt met een van de vooraf gedefinieerde tekenreeksen die eerder zijn geretourneerd door een onderdrukking van COleControl::OnGetPredefinedStrings.
virtual BOOL OnGetPredefinedValue(
DISPID dispid,
DWORD dwCookie,
VARIANT* lpvarOut);
Parameterwaarden
ontspied
De verzend-id van een eigenschap van het besturingselement.
dwCookie
Een cookiewaarde die eerder is geretourneerd door een onderdrukking van COleControl::OnGetPredefinedStrings.
lpvarOut
Aanwijzer naar een VARIANT structuur waarmee een eigenschapswaarde wordt geretourneerd.
Retourwaarde
Nonzero als een waarde is geretourneerd in lpvarOut; anders 0.
COleControl::OnGetViewExtent
Aangeroepen door het framework als reactie op de IViewObject2::GetExtent-aanvraag van een container.
virtual BOOL OnGetViewExtent(
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
LPSIZEL lpsizel);
Parameterwaarden
dwDrawAspect
DWORD waarin wordt beschreven welke vorm of welk aspect van een object moet worden weergegeven. Geldige waarden worden opgehaald uit de opsomming DVASPECT of DVASPECT2.
lindex
Het gedeelte van het object dat van belang is. Momenteel is alleen -1 geldig.
ptd
Verwijst naar de DVTARGETDEVICE-structuur die het doelapparaat definieert waarvoor de grootte van het object moet worden geretourneerd.
lpsizel
Verwijst naar de locatie waar de grootte van het object wordt geretourneerd.
Retourwaarde
Niet-nul als de omvang van informatie is geretourneerd; anders 0.
Opmerkingen
Overschrijf deze functie als uw besturingselement gebruikmaakt van tweepastekening en de ondoorzichtige en transparante onderdelen verschillende afmetingen hebben.
COleControl::OnGetViewRect
Aangeroepen door het framework als reactie op de aanvraag van IViewObjectEx::GetRect een container.
virtual BOOL OnGetViewRect(DWORD dwAspect, LPRECTL pRect);
Parameterwaarden
dwAspect
DWORD waarin wordt beschreven welke vorm of welk aspect van een object moet worden weergegeven. Geldige waarden worden opgehaald uit de opsomming DVASPECT of DVASPECT2:
DVASPECT_CONTENT begrenzingsrechthoek van het hele object. Linkerbovenhoek van de oorsprong en grootte van het object gelijk aan de mate die wordt geretourneerd door
GetViewExtent.DVASPECT_OPAQUE Objecten met een rechthoekig ondoorzichtig gebied retourneren die rechthoek. Anderen mislukken.
DVASPECT_TRANSPARENT rechthoek die alle transparante of onregelmatige delen bedekt.
pRect
Verwijst naar de RECTL-structuur die de rechthoek aangeeft waarin het object moet worden getekend. Deze parameter bepaalt de plaatsing en stretching van het object.
Retourwaarde
Niet-nul als de rechthoek is aangepast aan het object; anders 0.
Opmerkingen
De grootte van het object wordt geconverteerd OnGetViewRect naar een rechthoek vanaf een specifieke positie (de standaardwaarde is de linkerbovenhoek van de weergave). Overschrijf deze functie als uw besturingselement gebruikmaakt van tweepastekening en de ondoorzichtige en transparante onderdelen verschillende afmetingen hebben.
COleControl::OnGetViewStatus
Aangeroepen door het framework als reactie op de aanvraag van IViewObjectEx::GetViewStatus een container.
virtual DWORD OnGetViewStatus();
Retourwaarde
Een van de waarden van de OPSOMMING VIEWSTATUS indien geslaagd; anders 0. Mogelijke waarden zijn een combinatie van de volgende:
| Naam | Description |
|---|---|
| VIEWSTATUS_OPAQUE | Object is volledig ondoorzichtig. Als deze bit niet is ingesteld, bevat het object transparante onderdelen. Deze bit is alleen van toepassing op inhoudsgerelateerde aspecten en niet op DVASPECT_ICON of DVASPECT_DOCPRINT. |
| VIEWSTATUS_SOLIDBKGND | Het object heeft een effen achtergrond (bestaande uit een effen kleur, geen penseelpatroon). Deze bit is alleen zinvol als VIEWSTATUS_OPAQUE is ingesteld en alleen van toepassing is op inhoudsgerelateerde aspecten en niet op DVASPECT_ICON of DVASPECT_DOCPRINT. |
| VIEWSTATUS_DVASPECTOPAQUE | Object ondersteunt DVASPECT_OPAQUE. Alle IViewObjectEx-methoden die een tekenaspect als parameter gebruiken, kunnen met dit aspect worden aangeroepen. |
| VIEWSTATUS_DVASPECTTRANSPARENT | Object ondersteunt DVASPECT_TRANSPARENT. Alle IViewObjectEx methoden die een tekenaspect als parameter gebruiken, kunnen met dit aspect worden aangeroepen. |
Opmerkingen
Overschrijf deze functie als uw besturingselement gebruikmaakt van twee-passtekening. De standaard implementatie retourneert VIEWSTATUS_OPAQUE.
COleControl::OnHideToolBars
Aangeroepen door het framework wanneer het besturingselement is gedeactiveerd.
virtual void OnHideToolBars();
Opmerkingen
De implementatie moet alle werkbalken verbergen die worden weergegeven door OnShowToolbars.
COleControl::OnInactiveMouseMove
Aangeroepen door de container voor het inactieve object onder de muis aanwijzer bij ontvangst van een WM_MOUSEMOVE bericht.
virtual void OnInactiveMouseMove(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwKeyState);
Parameterwaarden
lprcBounds
De objectgrensrechthoek, in clientcoördinaten van het venster dat het bevat. Hiermee wordt de exacte positie en grootte van het object op het scherm aangegeven wanneer het WM_MOUSEMOVE bericht is ontvangen.
x
De x-coördinaat van de muislocatie in clientcoördinaten van het venster met de muis.
y
De y-coördinaat van de muislocatie in clientcoördinaten van het venster met de muis.
dwKeyState
Identificeert de huidige status van de toetsenbordaanpassingstoetsen op het toetsenbord. Geldige waarden kunnen een combinatie zijn van een van de vlaggen MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON en MK_RBUTTON.
Opmerkingen
Houd er rekening mee dat vensterclientcoördinaten (pixels) worden gebruikt om de cursorpositie van de muis door te geven. Dit wordt mogelijk gemaakt door ook de begrenzingsrechthoek van het object door te geven in hetzelfde coördinaatsysteem.
COleControl::OnInactiveSetCursor
Aangeroepen door de container voor het inactieve object onder de muis aanwijzer bij ontvangst van een WM_SETCURSOR bericht.
virtual BOOL OnInactiveSetCursor(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwMouseMsg,
BOOL bSetAlways);
Parameterwaarden
lprcBounds
De objectgrensrechthoek, in clientcoördinaten van het venster dat het bevat. Hiermee wordt de exacte positie en grootte van het object op het scherm aangegeven wanneer het WM_SETCURSOR bericht is ontvangen.
x
De x-coördinaat van de muislocatie in clientcoördinaten van het venster met de muis.
y
De y-coördinaat van de muislocatie in clientcoördinaten van het venster met de muis.
dwMouseMsg
De id van het muisbericht waarvoor een WM_SETCURSOR heeft plaatsgevonden.
bSetAlways
Hiermee geeft u op of het object de cursor moet instellen. Als WAAR is, moet het object de cursor instellen; als ONWAAR is, is de cursor niet verplicht om de cursor in te stellen en moet in dat geval S_FALSE worden geretourneerd.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Houd er rekening mee dat vensterclientcoördinaten (pixels) worden gebruikt om de cursorpositie van de muis door te geven. Dit wordt mogelijk gemaakt door ook de begrenzingsrechthoek van het object door te geven in hetzelfde coördinaatsysteem.
COleControl::OnKeyDownevent
Aangeroepen door het framework nadat een KeyDown-gebeurtenis voor voorraad is verwerkt.
virtual void OnKeyDownEvent(
USHORT nChar,
USHORT nShiftState);
Parameterwaarden
Nchar
De codewaarde van de virtuele sleutel van de ingedrukte toets. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
Opmerkingen
Overschrijf deze functie als uw besturingselement toegang nodig heeft tot de sleutelgegevens nadat de gebeurtenis is geactiveerd.
COleControl::OnKeyPressevent
Aangeroepen door het framework nadat de stock KeyPress-gebeurtenis is geactiveerd.
virtual void OnKeyPressEvent(USHORT nChar);
Parameterwaarden
Nchar
Bevat de codewaarde van de virtuele sleutel van de toets die is ingedrukt. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
Opmerkingen
Houd er rekening mee dat de nChar-waarde mogelijk is gewijzigd door de container.
Overschrijf deze functie als u een melding wilt ontvangen nadat deze gebeurtenis plaatsvindt.
COleControl::OnKeyUpevent
Aangeroepen door het framework nadat een KeyDown-gebeurtenis voor voorraad is verwerkt.
virtual void OnKeyUpEvent(
USHORT nChar,
USHORT nShiftState);
Parameterwaarden
Nchar
De codewaarde van de virtuele sleutel van de ingedrukte toets. Zie Winuser.h voor een lijst met standaard virtuele-sleutelcodes
nShiftState
Bevat een combinatie van de volgende vlaggen:
SHIFT_MASK De Shift-toets werd ingedrukt tijdens de actie.
CTRL_MASK De Ctrl-toets is ingedrukt tijdens de actie.
ALT_MASK De alt-toets is ingedrukt tijdens de actie.
Opmerkingen
Overschrijf deze functie als uw besturingselement toegang nodig heeft tot de sleutelgegevens nadat de gebeurtenis is geactiveerd.
COleControl::OnMapPropertyToPage
Wordt aangeroepen door het framework om de klasse-id te verkrijgen van een eigenschappenpagina die bewerking van de opgegeven eigenschap implementeert.
virtual BOOL OnMapPropertyToPage(
DISPID dispid,
LPCLSID lpclsid,
BOOL* pbPageOptional);
Parameterwaarden
ontspied
De verzend-id van een eigenschap van het besturingselement.
lpclsid
Wijs een CLSID structuur aan waarmee een klasse-id wordt geretourneerd.
pbPageOptional
Retourneert een indicator of het gebruik van de opgegeven eigenschappenpagina optioneel is.
Retourwaarde
Nonzero als een klasse-id is geretourneerd in lpclsid; anders 0.
Opmerkingen
Overschrijf deze functie om een manier te bieden om de eigenschappenpagina's van uw besturingselement aan te roepen vanuit de eigenschappenbrowser van de container.
COleControl::OnMnemonic
Aangeroepen door het framework wanneer de container heeft gedetecteerd dat er een nemonische sleutel van het OLE-besturingselement is ingedrukt.
virtual void OnMnemonic(LPMSG pMsg);
Parameterwaarden
pMsg
Wijs het Windows-bericht aan dat is gegenereerd door een nemonic-toets.
COleControl::OnProperties
Aangeroepen door het framework wanneer het eigenschappenwerkwoord van het besturingselement is aangeroepen door de container.
virtual BOOL OnProperties(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parameterwaarden
lpMsg
Een aanwijzer naar het Windows-bericht dat het werkwoord heeft aangeroepen.
hWndParent
Een ingang naar het bovenliggende venster van het besturingselement.
lpRect
Een aanwijzer naar de rechthoek die wordt gebruikt door het besturingselement in de container.
Retourwaarde
Niet-nul als de oproep is geslaagd; anders 0.
Opmerkingen
In de standaard implementatie wordt een dialoogvenster met modale eigenschappen weergegeven.
U kunt deze functie ook gebruiken om de weergave van de eigenschappenpagina's van uw besturingselement te veroorzaken. Maak een aanroep naar de OnProperties functie, waarbij de ingang van het bovenliggende besturingselement wordt doorgegeven in de parameter hWndParent . In dit geval worden de waarden van de parameters lpMsg en lpRect genegeerd.
COleControl::OnQueryHitPoint
Aangeroepen door het framework als reactie op de aanvraag van IViewObjectEx::QueryHitPoint een container.
virtual BOOL OnQueryHitPoint(
DWORD dwAspect,
LPCRECT pRectBounds,
POINT ptlLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parameterwaarden
dwAspect
Hiermee geeft u op hoe het object wordt weergegeven. Geldige waarden worden opgehaald uit de opsomming DVASPECT of DVASPECT2.
pRectBounds
Wijs een RECT structuur aan die de begrenzingsrechthoek van het OLE-besturingsclientgebied aangeeft.
ptlLoc
Aanwijzer naar de POINT structuur die het punt aangeeft dat moet worden gecontroleerd op een treffer. Het punt wordt opgegeven in ole-clientgebiedcoördinaten.
lCloseHint
De afstand die 'dicht' definieert bij het punt dat is gecontroleerd op een hit.
pHitResult
Wijs het resultaat van de trefferquery aan. Een van de volgende waarden:
HITRESULT_OUTSIDE ptlLoc zich buiten het OLE-object bevindt en niet dicht is.
HITRESULT_TRANSPARENT ptlLoc valt binnen de grenzen van het OLE-object, maar niet dicht bij de afbeelding. Een punt in het midden van een transparante cirkel kan bijvoorbeeld worden HITRESULT_TRANSPARENT.
HITRESULT_CLOSE ptlLoc zich binnen of buiten het OLE-object bevindt, maar dicht genoeg bij het object dat binnen moet worden beschouwd. Kleine, dunne of gedetailleerde objecten kunnen deze waarde gebruiken. Zelfs als een punt zich buiten de begrenzingsrechthoek van een object bevindt, kan het nog steeds dicht zijn (dit is nodig voor het raken van kleine objecten).
HITRESULT_HIT ptlLoc zich in de afbeelding van het object bevindt.
Retourwaarde
Niet-nul als een hitresultaat is geretourneerd; anders 0. Een treffer is een overlapping met het weergavegebied van het OLE-besturingselement.
Opmerkingen
Query's of de weergaverechthoek van een object het opgegeven punt overlapt (raakt het punt).
QueryHitPoint kan worden overschreven om treffers voor niet-rechthoekige objecten te testen.
COleControl::OnQueryHitRect
Aangeroepen door het framework als reactie op de aanvraag van IViewObjectEx::QueryHitRect een container.
virtual BOOL OnQueryHitRect(
DWORD dwAspect,
LPCRECT pRectBounds,
LPCRECT prcLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parameterwaarden
dwAspect
Hiermee geeft u op hoe het object moet worden weergegeven. Geldige waarden worden opgehaald uit de opsomming DVASPECT of DVASPECT2.
pRectBounds
Wijs een RECT structuur aan die de begrenzingsrechthoek van het OLE-besturingsclientgebied aangeeft.
prcLoc
Wijs de RECT structuur aan die de rechthoek aangeeft die moet worden gecontroleerd op een treffer (overlap met de objectrechthoek), ten opzichte van de linkerbovenhoek van het object.
lCloseHint
Niet gebruikt.
pHitResult
Wijs het resultaat van de trefferquery aan. Een van de volgende waarden:
HITRESULT_OUTSIDE geen punt in de rechthoek wordt bereikt door het OLE-object.
HITRESULT_HIT ten minste één punt in de rechthoek zou een treffer op het object zijn.
Retourwaarde
Niet-nul als een hitresultaat is geretourneerd; anders 0.
Opmerkingen
Query's of de weergaverechthoek van een object elk punt in de opgegeven rechthoek overlapt (raakt de rechthoek).
QueryHitRect kan worden overschreven om treffers voor niet-rechthoekige objecten te testen.
COleControl::OnRenderData
Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Parameterwaarden
lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.
lpStgMedium
Verwijst naar een STGMEDIUM-structuur waarin de gegevens moeten worden geretourneerd.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De opgegeven indeling is een eerder in het besturingsobject geplaatst met behulp van de functies DelayRenderData of DelayRenderFileData-lid voor vertraagde rendering. De standaard implementatie van deze functie roept aan OnRenderFileData of OnRenderGlobalData, respectievelijk, als het opgegeven opslagmedium een bestand of geheugen is. Als de aangevraagde indeling is CF_METAFILEPICT of de indeling van de permanente eigenschappenset, worden met de standaard implementatie de juiste gegevens weergegeven en wordt niet-nul geretourneerd. Anders retourneert het 0 en doet niets.
Als lpStgMedium-tymed> is TYMED_NULL, moet de STGMEDIUM worden toegewezen en ingevuld zoals opgegeven door lpFormatEtc-tymed>. Zo niet TYMED_NULL, moet het STGMEDIUM worden ingevuld met de gegevens.
Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als uw gegevens klein en in grootte zijn, overschrijven OnRenderGlobalData. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijven OnRenderFileData.
Zie de FORMATETC en STGMEDIUM structuren in de Windows SDK voor meer informatie.
COleControl::OnRenderFileData
Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling wanneer het opslagmedium een bestand is.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Parameterwaarden
lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.
pFile
Verwijst naar een CFile-object waarin de gegevens moeten worden weergegeven.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De opgegeven indeling is een eerder in het besturingsobject geplaatst met behulp van de functie DelayRenderData-lid voor vertraagde rendering. De standaard implementatie van deze functie retourneert gewoon ONWAAR.
Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als u meerdere opslagmedia wilt verwerken, moet u overschrijven OnRenderData. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijven OnRenderFileData.
Zie de FORMATETC structuur in de Windows SDK voor meer informatie.
COleControl::OnRenderGlobalData
Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling wanneer het opgegeven opslagmedium wereldwijd geheugen is.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Parameterwaarden
lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.
phGlobal
Verwijst naar een ingang naar globaal geheugen waarin de gegevens moeten worden geretourneerd. Als er geen geheugen is toegewezen, kan deze parameter NULL zijn.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De opgegeven indeling is een eerder in het besturingsobject geplaatst met behulp van de functie DelayRenderData-lid voor vertraagde rendering. De standaard implementatie van deze functie retourneert gewoon ONWAAR.
Als phGlobal NULL is, moet een nieuwe HGLOBAL worden toegewezen en geretourneerd in phGlobal. Anders moet de HGLOBAL die is opgegeven door phGlobal , worden gevuld met de gegevens. De hoeveelheid gegevens die in de HGLOBAL worden geplaatst, mag niet groter zijn dan de huidige grootte van het geheugenblok. Het blok kan ook niet opnieuw worden toegewezen aan een grotere grootte.
Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als u meerdere opslagmedia wilt verwerken, moet u overschrijven OnRenderData. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijven OnRenderFileData.
Zie de FORMATETC structuur in de Windows SDK voor meer informatie.
COleControl::OnResetState
Aangeroepen door het framework wanneer de eigenschappen van het besturingselement moeten worden ingesteld op de standaardwaarden.
virtual void OnResetState();
Opmerkingen
De standaard implementatie roept DoPropExchange aan, waarbij een CPropExchange object wordt doorgegeven dat ervoor zorgt dat eigenschappen worden ingesteld op de standaardwaarden.
De schrijver van het besturingselement kan initialisatiecode invoegen voor het OLE-besturingselement in dit overschrijfbare. Deze functie wordt aangeroepen wanneer IPersistStream::Load of IPersistStorage::Load mislukt, of IPersistStreamInit::InitNew of IPersistStorage::InitNew wordt aangeroepen, zonder eerst aan te roepen IPersistStream::Load of IPersistStorage::Load.
COleControl::OnSetClientSite
Aangeroepen door het framework wanneer de container de functie van IOleControl::SetClientSite het besturingselement heeft aangeroepen.
virtual void OnSetClientSite();
Opmerkingen
OnSetClientSite Standaard controleert u of de eigenschappen van het gegevenspad zijn geladen en, als dat het gaat, aanroepenDoDataPathPropExchange.
Overschrijf deze functie om een speciale verwerking van deze melding uit te voeren. Met name moeten onderdrukkingen van deze functie de basisklasse aanroepen.
COleControl::OnSetData
Aangeroepen door het framework om de gegevens van het besturingselement te vervangen door de opgegeven gegevens.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Parameterwaarden
lpFormatEtc
Wijs een FORMATETC-structuur aan die de indeling van de gegevens aangeeft.
lpStgMedium
Wijs een STGMEDIUM-structuur aan waarin de gegevens zich bevinden.
bRelease
WAAR als het besturingselement het opslagmedium vrij moet maken; ONWAAR als het besturingselement het opslagmedium niet mag vrij maken.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Als de gegevens de indeling van de permanente eigenschappenset hebben, wijzigt de standaard implementatie de status van het besturingselement dienovereenkomstig. Anders doet de standaard implementatie niets. Als bRelease TRUE is, wordt er een aanroep uitgevoerd ReleaseStgMedium . Anders niet.
Overschrijf deze functie om de gegevens van het besturingselement te vervangen door de opgegeven gegevens.
Zie de FORMATETC en STGMEDIUM structuren in de Windows SDK voor meer informatie.
COleControl::OnSetExtent
Aangeroepen door het framework wanneer de omvang van het besturingselement moet worden gewijzigd, als gevolg van een aanroep naar IOleObject::SetExtent.
virtual BOOL OnSetExtent(LPSIZEL lpSizeL);
Parameterwaarden
lpSizeL
Een aanwijzer naar de SIZEL structuur die lange gehele getallen gebruikt om de breedte en hoogte van het besturingselement weer te geven, uitgedrukt in HIMETRIC-eenheden.
Retourwaarde
Niet-nul als de groottewijziging is geaccepteerd; anders 0.
Opmerkingen
De standaard implementatie verwerkt de grootte van de omvang van het besturingselement. Als het besturingselement actief is, wordt er een aanroep naar de container OnPosRectChanged uitgevoerd.
Overschrijf deze functie om de standaardgrootte van uw besturingselement te wijzigen.
COleControl::OnSetObjectrects
Aangeroepen door het framework om een aanroep naar IOleInPlaceObject::SetObjectRects te implementeren.
virtual BOOL OnSetObjectRects(
LPCRECT lpRectPos,
LPCRECT lpRectClip);
Parameterwaarden
lpRectPos
Een aanwijzer naar een RECT structuur die de nieuwe positie en grootte van het besturingselement aangeeft ten opzichte van de container.
lpRectClip
Een aanwijzer naar een RECT structuur die een rechthoekig gebied aangeeft waarnaar het besturingselement moet worden geknipt.
Retourwaarde
Niet-nul indien de positie is geaccepteerd; anders 0.
Opmerkingen
De standaard implementatie verwerkt automatisch de herplaatsing en grootte van het besturingsvenster en retourneert TRUE.
Overschrijf deze functie om het standaardgedrag van deze functie te wijzigen.
COleControl::OnShowToolBars
Aangeroepen door het framework wanneer het besturingselement is geactiveerd.
virtual void OnShowToolBars();
Opmerkingen
De standaard implementatie doet niets.
COleControl::OnTextChanged
Aangeroepen door het framework wanneer de waarde van de eigenschap Stock Caption of Text is gewijzigd.
virtual void OnTextChanged();
Opmerkingen
De standaard-implementatie-aanroepen InvalidateControl.
Overschrijf deze functie als u een melding wilt ontvangen nadat deze eigenschap is gewijzigd.
COleControl::OnWindowlessMessage
Aangeroepen door het framework als reactie op de aanvraag van IOleInPlaceObjectWindowless::OnWindowMessage een container.
virtual BOOL OnWindowlessMessage(
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parameterwaarden
msg
Bericht-id zoals doorGegeven door Windows.
wParam-
Zoals doorGegeven door Windows. Hiermee geeft u aanvullende berichtspecifieke informatie op. De inhoud van deze parameter is afhankelijk van de waarde van de msg-parameter .
lParam-
Zoals doorGegeven door Windows. Hiermee geeft u aanvullende berichtspecifieke informatie op. De inhoud van deze parameter is afhankelijk van de waarde van de msg-parameter .
plResult
Windows-resultaatcode. Hiermee geeft u het resultaat van de berichtverwerking op en is afhankelijk van het verzonden bericht.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Hiermee worden vensterberichten voor vensterloze besturingselementen verwerkt.
COleControl's OnWindowlessMessage moeten worden gebruikt voor andere vensterberichten dan muisberichten en toetsenbordberichten.
COleControl biedt SetCapture en SetFocus specifiek om muisopname en toetsenbordfocus te krijgen voor vensterloze OLE-objecten.
Omdat vensterloze objecten geen venster hebben, hebben ze een mechanisme nodig om de container berichten naar hen te laten verzenden. Een vensterloos OLE-object haalt berichten op uit de container, via de OnWindowMessage methode op de IOleInPlaceObjectWindowless interface (een uitbreiding van IOleInPlaceObject voor ondersteuning zonder venster).
OnWindowMessage neemt HWND geen parameter.
COleControl::P arentToClient
Hiermee worden de coördinaten van pPoint omgezet in clientcoördinaten.
virtual UINT ParentToClient(
LPCRECT lprcBounds,
LPPOINT pPoint,
BOOL bHitTest = FALSE) const;
Parameterwaarden
lprcBounds
Wijs de grenzen van het OLE-besturingselement binnen de container aan. Niet het clientgebied, maar het gebied van het hele besturingselement, inclusief randen en schuifbalken.
pPoint
Aanwijzer naar het bovenliggende punt (container) dat moet worden omgezet in de coördinaten van het clientgebied van het besturingselement.
bHitTest
Hiermee geeft u op of testen al dan niet moet worden uitgevoerd op het punt.
Retourwaarde
Als bHitTest FALSE is, wordt HTNOWHERE geretourneerd. Als bHitTest TRUE is, retourneert u de locatie waar het bovenliggende punt (container) terechtkomt in het clientgebied van het OLE-besturingselement en is dit een van de volgende waarden voor muistreffers:
HTBORDER In de rand van een venster dat geen grootterand heeft.
HTBOTTOM In de onderste horizontale rand van het venster.
HTBOTTOMLEFT In de linkerbenedenhoek van de vensterrand.
HTBOTTOMRIGHT In de rechterbenedenhoek van de vensterrand.
HTCAPTION In een titelbalkgebied.
HTCLIENT In een clientgebied.
HTERROR Op de achtergrond van het scherm of op een scheidingslijn tussen vensters (hetzelfde als HTNOWHERE, behalve dat de
DefWndProcWindows-functie een systeemepep produceert om een fout aan te geven).HTGROWBOX In een formaatdoos.
HTHSCROLL In de horizontale schuifbalk.
HTLEFT In de linkerrand van het venster.
HTMAXBUTTON In een knop Maximaliseren.
HTMENU In een menugebied.
HTMINBUTTON In een knop Minimaliseren.
HTNOWHERE Op de achtergrond van het scherm of op een scheidingslijn tussen vensters.
HTREDUCE In een knop Minimaliseren.
HTRIGHT In de rechterrand van het venster.
HTSIZE In een formaatvak (hetzelfde als HTGROWBOX).
HTSYSMENU In een menu Control of in een knop Sluiten in een onderliggend venster.
HTTOP In de bovenste horizontale rand van het venster.
HTTOPLEFT In de linkerbovenhoek van de vensterrand.
HTTOPRIGHT In de rechterbovenhoek van de vensterrand.
HTTRANSPARENT In een venster dat momenteel wordt gedekt door een ander venster.
HTVSCROLL In de verticale schuifbalk.
HTZOOM In een knop Maximaliseren.
Opmerkingen
Bij invoer pPoint is relatief ten opzichte van de oorsprong van het bovenliggende item (linkerbovenhoek van de container). Op uitvoer pPoint is relatief ten opzichte van de oorsprong van het clientgebied van het OLE-besturingselement (linkerbovenhoek van het clientgebied van het besturingselement).
COleControl::P ostModalDialog
Hiermee wordt de container aangegeven dat een modaal dialoogvenster is gesloten.
void PostModalDialog(HWND hWndParent = NULL);
Parameterwaarden
hWndParent
Greep naar het bovenliggende venster van het modale dialoogvenster.
Opmerkingen
Roep deze functie aan nadat u een modaal dialoogvenster hebt weergegeven. U moet deze functie aanroepen, zodat de container alle vensters op het hoogste niveau kan inschakelen die zijn uitgeschakeld door PreModalDialog. Deze functie moet worden gekoppeld aan een aanroep naar PreModalDialog.
COleControl::P reModalDialog
Hiermee wordt de container gewaarschuwd dat er een modaal dialoogvenster wordt weergegeven.
void PreModalDialog(HWND hWndParent = NULL);
Parameterwaarden
hWndParent
Greep naar het bovenliggende venster van het modale dialoogvenster.
Opmerkingen
Roep deze functie aan voordat u een modaal dialoogvenster weergeeft. U moet deze functie aanroepen, zodat de container alle vensters op het hoogste niveau kan uitschakelen. Nadat het modale dialoogvenster is weergegeven, moet u vervolgens aanroepen PostModalDialog.
COleControl::RecreateControlWindow
Vernietigt en maakt het venster van het besturingselement opnieuw.
void RecreateControlWindow();
Opmerkingen
Dit kan nodig zijn als u de stijl bits van het venster moet wijzigen.
COleControl::Vernieuwen
Hiermee wordt een repaint van het OLE-besturingselement afduwd.
void Refresh();
Opmerkingen
Deze functie wordt ondersteund door de basisklasse als een aandelenmethode, met de COleControl naam Refresh. Hierdoor kunnen gebruikers van uw OLE-besturingselement het besturingselement op een bepaald moment opnieuw instellen. Zie het artikel ActiveX-besturingselementen: Methoden voor meer informatie over deze methode.
COleControl::ReleaseCapture
Brengt het vastleggen van de muis vrij.
BOOL ReleaseCapture();
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Als het besturingselement momenteel de muisopname heeft, wordt de opname vrijgegeven. Anders heeft deze functie geen effect.
COleControl::ReleaseDC
Hiermee wordt de weergaveapparaatcontext van een container met een vensterloos besturingselement uitgebracht, waardoor de apparaatcontext wordt vrijgemaakt voor gebruik door andere toepassingen.
int ReleaseDC(CDC* pDC);
Parameterwaarden
Pdc
Identificeert de containerapparaatcontext die moet worden vrijgegeven.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De toepassing moet elke aanroep naar GetDC aanroepenReleaseDC.
COleControl::ReparentControlWindow
Hiermee stelt u het bovenliggende element van het besturingselement in.
virtual void ReparentControlWindow(
HWND hWndOuter,
HWND hWndParent);
Parameterwaarden
hWndOuter
De greep van het besturingselementvenster.
hWndParent
De ingang van het nieuwe bovenliggende venster.
Opmerkingen
Roep deze functie aan om het bovenliggende besturingselementvenster opnieuw in te stellen.
COleControl::ResetStockProps
Initialiseert de status van de COleControl aandeleneigenschappen naar de standaardwaarden.
void ResetStockProps();
Opmerkingen
De eigenschappen zijn: Vormgeving, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor, hWnd en Text. Zie ActiveX-besturingselementen: Stockeigenschappen toevoegen voor een beschrijving van voorraadeigenschappen.
U kunt de binaire initialisatieprestaties van een besturingselement verbeteren door deze te gebruiken ResetStockProps en ResetVersion te overschrijven COleControl::OnResetState. Zie het onderstaande voorbeeld. Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over het optimaliseren van initialisatie.
Example
void CMyAxCtrl::OnResetState()
{
ResetVersion(MAKELONG(_wVerMinor, _wVerMajor));
ResetStockProps();
// initialize custom properties here
}
COleControl::ResetVersion
Initialiseert het versienummer naar de opgegeven waarde.
void ResetVersion(DWORD dwVersionDefault);
Parameterwaarden
dwVersionDefault
Het versienummer dat moet worden toegewezen aan het besturingselement.
Opmerkingen
U kunt de binaire initialisatieprestaties van een besturingselement verbeteren door deze te gebruiken ResetVersion en ResetStockProps te overschrijven COleControl::OnResetState. Zie het voorbeeld bij ResetStockProps. Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over het optimaliseren van initialisatie.
COleControl::ScrollWindow
Hiermee kan een ole-object zonder venster een gebied in de in-place actieve afbeelding op het scherm schuiven.
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 waarmee het gedeelte van het clientgebied van het OLE-object wordt opgegeven om te schuiven, in clientcoördinaten van het betreffende venster. Als lpRect NULL is, wordt het clientgebied van het hele OLE-object doorgeschoven.
lpClipRect
Verwijst naar een CRect object of RECT structuur waarop de rechthoek waarnaar moet worden geknipt. Alleen pixels in de rechthoek worden geschoven. Bits buiten de rechthoek worden niet beïnvloed, zelfs niet als ze zich in de rechthoek lpRect bevinden. Als lpClipRect NULL is, wordt er geen knipsel uitgevoerd op de schuifrechthoek.
COleControl::SelectFontObject
Hiermee selecteert u een lettertype in een apparaatcontext.
CFont* SelectFontObject(
CDC* pDC,
CFontHolder& fontHolder);
Parameterwaarden
Pdc
Aanwijzer naar een apparaatcontextobject.
fontHolder
Verwijzing naar het CFontHolder-object dat het geselecteerde lettertype vertegenwoordigt.
Retourwaarde
Een aanwijzer naar het eerder geselecteerde lettertype. Wanneer de aanroeper alle tekenbewerkingen met fontHolder heeft voltooid, moet het eerder geselecteerde lettertype opnieuw worden geselecteerd door het als parameter door te geven aan CDC::SelectObject.
COleControl::SelectStockFont
Hiermee selecteert u de eigenschap Lettertype voor aandelen in een apparaatcontext.
CFont* SelectStockFont(CDC* pDC);
Parameterwaarden
Pdc
De apparaatcontext waarin het lettertype wordt geselecteerd.
Retourwaarde
Een aanwijzer naar het eerder geselecteerde CFont object. U moet CDC::SelectObject gebruiken om dit lettertype weer in de apparaatcontext te selecteren wanneer u klaar bent.
COleControl::SerializeExtent
Serialiseert of initialiseert de status van de weergaveruimte die aan het besturingselement is toegewezen.
void SerializeExtent(CArchive& ar);
Parameterwaarden
Ar
Een CArchive object dat moet worden geserialiseerd naar of van.
Opmerkingen
U kunt de binaire persistentieprestaties van een besturingselement verbeteren met behulp van SerializeExtent, SerializeStockPropsen SerializeVersion om te overschrijven COleControl::Serialize. Zie het onderstaande voorbeeld. Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over het optimaliseren van initialisatie.
Example
void CMyAxCtrl::Serialize(CArchive &ar)
{
SerializeVersion(ar, MAKELONG(_wVerMinor, _wVerMajor));
SerializeExtent(ar);
SerializeStockProps(ar);
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
}
}
COleControl::SerializeStockProps
Serialiseert of initialiseert de status van de COleControl voorraadeigenschappen: Uiterlijk, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor en Text.
void SerializeStockProps(CArchive& ar);
Parameterwaarden
Ar
Een CArchive object dat moet worden geserialiseerd naar of van.
Opmerkingen
Zie ActiveX-besturingselementen: Stockeigenschappen toevoegen voor een beschrijving van voorraadeigenschappen.
U kunt de binaire persistentieprestaties van een besturingselement verbeteren met behulp van SerializeStockProps, SerializeExtenten SerializeVersion om te overschrijven COleControl::Serialize. Zie de code bij SerializeExtent voor een voorbeeld. Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over het optimaliseren van initialisatie.
COleControl::SerializeVersion
Serialiseert of initialiseert de status van de versiegegevens van een besturingselement.
DWORD SerializeVersion(
CArchive& ar,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parameterwaarden
Ar
Een CArchive object dat moet worden geserialiseerd naar of van.
dwVersionDefault
Het huidige versienummer van het besturingselement.
bConvert
Hiermee wordt aangegeven of permanente gegevens moeten worden geconverteerd naar de meest recente indeling wanneer ze worden opgeslagen of onderhouden in dezelfde indeling als wanneer ze zijn geladen.
Retourwaarde
Het versienummer van het besturingselement. Als het opgegeven archief wordt geladen, SerializeVersion wordt de versie geretourneerd die uit dat archief is geladen. Anders wordt de momenteel geladen versie geretourneerd.
Opmerkingen
U kunt de binaire persistentieprestaties van een besturingselement verbeteren met behulp van SerializeVersion, SerializeExtenten SerializeStockProps om te overschrijven COleControl::Serialize. Zie de code bij SerializeExtent voor een voorbeeld. Zie ActiveX-besturingselementen: Optimalisatie voor meer informatie over het optimaliseren van initialisatie.
COleControl::SetAppearance
Hiermee stelt u de eigenschapswaarde Stock Appearance van uw besturingselement in.
void SetAppearance (short sAppearance);
Parameterwaarden
sAppearance
Een short waarde (VT_I2) die moet worden gebruikt voor het uiterlijk van uw besturingselement. Een waarde van nul stelt het uiterlijk van het besturingselement in op vlak en een waarde van 1 stelt het uiterlijk van het besturingselement in op 3D.
Opmerkingen
Zie ActiveX-besturingselementen: Eigenschappen voor meer informatie over voorraadeigenschappen.
COleControl::SetBackColor
Hiermee stelt u de eigenschapswaarde BackColor van het besturingselement in.
void SetBackColor(OLE_COLOR dwBackColor);
Parameterwaarden
dwBackColor
Een OLE_COLOR waarde die moet worden gebruikt voor het tekenen op de achtergrond van uw besturingselement.
Opmerkingen
Zie het artikel ActiveX-besturingselementen: Eigenschappen voor meer informatie over het gebruik van deze eigenschap en andere gerelateerde eigenschappen.
COleControl::SetBorderStyle
Hiermee stelt u de waarde van de eigenschap Stock BorderStyle van uw besturingselement in.
void SetBorderStyle(short sBorderStyle);
Parameterwaarden
sBorderStyle
De nieuwe randstijl voor het besturingselement; 0 geeft geen rand aan en 1 geeft een normale rand aan.
Opmerkingen
Het besturingselementvenster wordt vervolgens opnieuw gemaakt en OnBorderStyleChanged aangeroepen.
COleControl::SetCapture
Zorgt ervoor dat het containervenster van het besturingselement namens het besturingselement de muisopname in bezit neemt.
CWnd* SetCapture();
Retourwaarde
Een aanwijzer naar het CWnd vensterobject dat eerder muisinvoer heeft ontvangen.
Opmerkingen
Als het besturingselement is geactiveerd en vensterloos is, zorgt deze functie ervoor dat het containervenster van het besturingselement het bezit krijgt van de muisopname namens het besturingselement. Anders zorgt deze functie ervoor dat het besturingselement zelf het bezit neemt van de muisopname (hetzelfde als CWnd::SetCapture).
COleControl::SetControlSize
Hiermee stelt u de grootte van het OLE-besturingselementvenster in en geeft u een bericht over de container die door de besturingssite wordt gewijzigd.
BOOL SetControlSize(int cx, int cy);
Parameterwaarden
Cx
Hiermee geeft u de nieuwe breedte van het besturingselement in pixels.
Cy
Hiermee geeft u de nieuwe hoogte van het besturingselement in pixels.
Retourwaarde
Niet-nul als de oproep is geslaagd; anders 0.
Opmerkingen
Deze functie mag niet worden gebruikt in de constructor van uw besturingselement.
Houd er rekening mee dat alle coördinaten voor besturingsvensters relatief zijn ten opzichte van de linkerbovenhoek van het besturingselement.
COleControl::SetEnabled
Hiermee stelt u de eigenschapswaarde Ingeschakeld voor aandelen van uw besturingselement in.
void SetEnabled(BOOL bEnabled);
Parameterwaarden
bEnabled
WAAR als het besturingselement moet worden ingeschakeld; anders ONWAAR.
Opmerkingen
Nadat u deze eigenschap hebt ingesteld, OnEnabledChange wordt deze aangeroepen.
COleControl::SetFocus
Zorgt ervoor dat het containervenster van het besturingselement de invoerfocus namens het besturingselement in bezit krijgt.
CWnd* SetFocus();
Retourwaarde
Een aanwijzer naar het CWnd vensterobject dat eerder de invoerfocus had, of NULL als er geen dergelijk venster is.
Opmerkingen
Als het besturingselement is geactiveerd en vensterloos is, zorgt deze functie ervoor dat het containervenster van het besturingselement de invoerfocus heeft, namens het besturingselement. De invoerfocus stuurt toetsenbordinvoer naar het venster van de container en de container verzendt alle volgende toetsenbordberichten naar het OLE-object dat aanroept SetFocus. Elk venster dat eerder de invoerfocus had, verliest het.
Als het besturingselement niet vensterloos is, zorgt deze functie ervoor dat het besturingselement zelf de invoerfocus krijgt (hetzelfde als CWnd::SetFocus).
COleControl::SetFont
Hiermee stelt u de eigenschap Lettertype voor aandelen van uw besturingselement in.
void SetFont(LPFONTDISP pFontDisp);
Parameterwaarden
pFontDisp
Een aanwijzer naar een verzendinterface voor lettertypen.
COleControl::SetForeColor
Hiermee stelt u de waarde van de eigenschap ForeColor van het besturingselement in.
void SetForeColor(OLE_COLOR dwForeColor);
Parameterwaarden
dwForeColor
Een OLE_COLOR waarde die moet worden gebruikt voor het tekenen op de voorgrond van uw besturingselement.
Opmerkingen
Zie het artikel ActiveX-besturingselementen: Eigenschappen voor meer informatie over het gebruik van deze eigenschap en andere gerelateerde eigenschappen.
COleControl::SetInitialDataFormats
Aangeroepen door het framework om de lijst met gegevensindelingen te initialiseren die door het besturingselement worden ondersteund.
virtual void SetInitialDataFormats();
Opmerkingen
De standaard implementatie geeft twee indelingen op: CF_METAFILEPICT en de permanente eigenschappenset.
COleControl::SetInitialSize
Hiermee stelt u de grootte van een OLE-besturingselement in wanneer deze voor het eerst in een container wordt weergegeven.
void SetInitialSize(
int cx,
int cy);
Parameterwaarden
Cx
De initiële breedte van het OLE-besturingselement in pixels.
Cy
De initiële hoogte van het OLE-besturingselement in pixels.
Opmerkingen
Roep deze functie aan in de constructor om de oorspronkelijke grootte van uw besturingselement in te stellen. De oorspronkelijke grootte wordt gemeten in apparaateenheden of pixels. U wordt aangeraden deze aanroep uit te voeren in de constructor van uw besturingselement.
COleControl::SetModifiedFlag
Hiermee wijzigt u de gewijzigde status van een besturingselement.
void SetModifiedFlag(BOOL bModified = TRUE);
Parameterwaarden
bModified
De nieuwe waarde voor de gewijzigde vlag van het besturingselement. TRUE geeft aan dat de status van het besturingselement is gewijzigd; FALSE geeft aan dat de status van het besturingselement zojuist is opgeslagen.
Opmerkingen
Roep deze functie aan wanneer er een wijziging optreedt die van invloed is op de permanente status van uw besturingselement. Als de waarde van een permanente eigenschap bijvoorbeeld verandert, roept u deze functie aan met bModifiedTRUE.
COleControl::SetNotPermitted
Geeft aan dat een bewerkingsaanvraag is mislukt.
void SetNotPermitted();
Opmerkingen
Roep deze functie aan wanneer BoundPropertyRequestEdit dit mislukt. Deze functie genereert een uitzondering van het type COleDispScodeException om aan te geven dat de setbewerking niet is toegestaan.
COleControl::SetNotSupported
Hiermee voorkomt u dat de eigenschapswaarde van een besturingselement door de gebruiker wordt gewijzigd.
void SetNotSupported();
Opmerkingen
Roep deze functie aan in plaats van de functie Set van een eigenschap waarbij het wijzigen van de eigenschapswaarde door de gebruiker van het besturingselement niet wordt ondersteund. Een voorbeeld hiervan is een eigenschap die alleen-lezen is.
COleControl::SetRectInContainer
Hiermee stelt u de coördinaten van de rechthoek van het besturingselement in ten opzichte van de container, uitgedrukt in apparaateenheden.
BOOL SetRectInContainer(LPCRECT lpRect);
Parameterwaarden
lpRect
Een aanwijzer naar een rechthoek met de nieuwe coördinaten van het besturingselement ten opzichte van de container.
Retourwaarde
Niet-nul als de oproep is geslaagd; anders 0.
Opmerkingen
Als het besturingselement is geopend, wordt het formaat gewijzigd; anders wordt de functie van OnPosRectChanged de container aangeroepen.
COleControl::SetText
Hiermee stelt u de waarde in van de eigenschap Stock Caption of Text van uw besturingselement.
void SetText(LPCTSTR pszText);
Parameterwaarden
pszText
Een aanwijzer naar een tekenreeks.
Opmerkingen
Houd er rekening mee dat de eigenschappen aandelenbijschrift en Tekst beide zijn toegewezen aan dezelfde waarde. Dit betekent dat wijzigingen die in beide eigenschappen zijn aangebracht, beide eigenschappen automatisch wijzigen. Over het algemeen moet een besturingselement de eigenschap Stock Caption of Text ondersteunen, maar niet beide.
COleControl::ThrowError
Geeft het optreden van een fout in uw controle aan.
void ThrowError(
SCODE sc,
UINT nDescriptionID,
UINT nHelpID = -1);
void ThrowError(
SCODE sc,
LPCTSTR pszDescription = NULL,
UINT nHelpID = 0);
Parameterwaarden
Sc
De waarde van de statuscode die moet worden gerapporteerd. Zie het artikel ActiveX-besturingselementen: Geavanceerde onderwerpen voor een volledige lijst met mogelijke codes.
nDescriptionID
De resource-id van de tekenreeks van de uitzondering die moet worden gerapporteerd.
nHelpID
De Help-id van het onderwerp waarop moet worden gerapporteerd.
pszDescription
Een tekenreeks met een uitleg van de uitzondering die moet worden gerapporteerd.
Opmerkingen
Deze functie mag alleen worden aangeroepen vanuit een Get- of Set-functie voor een OLE-eigenschap of de implementatie van een OLE-automatiseringsmethode. Als u fouten wilt signaleren die zich op andere momenten voordoen, moet u de gebeurtenis Fout op voorraad activeren.
COleControl::TransformCoords
Hiermee worden waarden tussen HIMETRIC-eenheden en de systeemeigen eenheden van de container getransformeerd.
void TransformCoords(
POINTL* lpptlHimetric,
POINTF* lpptfContainer,
DWORD flags);
Parameterwaarden
lpptlHimetric
Wijs een POINTL structuur aan met coördinaten in HIMETRIC-eenheden.
lpptfContainer
Wijs een POINTF structuur aan met coördinaten in de eenheidsgrootte van de container.
flags
Een combinatie van de volgende waarden:
XFORMCOORDS_POSITION een positie in de container.
XFORMCOORDS_SIZE een grootte in de container.
XFORMCOORDS_HIMETRICTOCONTAINER HIMETRIC-eenheden transformeren naar de eenheden van de container.
XFORMCOORDS_CONTAINERTOHIMETRIC de eenheden van de container transformeren naar HIMETRIC-eenheden.
Opmerkingen
De eerste twee vlaggen, XFORMCOORDS_POSITION en XFORMCOORDS_SIZE, geven aan of de coördinaten moeten worden behandeld als een positie of een grootte. De resterende twee vlaggen geven de richting van transformatie aan.
COleControl::TranslateColor
Converteert een kleurwaarde van het OLE_COLOR gegevenstype naar het gegevenstype COLORREF .
COLORREF TranslateColor(
OLE_COLOR clrColor,
HPALETTE hpal = NULL);
Parameterwaarden
clrColor
Een OLE_COLOR gegevenstype. Zie de functie Windows OleTranslateColor voor meer informatie.
Hpal
Een handgreep naar een optioneel palet; kan NULL zijn.
Retourwaarde
Een RGB-kleurwaarde (rood, groen, blauw) 32-bits die de effen kleur definieert die het dichtst bij de clrColor-waarde ligt die het apparaat kan vertegenwoordigen.
Opmerkingen
Deze functie is handig om de eigenschappen foreColor en BackColor te vertalen naar COLORREF-typen die worden gebruikt door CDC-lidfuncties .
COleControl::WillAmbientsBeValidDuringLoad
Bepaalt of uw besturingselement de waarden van omgevingseigenschappen als standaardwaarden moet gebruiken wanneer het vervolgens wordt geladen vanuit de permanente status.
BOOL WillAmbientsBeValidDuringLoad();
Retourwaarde
Nonzero geeft aan dat omgevingseigenschappen geldig zijn; anders zijn omgevingseigenschappen niet geldig.
Opmerkingen
In sommige containers heeft uw besturingselement mogelijk geen toegang tot de omgevingseigenschappen tijdens de eerste aanroep van de onderdrukking van COleControl::DoPropExchange. Dit is het geval als de container IPersistStreamInit::Load of IPersistStorage::Load prior to calling IOleObject::SetClientSite aanroept (dat wil gezegd, als deze niet voldoet aan de OLEMISC_SETCLIENTSITEFIRST statusbit).
COleControl::WindowProc
Biedt een Windows-procedure voor een COleControl object.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
bericht
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 van het verzonden bericht.
Opmerkingen
Roep deze functie aan om specifieke berichten te verzenden via de berichtenkaart van het besturingselement.
Zie ook
MFC-voorbeeld CIRC3
MFC-voorbeeldTESTHELP
Klasse COlePropertyPage
CWnd-klasse
Hiërarchiegrafiek
CFontHolder-klasse
Klasse CPictureHolder