私はWin32/Windows API(非MFC)に比較的慣れておらず、静的テキストコントロールのテキストの色を変更しようとしています。すでに黒で画面に描画されていますが、ボタンをクリックすると開くWindowsColorChooserダイアログを使用して別の色に変更したいと思います。これは可能ですか?
ボタンの場合、WM_COMMAND
メッセージはクリックすると処理されます。これまでのところ、私は書いています:
CHOOSECOLOR ccColour;
ccColour.lStructSize = sizeof(ccColour);
ccColour.hwndOwner = hWnd;
ccColour.rgbResult = crLabelTextColour;
ccColour.Flags = CC_FULLOPEN | CC_RGBINIT;
if (ChooseColor(&ccColour) == TRUE)
{
// crLabelTextColour is a COLORREF global variable assigned on loading the program
crLabelTextColour = ccColour.rgbResult;
}
ただし、このコードはif
ステートメントで未処理の例外が発生して失敗するため、理由はわかりません。他の例はこのようなコードを書いているようです。