////////// SkinTestDlg.h : header file
public:
CBrush m_MeaningBrush; //背景颜色画刷////////// SkinTestDlg.cpp : implementation file
CSkinTestDlg::CSkinTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSkinTestDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
//创建为白色背景
m_MeaningBrush.CreateSolidBrush(RGB(255,255,255));
}BEGIN_MESSAGE_MAP(CSkinTestDlg, CDialog)
//{{AFX_MSG_MAP(CSkinTestDlg)
ON_WM_CTLCOLOR() //添加事件
//}}AFX_MSG_MAP
END_MESSAGE_MAP()//修改文本框背景颜色
HBRUSH CSkinTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//判断控件ID
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
//设置背景色和字体颜色
pDC->SetBkColor(RGB(255,255,255));
pDC->SetTextColor(RGB(0,0,0)); //编辑框类的字体设置为黑色;
//pDC->SetBkMode(TRANSPARENT); //设置为透明不影响字体颜色 //设置边框颜色
CDC* dc = GetDC(); //获取画布对象
CRect rect;
GetClientRect(rect); //获取客户区域
rect.InflateRect(1,1,1,1); //将客户区域增大一个象素
CBrush brush(RGB(255,255,0)); //创建画刷
dc->FrameRect(rect,&brush); //绘制边框
return (HBRUSH)m_MeaningBrush.GetSafeHandle();
}
return hbr;
}
public:
CBrush m_MeaningBrush; //背景颜色画刷////////// SkinTestDlg.cpp : implementation file
CSkinTestDlg::CSkinTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSkinTestDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
//创建为白色背景
m_MeaningBrush.CreateSolidBrush(RGB(255,255,255));
}BEGIN_MESSAGE_MAP(CSkinTestDlg, CDialog)
//{{AFX_MSG_MAP(CSkinTestDlg)
ON_WM_CTLCOLOR() //添加事件
//}}AFX_MSG_MAP
END_MESSAGE_MAP()//修改文本框背景颜色
HBRUSH CSkinTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//判断控件ID
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
//设置背景色和字体颜色
pDC->SetBkColor(RGB(255,255,255));
pDC->SetTextColor(RGB(0,0,0)); //编辑框类的字体设置为黑色;
//pDC->SetBkMode(TRANSPARENT); //设置为透明不影响字体颜色 //设置边框颜色
CDC* dc = GetDC(); //获取画布对象
CRect rect;
GetClientRect(rect); //获取客户区域
rect.InflateRect(1,1,1,1); //将客户区域增大一个象素
CBrush brush(RGB(255,255,0)); //创建画刷
dc->FrameRect(rect,&brush); //绘制边框
return (HBRUSH)m_MeaningBrush.GetSafeHandle();
}
return hbr;
}
//设置边框颜色
CDC* dc = GetDC(); //获取画布对象
CRect rect;
GetClientRect(rect); //获取客户区域
rect.InflateRect(1,1,1,1); //将客户区域增大一个象素
CBrush brush(RGB(255,255,0)); //创建画刷
dc->FrameRect(rect,&brush); //绘制边框
http://topic.csdn.net/u/20101025/14/bc70430c-1ef1-4303-ba0e-e35949b29122.html
http://topic.csdn.net/u/20101025/14/bc70430c-1ef1-4303-ba0e-e35949b29122.html
如何修改Edit文本框的边界颜色呢?HBRUSH CSkinTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//判断控件ID
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
//修改窗体边框的颜色
CDC *pDC = GetWindowDC();
CRect rcWnd;
GetWindowRect(rcWnd);
ScreenToClient(rcWnd);
int nWidht = rcWnd.Width();
int nHeight = rcWnd.Height();
rcWnd.left = 1;
rcWnd.top = 1;
rcWnd.bottom = rcWnd.top+nHeight-1;
rcWnd.right = rcWnd.left + nWidht-1;
CPen pen(PS_SOLID, 1, RGB(255, 0, 128));
HPEN Oldpen = (HPEN)pDC->SelectObject(pen);
pDC->Rectangle(rcWnd);
pDC->SelectObject(Oldpen);
ReleaseDC(pDC);
// TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
//修改窗体边框的颜色
CDC *pDC = pWnd->GetWindowDC();
CRect rcWnd;
pWnd->GetWindowRect(rcWnd);
pWnd->ScreenToClient(rcWnd);
int nWidht = rcWnd.Width();
int nHeight = rcWnd.Height();
rcWnd.left = 1;
rcWnd.top = 1;
rcWnd.bottom = rcWnd.top+nHeight-1;
rcWnd.right = rcWnd.left + nWidht-1;
CPen pen(PS_SOLID, 1, RGB(255, 0, 128));
HPEN Oldpen = (HPEN)pDC->SelectObject(pen);
pDC->Rectangle(rcWnd);
pDC->SelectObject(Oldpen);
pWnd->ReleaseDC(pDC);
}
在这里修改指针位置么?
//修改窗体边框的颜色
CDC *pDC = pWnd->GetWindowDC();
HBRUSH CSkinTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//修改编辑框
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
pDC->SetTextColor(RGB(0,0,0)); //编辑框类的字体设置为黑色;
pDC->SetBkMode(TRANSPARENT); //设置为透明不影响字体颜色 //修改Edit文本框的边框颜色
//CDC *pDC = pWnd->GetWindowDC();
CRect rcWnd;
pWnd->GetWindowRect(rcWnd);
pWnd->ScreenToClient(rcWnd);
int nWidht = rcWnd.Width();
int nHeight = rcWnd.Height();
rcWnd.left = 1;
rcWnd.top = 1;
rcWnd.bottom = rcWnd.top+nHeight-1;
rcWnd.right = rcWnd.left + nWidht-1;
CPen pen(PS_SOLID, 1, RGB(0, 255, 128));
HPEN Oldpen = (HPEN)pDC->SelectObject(pen);
pDC->Rectangle(rcWnd);
pDC->SelectObject(Oldpen);
pWnd->ReleaseDC(pDC);
return (HBRUSH)m_MeaningBrush.GetSafeHandle();
}
{
// TODO: Add your message handler code here// Do not call CEdit::OnNcPaint() for painting messages
CDC *pDC = GetWindowDC();CRect rcWnd;
GetWindowRect(rcWnd);
ScreenToClient(rcWnd);
int nWidht = rcWnd.Width();
int nHeight = rcWnd.Height();
rcWnd.left = 1;
rcWnd.top = 1;
rcWnd.bottom = rcWnd.top+nHeight-1;
rcWnd.right = rcWnd.left + nWidht-1;
CPen pen(PS_SOLID, 1, RGB(255, 0, 128));
HPEN Oldpen = (HPEN)pDC->SelectObject(pen);pDC->Rectangle(rcWnd);pDC->SelectObject(Oldpen);
ReleaseDC(pDC);
}