Sdílet prostřednictvím


MFC – ovládací prvky ActiveX: Přidání uložených vlastností

Vlastnosti akcií se liší od vlastních vlastností v tom, že jsou již implementovány třídou COleControl. COleControl obsahuje předdefinované členské funkce, které podporují společné vlastnosti ovládacího prvku. Mezi běžné vlastnosti patří popis ovládacího prvku a barvy popředí a pozadí. Informace o dalších vlastnostech akcií naleznete v části Vlastnosti akcie podporované Průvodce přidáním vlastnosti dále v tomto článku. Položky mapy odeslání pro vlastnosti akcií jsou vždy předponou DISP_STOCKPROP.

Tento článek popisuje, jak přidat akciovou vlastnost (v tomto případě Titulek) do ovládacího prvku technologie ActiveX pomocí Průvodce přidáním vlastnosti a vysvětluje výsledné úpravy kódu. Témata:

Přidání vlastnosti pomocí Průvodce přidáním vlastnosti

Přidání vlastností akcií vyžaduje méně kódu než přidání vlastních vlastností, protože podpora vlastnosti je zpracována automaticky COleControl. Následující postup ukazuje přidání vlastnosti stock Caption do technologie ActiveX řídicího rozhraní a lze také použít k přidání dalších vlastností akcií. Nahraďte název vybrané skladové vlastnosti titulkem.

Přidání vlastnosti Titulek akcií pomocí Průvodce přidáním vlastnosti

  1. Načtěte projekt ovládacího prvku.

  2. V zobrazení tříd rozbalte uzel knihovny ovládacího prvku.

  3. Kliknutím pravým tlačítkem myši na uzel rozhraní ovládacího prvku (druhý uzel uzlu knihovny) otevřete místní nabídku.

  4. V místní nabídce klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat vlastnost.

    Tím se otevře Průvodce přidáním vlastnosti.

  5. V poli Název vlastnosti klikněte na titulek.

  6. Klikněte na Finish (Dokončit).

Změny průvodce přidáním vlastností pro stock vlastnosti

Protože COleControl podporuje skladové vlastnosti, Průvodce přidáním vlastnosti nezmění deklaraci třídy žádným způsobem; přidá vlastnost do mapy dispečer. Průvodce přidáním vlastnosti přidá následující řádek do mapy odeslání ovládacího prvku, který je umístěn v implementaci (. CPP) soubor:

DISP_STOCKPROP_CAPTION()

Následující řádek se přidá do popisu rozhraní ovládacího prvku (. IDL) soubor:

[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;

Tento řádek přiřadí vlastnost Titulek konkrétní ID. Všimněte si, že vlastnost je vázána a před úpravou hodnoty požádá o oprávnění z databáze.

Tím zpřístupníte vlastnost Titulek uživatelům vašeho ovládacího prvku. Pokud chcete použít hodnotu burzovní vlastnosti, získejte přístup k členské proměnné nebo členské funkci COleControl základní třídy. Další informace o těchto členských proměnných a členských funkcích naleznete v další části Stock Properties Supported by the Add Property Wizard.

Stock Properties Supported by the Add Property Wizard

Třída COleControl poskytuje devět skladových vlastností. Vlastnosti, které chcete přidat, můžete přidat pomocí Průvodce přidáním vlastnosti.

Vlastnost Položka mapy odeslání Přístup k hodnotě
Appearance DISP_STOCKPROP_APPEARANCE( ) Hodnota je přístupná jako m_sAppearance.
BackColor DISP_STOCKPROP_BACKCOLOR( ) Hodnota je přístupná voláním GetBackColor.
BorderStyle DISP_STOCKPROP_BORDERSTYLE( ) Hodnota je přístupná jako m_sBorderStyle.
Caption DISP_STOCKPROP_CAPTION( ) Hodnota je přístupná voláním InternalGetText.
Enabled DISP_STOCKPROP_ENABLED( ) Hodnota je přístupná jako m_bEnabled.
Font DISP_STOCKPROP_FONT( ) Viz článek MFC technologie ActiveX ovládací prvky: Použití písem pro použití.
ForeColor DISP_STOCKPROP_FORECOLOR( ) Hodnota je přístupná voláním GetForeColor.
hWnd DISP_STOCKPROP_HWND( ) Hodnota je přístupná jako m_hWnd.
Text DISP_STOCKPROP_TEXT( ) Hodnota je přístupná voláním InternalGetText. Tato vlastnost je stejná jako Caption, s výjimkou názvu vlastnosti.
ReadyState DISP_STOCKPROP_READYSTATE() Hodnota přístupná jako m_lReadyState nebo GetReadyState

Vlastnosti akcií a oznámení

Většina vlastností akcií má funkce oznámení, které je možné přepsat. Například při každé BackColor změně OnBackColorChanged vlastnosti je volána funkce (členová funkce třídy ovládacího prvku). Výchozí implementace (v COleControl) volání InvalidateControl. Tuto funkci přepište, pokud chcete v reakci na tuto situaci provést další akce.

Vlastnosti barvy

Při malování ovládacího prvku můžete použít skladové ForeColor a BackColor vlastnosti nebo vlastní vlastnosti barvy. Chcete-li použít barevnou vlastnost, zavolejte COleControl::TranslateColor členské funkce. Parametry této funkce jsou hodnota vlastnosti barvy a volitelný popisovač palety. Návratová hodnota je hodnota COLORREF , kterou lze předat funkcím GDI, jako SetTextColor je například a CreateSolidBrush.

Hodnoty barev pro akcie ForeColor a BackColor vlastnosti jsou přístupné voláním GetForeColor funkce nebo GetBackColor funkce.

Následující příklad ukazuje použití těchto dvou barevných vlastností při malování ovládacího prvku. Inicializuje dočasnou proměnnou COLORREF a CBrush objekt s voláními TranslateColor: jeden pomocí ForeColor vlastnosti a druhý pomocí BackColor vlastnosti. Dočasný CBrush objekt se pak použije k vykreslení obdélníku ovládacího prvku a barva textu je nastavena pomocí ForeColor vlastnosti.

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

Viz také

MFC – ovládací prvky ActiveX
MFC – ovládací prvky ActiveX: Vlastnosti
MFC – ovládací prvky ActiveX: Metody
COleControl – třída