15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как закрасить диалог цветом

В заголовочном файле диалогового окна:

class MyDialog : public CDialog
{
public:

	CBrush m_brush; 

	MyDialog():CDialog(IDD_DIALOG1)
	{
	}

	BOOL OnInitDialog()
	{
		m_brush.CreateSolidBrush(RGB(150,50,100)); 
		return TRUE;
	}


	HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
	{
		HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
		return m_brush;
	}

	DECLARE_MESSAGE_MAP()
};

Либо можно просто вызвать функцию SetDialogBkColor в InitInstance приложения, но тогда диалог можно закрасить только одним из стандартных цветов.