После некоторых копаний я обнаружил, что хорошим способом сделать это является переопределение функции OnPaint.
Ниже приведен пример, используемый для диалога, изображенного на вопрос выше. Размеры прямоугольника жестко запрограммированы, потому что размер этого конкретного диалогового окна не изменяется.
Не забудьте добавить ON_WM_PAINT () к карте сообщений.
void CTestDlg::OnPaint()
{
if (IsIconic())
{
(...)
}
else
{
CPaintDC dc(this); // device context for painting
dc.FillSolidRect(0,0,612,376, RGB(255,255,255));
dc.FillSolidRect(0,376,612,60, ::GetSysColor(COLOR_3DFACE));
CDialog::OnPaint();
}
}
Решение оказалось довольно простым, но я думаю, что в любом случае полезно поделиться.