Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aandeleneigenschappen verschillen van aangepaste eigenschappen omdat ze al door de klasse COleControlzijn geïmplementeerd.
COleControl bevat vooraf gedefinieerde lidfuncties die algemene eigenschappen voor het besturingselement ondersteunen. Enkele algemene eigenschappen zijn het bijschrift van het besturingselement en de voorgrond- en achtergrondkleuren. Zie Eigenschappen van aandelen die worden ondersteund door de wizard Eigenschappen toevoegen verderop in dit artikel voor meer informatie over andere aandeleneigenschappen. De verzendkaartvermeldingen voor voorraadeigenschappen worden altijd voorafgegaan door DISP_STOCKPROP.
In dit artikel wordt beschreven hoe u een voorraadeigenschap (in dit geval bijschrift) toevoegt aan een ActiveX-besturingselement met behulp van de wizard Eigenschap toevoegen en de resulterende codewijzigingen uitlegt. Dit zijn een aantal van de onderwerpen:
De wizard 'Eigenschap toevoegen' gebruiken om een standaard eigenschap toe te voegen
Wijzigingen in de wizard voor het toevoegen van voorraadeigenschappen
Eigenschappen van aandelen die worden ondersteund door de wizard Eigenschap toevoegen
-
Opmerking
Aangepaste besturingselementen van Visual Basic hebben doorgaans eigenschappen zoals Boven, Links, Breedte, Hoogte, Uitlijnen, Tag, Naam, TabIndex, TabStop en Ouder. ActiveX-besturingscontainers zijn echter verantwoordelijk voor het implementeren van deze besturingseigenschappen en daarom mogen ActiveX-besturingselementen deze eigenschappen niet ondersteunen.
De wizard Eigenschap toevoegen gebruiken om een aandeleneigenschap toe te voegen
Het toevoegen van voorraadeigenschappen vereist minder code dan het toevoegen van aangepaste eigenschappen, omdat ondersteuning voor de eigenschap automatisch wordt verwerkt door COleControl. In de volgende procedure ziet u hoe u de eigenschap Stock Caption toevoegt aan een ActiveX-besturingsframework en ook kunt gebruiken om andere aandeleneigenschappen toe te voegen. Vervang de naam van de geselecteerde aandeleneigenschap door Bijschrift.
De eigenschappen van Stock Caption toevoegen met behulp van de wizard "Eigenschap toevoegen".
Laad het project van uw besturingselement.
Vouw in de klasseweergave het bibliotheekknooppunt van uw besturingselement uit.
Klik met de rechtermuisknop op het interfaceknooppunt voor uw besturingselement (het tweede knooppunt van het bibliotheekknooppunt) om het snelmenu te openen.
Klik in het snelmenu op Toevoegen en klik vervolgens op Eigenschap toevoegen.
Hiermee wordt de Eigenschap toevoegen-wizard geopend.
Klik in het vak Eigenschapsnaam op Bijschrift.
Klik op Voltooien.
Wijzigingen in de Wizard voor Voorraadeigenschappen toevoegen
Omdat COleControl stock-eigenschappen ondersteunt, verandert de wizard Eigenschap toevoegen de klassedeclaratie op geen enkele manier; het voegt de eigenschap toe aan de dispatch-kaart. De wizard Eigenschap toevoegen voegt de volgende regel toe aan de dispatch-map van de besturing, die zich in de implementatie bevindt (.CPP)-bestand:
DISP_STOCKPROP_CAPTION()
De volgende regel wordt toegevoegd aan de interfacebeschrijving van uw besturingselement (.IDL)-bestand.
[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;
Met deze regel wordt de eigenschap Caption toegewezen aan een specifieke id. U ziet dat de eigenschap bindbaar is en toestemming van de database aanvraagt voordat u de waarde wijzigt.
Hierdoor is de eigenschap Bijschrift beschikbaar voor gebruikers van uw controle. Als u de waarde van een aandeleneigenschap wilt gebruiken, opent u een lidvariabele of lidfunctie van de COleControl basisklasse. Zie voor meer informatie over deze lidvariabelen en lidfuncties de volgende sectie: Aandelen Eigenschappen ondersteund door de Eigenschap Toevoeg-assistent.
Eigenschappen van aandelen die worden ondersteund door de wizard Eigenschap toevoegen
De COleControl klasse biedt negen voorraadeigenschappen. U kunt de gewenste eigenschappen toevoegen met behulp van de wizard Eigenschap toevoegen.
| Vastgoed | Routeringskaartvermelding | Toegang tot waarde |
|---|---|---|
Appearance |
DISP_STOCKPROP_APPEARANCE( ) | Waarde die toegankelijk is als m_sAppearance. |
BackColor |
DISP_STOCKPROP_BACKCOLOR( ) | Waarde toegankelijk door aan te roepen GetBackColor. |
BorderStyle |
DISP_STOCKPROP_BORDERSTYLE( ) | Waarde die toegankelijk is als m_sBorderStyle. |
Caption |
DISP_STOCKPROP_CAPTION( ) | Waarde toegankelijk door aan te roepen InternalGetText. |
Enabled |
DISP_STOCKPROP_ENABLED( ) | Waarde die toegankelijk is als m_bEnabled. |
Font |
DISP_STOCKPROP_FONT( ) | Zie het artikel MFC ActiveX-besturingselementen: Lettertypen gebruiken voor gebruik. |
ForeColor |
DISP_STOCKPROP_FORECOLOR( ) | Waarde toegankelijk door aan te roepen GetForeColor. |
hWnd |
DISP_STOCKPROP_HWND( ) | Waarde die toegankelijk is als m_hWnd. |
Text |
DISP_STOCKPROP_TEXT( ) | Waarde toegankelijk door aan te roepen InternalGetText. Deze eigenschap is hetzelfde als Caption, met uitzondering van de naam van de eigenschap. |
ReadyState |
DISP_STOCKPROP_READYSTATE() | Waarde die toegankelijk is als m_lReadyState of GetReadyState |
Eigenschappen en meldingen van aandelen
De meeste standaard eigenschappen hebben meldingsfuncties die kunnen worden overschreven. Wanneer de BackColor eigenschap bijvoorbeeld wordt gewijzigd, wordt de OnBackColorChanged functie (een lidfunctie van de besturingsklasse) aangeroepen. De standaardimplementatie (in COleControl) roept InvalidateControl aan. Overschrijf deze functie als u aanvullende acties wilt ondernemen als reactie op deze situatie.
Kleureigenschappen
U kunt de standaard ForeColor en BackColor eigenschappen gebruiken, of uw eigen aangepaste kleureigenschappen, bij het vormgeven van het besturingselement. Als u een kleureigenschap wilt gebruiken, roept u de functie COleControl::TranslateColor-lid aan. De parameters van deze functie zijn de waarde van de kleureigenschap en een optionele paletgreep. De retourwaarde is een COLORREF-waarde die kan worden doorgegeven aan GDI-functies, zoals SetTextColor en CreateSolidBrush.
De kleurwaarden voor de standaard ForeColor- en BackColor-eigenschappen worden opgevraagd door de GetForeColor- of de GetBackColor-functie aan te roepen.
In het volgende voorbeeld ziet u hoe u deze twee kleureigenschappen gebruikt bij het schilderen van een besturingselement. Hiermee initialiseert u een tijdelijke COLORREF-variabele en een CBrush object met aanroepen naar TranslateColor: een met behulp van de ForeColor eigenschap en de andere met behulp van de BackColor eigenschap. Vervolgens wordt een tijdelijk CBrush object gebruikt om de rechthoek van het besturingselement te schilderen en wordt de tekstkleur ingesteld met behulp van de ForeColor eigenschap.
CBrush bkBrush(TranslateColor(GetBackColor()));
COLORREF clrFore = TranslateColor(GetForeColor());
pdc->FillRect(rcBounds, &bkBrush);
pdc->SetTextColor(clrFore);
pdc->DrawText(InternalGetText(), -1, rcBounds, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
Zie ook
MFC ActiveX-besturingselementen
MFC ActiveX-besturingselementen: eigenschappen
MFC ActiveX-controles: methoden
COleControl-klasse