我在项目中使用字符串表,我想在其中存储RGB值。如何将LoadString char中的rgb值转换为可用于CreateSolidBrush的COLORREF的内容。
答案 0 :(得分:1)
根据MSDN COLORREF
是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值?我猜不清楚
答案 1 :(得分: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
}