字符串表RGB值

时间:2012-07-12 19:30:25

标签: c++

我在项目中使用字符串表,我想在其中存储RGB值。如何将LoadString char中的rgb值转换为可用于CreateSolidBrush的COLORREF的内容。

2 个答案:

答案 0 :(得分:1)

根据MSDN COLORREFDWORD 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
                    }