プロジェクトで文字列テーブルを使用していて、RGB値を格納したいと思います。rgb値をLoadStringcharからCreateSolidBrushのCOLORREFに使用できるものに変換するにはどうすればよいですか。
質問する
659 次
2 に答える
1
MSDNによるとCOLORREF
typedefDWORD
です。だから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 に答える