А как это сделано в WinAmp?
- Я не знаю, но...
Предположим у тебя диалог, предположим у тебя есть BMP в ресурсах, предположим у тебя есть класс, который использует предположительно этот шаблон диалога, предположим ты переписал функции OnPaint() и OnCtlColor(), предположим это есть About Dialog и я предположительно понял, что значит "натянуть" тогда,
Внимание! ответ (предположительный)
:
void CAboutDlg::OnPaint()
{
CPaintDC dc(this);
CDC dcMem;
CBitmap bmp;
CRect rc;
GetClientRect(rc);
dcMem.CreateCompatibleDC(&dc);
bmp.LoadBitmap(IDB_SPL_SCREEN);
dcMem.SelectObject(&bmp);
dc.BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), &dcMem, 0, 0, SRCCOPY);
}
HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH) GetStockObject(HOLLOW_BRUSH);
}
Кстати в WinAmp не всё сделано картинками, предположительно в 2.8 эквалайзер сделан предположительно по "скинной" технологии.
В другой раз чуть по-конкретнее