1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
class CDialogExt : public CDialogEx
{
DECLARE_DYNCREATE(CDialogExt)
public:
CDialogExt(UINT nID=0,CWnd* pParent = NULL); // standard constructor
virtual ~CDialogExt();
virtual void OnApplicationLook(){}
DECLARE_MESSAGE_MAP()
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
};
IMPLEMENT_DYNCREATE(CDialogExt, CDialogEx)
CDialogExt::CDialogExt(UINT nID,CWnd* pParent /*=NULL*/)
: CDialogEx(nID, pParent)
{
}
CDialogExt::~CDialogExt()
{
// Destruct
}
HBRUSH CDialogExt::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Modifier ici les attributs du DC
if (m_brBkgr.GetSafeHandle() != NULL || m_hBkgrBitmap != NULL)
{
// TODO: Modifier ici les attributs du DC
#define AFX_MAX_CLASS_NAME 255
#define AFX_SLIDER_CLASS _T("msctls_trackbar32")
if (nCtlColor == CTLCOLOR_STATIC)
{
TCHAR lpszClassName [AFX_MAX_CLASS_NAME + 1];
::GetClassName(pWnd->GetSafeHwnd(), lpszClassName, AFX_MAX_CLASS_NAME);
CString strClass = lpszClassName;
if(strClass == AFX_SLIDER_CLASS)
{
pDC->SetBkMode(TRANSPARENT);
return(HBRUSH)m_brBkgr;
}
}
}
// TODO: Retourner un autre pinceau si le pinceau par défaut n'est pas souhaité
return hbr;
}
BOOL CDialogExt::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
//CBrush backBrush(m_crBackColor);//COLORREF
CBrush *pOldBrush=pDC->SelectObject(&m_brBkgr);
CRect rect;
pDC->GetClipBox(&rect);
pDC->PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
BEGIN_MESSAGE_MAP(CDialogExt, CDialogEx)
ON_WM_CTLCOLOR()
ON_WM_ERASEBKGND()
END_MESSAGE_MAP() |
Partager