我在我的项目中使用了一个字符串表,我想在其中存储 RGB 值。如何将 rgb 值从 LoadString char 转换为可用于 CreateSolidBrush 的 COLORREF 的值。
问问题
659 次
2 回答
1
根据 MSDNCOLORREF
是一个DWORD
typedef。所以COLORREF cRef = RGB( 0, 0, 0 );
也是有效的。我了解到您正在尝试的是:
const char *szTable[] = { "RGB( 255, 255, 255)", "RGB( 255, 0, 255)" }; //etc
COLORREF dwMyColor = szTable[0];
COLORREF
从字符串表中获取对象。我认为这是你应该做的而不是字符串表:
COLORREF dwColor1 = RGB( 255, 0, 255 );
COLORREF dwTable[] = { 0xff00ff00, 0xffffffff, dwColor1 };
为什么还需要一个字符串表来存储 RGB 值?我猜还不够清楚
于 2012-07-12T19:57:46.453 回答
0
我用以下方法弄清楚了:
LoadString(g_hInstance,IDS_STRING151,rBuffer,256);
LoadString(g_hInstance,IDS_STRING152,gBuffer,256);
LoadString(g_hInstance,IDS_STRING153,bBuffer,256);
int r,g,b;
if(EOF == sscanf_s(rBuffer, "%d", &r))
{
//error
}
if(EOF == sscanf_s(gBuffer, "%d", &g))
{
//error
}
if(EOF == sscanf_s(bBuffer, "%d", &b))
{
//error
}
于 2012-07-12T20:32:55.270 回答