Добрый день.
Переделываю
контрол, под свою задачу, необходимо чтобы бакграунд у контрола был прозрачным, вроде ничего сложного, нашел место где рисуется
CMemDC(HDC hDC, LPRECT pRect = NULL)
{
ATLASSERT(hDC!=NULL);
m_dc = hDC;
if( pRect != NULL )
m_rc = *pRect;
else
m_dc.GetClipBox(&m_rc);
CreateCompatibleDC(m_dc);
::LPtoDP(m_dc, (LPPOINT) &m_rc, sizeof(RECT) / sizeof(POINT));
m_bitmap.CreateCompatibleBitmap(m_dc, m_rc.right - m_rc.left, m_rc.bottom - m_rc.top);
m_hOldBitmap = SelectBitmap(m_bitmap);
::DPtoLP(m_dc, (LPPOINT) &m_rc, sizeof(RECT) / sizeof(POINT));
SetWindowOrg(m_rc.left, m_rc.top);
}
и вот тут запарка,не получается сделать безцветный фон, т.к насколько я понял
CreateCompatibleBitmap
создает монохромную картинку
и как дальше я что-то не понимаю, вроде нужно сделать битмапку с таки же цветом как и цвет окна на котором лежит контрол, но как это сделать? Или это как-то по другому делается? Или можна задать прозрачность при создании битмапа?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>