私は、ES_READONLYフラグを持つエディットコントロールの色を変更する簡単な解決策を探しています。私が持っているコード(並べ替え)は、編集コントロールが編集可能なときには機能しますが、読み取り専用フラグを持つ編集コントロールには何の影響もありません。読み取り専用エディットコントロールの背景色を変更することは可能です
case WM_CTLCOLOREDIT:
{
HDC hdc = (HDC)wParam;
//if (GetDlgItem(hwnd, IDC_EDIT_IN) == (HWND)lParam)
//{
SetTextColor(hdc, RGB(255, 255, 255)); // Set text color to white
SetBkColor(hdc, RGB(255, 255, 255)); // Set background color to black
//}
return 0;
}
break;
私のコードが正しく機能しているかどうかを確認するためのコメントがありますが、それは読み取り専用ではない編集コントロールで行います。他のエディットコントロールでES_READONLYを取り出すと、それが動作します。私はチャットプログラムを作成しており、ユーザーがチャットボックス領域に入力できるようにしたくありません。読み込み専用の場合はグレーの色になりますが、白い色が欲しいです。これを行う別の方法がありますか?また、色は、編集コントロールの全体の高さではなく、テキストのある領域のみを色付けします。私は間違って何をしていますか?
「WM_CTLCOLORSTATIC」をご覧ください。 –
MSDNの記事を読むと、ブラシを返すよう指示されます。 –