CreateCompatibleBitmap - черный фон
От: pigeon Великобритания
Дата: 27.04.06 12:25
Оценка:
Добрый день.
Переделываю контрол, под свою задачу, необходимо чтобы бакграунд у контрола был прозрачным, вроде ничего сложного, нашел место где рисуется
   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>>
Premature optimization is the root of all evil in programming. Donald Knuth
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.