BOOL CXTPPropertyGridItemFont::OnDrawItemValue(CDC& dc, CRect rcValue) { if (m_clrValue == (COLORREF)-1) return CXTPPropertyGridItem::OnDrawItemValue(dc, rcValue); COLORREF clr = dc.GetTextColor(); CRect rcSample(rcValue.left - 2, rcValue.top + 1, rcValue.left + 18, rcValue.bottom - 1); CXTPPenDC pen(dc, clr); CXTPBrushDC brush(dc, m_clrValue); dc.Rectangle(rcSample); CRect rcText(rcValue); rcText.left += 25; dc.DrawText(m_strValue, rcText, DT_SINGLELINE | DT_VCENTER); return TRUE; }
BOOL CXTPPropertyGridItemPicture::OnDrawItemValue(CDC& dc, CRect rcValue) { COLORREF clr = dc.GetTextColor(); CRect rcSample(rcValue.left - 2, rcValue.top + 1, rcValue.left - 2 + m_nPreviewWidth, rcValue.bottom - 1); m_olePicture.Render(&dc, rcSample, rcSample); dc.Draw3dRect(rcSample, clr, clr); CRect rcText(rcValue); rcText.left += m_nPreviewWidth + 5; short type = m_olePicture.GetType(); CString str = type == PICTYPE_ICON ? _T("(Icon)") : type == PICTYPE_BITMAP ? _T("(Bitmap)") : _T("None"); dc.DrawText(str, rcText, DT_SINGLELINE | DT_VCENTER); return TRUE; }