2010-10-31 95 views
0

我需要設置HTML元素的顏色,我設法獲得對樣式的引用,但我現在需要將VARIANT傳遞給put_color方法,但我無法找到有關如何構建變體的信息。如何使用VARIANT指定顏色

我該如何着手爲put_color調用指定顏色#ffaaaa

CComPtr<IHTMLStyle> spStyle = htmlElement->get_style; 
spStyle->put_color(what_goes_here?); 

回答

1

你需要用顏色字符串中BSTR值,這是由VARIANT接受的類型之一:

VARIANT color; 
color.vt = VT_BSTR; 
color.bstrVal = SysAllocString(TEXT("#ffaaaa")); 
spStyle->put_color(color); 
VariantClear(&color); 
+0

感謝您的快速回復,你是一個絕對的生命的救星。我用C++編寫了很長一段時間,這看起來確實是一種非常複雜的指定顏色的方式。認爲這需要相當長的一段時間才能到達那裏。 – opsb 2010-10-31 00:22:16

+0

@opsb:不客氣。你會遇到很多COM接口中的'VARIANT'類型,因爲系統更容易傳遞這個單獨的包裝類型,而不是每個函數都有不同的參數類型。 – casablanca 2010-10-31 00:25:21

+1

不要忘記釋放你用'SysAllocString'分配的內存。 'VariantClear'將爲你照顧這件事。 – 2010-10-31 18:26:27

相關問題