Member 14594285 Ответов: 2

Изменение цвета образца редактирование только для чтения


Я написал::
HBRUSH CEstatisDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	int id = pWnd->GetDlgCtrlID();

	if (id == IDC_EDIT4)
	{
		//pDC->SetTextColor(RGB(0, 0, 0));
		pDC->SetBkColor(RGB(255, 0, 0));

		if (!m_whitebrush)
			m_whitebrush = CreateSolidBrush(RGB(255, 0,0));

		hbr = m_whitebrush;
	}

	return hbr;
}
но это не работает , цвет остается серым

Что я уже пробовал:

Я искал в интернете но не нашел

Richard MacCutchan

Код кажется правильным. Используйте свой отладчик, чтобы проверить, что он следует по правильному пути.

Member 14594285

Я использовал debug, и он прошел за это..Я не понимаю

2 Ответов

Рейтинг:
19

Member 14594285

в этом он использовал производный класс, но я хочу знать, хорошо ли я написал

Member 14594285

Я решил

Maciej Los

5ed!

CPallini

Спасибо тебе, Мацей!

Рейтинг:
1

Richard MacCutchan

См. замечания в разделе Сообщение WM_CTLCOLOR (WindowsX.h) - Win32 apps | Microsoft Docs[^]. Похоже, вам нужно использовать более конкретный захват сообщений.


Maciej Los

5ed!