0

我在我的 MFC 应用程序中使用 webbrowser 控件。我必须通过从颜色选择器(如颜色对话框)中选择颜色来更改 webbrowser 控件的背景颜色。为此,我使用 MFC 的 CColorDialog 类来选择颜色。并使用 CColorDialog 类的 GetColor() 函数获取选定的颜色。
我的问题是,大多数情况下,作为背景颜色应用的颜色与颜色对话框中选择的颜色不同。知道出了什么问题吗???

4

1 回答 1

0

我已经解决了这个问题。问题是我传递了 CColorDialog 的 GetColor() 函数提供的 COLORREF 值,但 webbrowser 接受 html 十六进制代码值。因此,我使用以下代码将 COLORREF 值转换为 html 十六进制代码值:

CString sTemp;
COLORREF clr = clrDlg.GetColor();
sTemp.Format("#%X%X%X",GetRValue(clr),GetGValue(clr),GetBValue(clr));
于 2013-03-15T06:54:36.867 回答