複数行の文字列を表示する読み取り専用の編集コントロールがあります。コントロールのサブクラス化されたダイアログのウィンドウプロシージャでWM_CTLCOLORSTATIC
を使用して背景色を設定しました。ウィンドウが縮小されている場合は、編集コントロールのスクロールバーが表示されます。それはすべて正常に動作し、あなたは選択し、コピーし、左右にテキストをスクロールすることができます。WinAPI:編集コントロールテキストの後ろに矩形を描きます。
case WM_CTLCOLORSTATIC:
if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_DEBUGGER_DISASSEMBLY))
{
SetBkColor((HDC)wParam, RGB(255, 255, 255));
return (LRESULT) GetStockObject(DC_BRUSH);
}
break;
特定の行の背景にカスタム背景色を付けることができます。私の普通のBGはそこに白くあり、そのラインのために、私は、例えば、青色をしたい。
編集コントロールにWM_PAINT
を使用しようとしましたが、もう一度テキストを描画する必要があるようです。または、コントロールの元のテキストが選択されるまで表示されません。私は手動でテキストを描画しても、元のテキストと同じようにスクロールしません。
これはライン指向のように見えるので、代わりにリストコントロールを使用しますか? – alk
私が元々私によって作成されていれば私は持っていました。ここでは既存のコントロールを調整しなければなりません。すでに多くのロジックがEditに依存しています。 – feos
関連:http://stackoverflow.com/q/8024157/694576 – alk