У меня есть элемент управления только для чтения, который отображает многострочную строку. Я установил для него цвет фона, используя WM_CTLCOLORSTATIC
в процедуре окна диалога, из которого мой элемент подкласса. Если окно уменьшено, появится окно scrolllbar для элемента управления Edit. Все работает отлично, вы можете выбирать, копировать, прокручивать текст влево и вправо.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
для элемента управления Edit, но мне кажется, что мне нужно снова нарисовать текст, или исходный текст элемента управления будет невидим, пока я его не выберу. И если я вручную нарисую текст, он не будет прокручиваться так же, как исходный текст.
Как кажется, это ориентировано на линию, вместо этого используется элемент управления списком? – alk
Я бы хотел, если бы он был создан мной изначально. Здесь я должен настроить существующий элемент управления, с большим количеством логики, уже полагающейся на его редактирование. – feos
Связанный: http://stackoverflow.com/q/8024157/694576 – alk