-1

プロジェクトで文字列テーブルを使用していて、RGB値を格納したいと思います。rgb値をLoadStringcharからCreateSolidBrushのCOLORREFに使用できるものに変換するにはどうすればよいですか。

4

2 に答える 2

1

MSDNによるとCOLORREFtypedefDWORDです。だから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 に答える