我已經繼承了一個使用Ole和ActiveX工具的舊項目。編譯在PROP_ENTRY宏上提供棄用警告,並用PROP_ENTRY_TYPE替換,但需要第四個參數。我發現了一個類型列表,比如VT_BSTR,VT_UNIT,VT_UNKNOWN等等,但是我不清楚該如何確定類型。既然舊的宏不需要這種類型,那麼我是否可以使用舊的方式來執行默認的類型?否則,任何人都會對這些物品的類型應該有什麼建議?我試着用VT_BSTR來處理所有事情,因爲大多數值都可以是(?)字符串,但是在某些ActiveX工具中失敗了。還嘗試過VT_UNKNOWN。建議感激。用舊代碼運行(有一些問題),但能夠向前移動我們的代碼庫會很好。 謝謝, 肯從PROP_ENTRY轉換到PROP_ENTRY_TYPE
BEGIN_PROPERTY_MAP(CCiButton)
#if 1
// old style
PROP_ENTRY("Caption", DISPID_CAPTION, CLSID_NULL)
PROP_ENTRY("Back Color", DISPID_BACKCOLOR, CLSID_StockColorPage)
PROP_ENTRY("Fill Color", DISPID_FILLCOLOR, CLSID_StockColorPage)
PROP_ENTRY("Font", DISPID_FONT, CLSID_StockFontPage)
PROP_ENTRY("Picture", DISPID_PICTURE, CLSID_StockPicturePage)
PROP_ENTRY("Button Style", 1, CLSID_CiButtonProp)
PROP_ENTRY("Text Color", 2, CLSID_StockColorPage)
PROP_ENTRY("Text Shadow Color", 3, CLSID_StockColorPage)
PROP_ENTRY("Tool Tip Text", 4, CLSID_CiButtonProp)
PROP_ENTRY("Disabled Picture", 5, CLSID_StockPicturePage)
PROP_ENTRY("Enabled", DISPID_ENABLED, CLSID_NULL)
#else
// new style, fails.
PROP_ENTRY_TYPE("Caption", DISPID_CAPTION, CLSID_NULL, VT_UNKNOWN)
PROP_ENTRY_TYPE("Back Color", DISPID_BACKCOLOR, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Fill Color", DISPID_FILLCOLOR, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Font", DISPID_FONT, CLSID_StockFontPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Picture", DISPID_PICTURE, CLSID_StockPicturePage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Button Style", 1, CLSID_CiButtonProp, VT_UNKNOWN)
PROP_ENTRY_TYPE("Text Color", 2, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Text Shadow Color", 3, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Tool Tip Text", 4, CLSID_CiButtonProp, VT_UNKNOWN)
PROP_ENTRY_TYPE("Disabled Picture", 5, CLSID_StockPicturePage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Enabled", DISPID_ENABLED, CLSID_NULL, VT_UNKNOWN)
#endif
END_PROPERTY_MAP()