All pastes #101564 Raw Edit

Mine

public text v1 · immutable
#101564 ·published 2006-07-26 23:46 UTC
rendered paste body
  COLORREF fill_color = RGB(r,g,b);
  COLORREF outline_color = RGB(r2,g2,b2);
  HBITMAP mask = CRdcolfill::GetFillPattern(mask_id);
  CButton* button = (CButton*)GetDlgItem(thisbutton);
  CDC* button_dc = button->GetDC();
  RECT rect;
  button->GetClientRect(&rect);
  HDC hdcMem = CreateCompatibleDC(button_dc->GetSafeHdc());
  HDC hdcMem2 = CreateCompatibleDC(button_dc->GetSafeHdc());
  HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, mask);
  
  BitBlt(hdcMem2, rect.top, rect.left, rect.right, rect.bottom, hdcMem, rect.top, rect.left, SRCINVERT);
  BitBlt(button_dc->GetSafeHdc(), rect.top, rect.left, rect.right, rect.bottom, hdcMem2, rect.top, rect.left, SRCCOPY);
  
  SelectObject(hdcMem, hbmOld);
  DeleteDC(hdcMem2);
  DeleteDC(hdcMem);
  button->ReleaseDC(button_dc);
  button->UpdateData(FALSE);