1.加载图片
在OnPaint()中加入如下代码
CDC *pDC = g_mainWnd->GetDC();
CBitmap Bitmap;
2.在对话框中画图
在按钮事件中加入如下代码
ReleaseDC(pDC);
3 .改变背景颜色
在OnPaint()函数的else中加入如下代码
(1)方法1
CPaintDC dc(this);
CRect rect;
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(255,0,0));
(2)方法2
在事件按钮中加入如下代码,如果界面刷新时,背景颜色就被刷掉,所以最好加入到OnPaint()函数中
CDC *pDC = this->GetDC();
CBrush brushColor(RGB(255,255,0));//填充的颜色
CPen penColor;
penColor.CreatePen(PS_SOLID,1,RGB(0,64,128));//边框颜色
pDC->SelectObject(penColor);
pDC->SelectObject(brushColor);
CRect rect;
GetClientRect(rect);
pDC->Rectangle(rect);
brushColor.DeleteObject();
penColor.DeleteObject();
ReleaseDC(pDC);
4.显示隐藏控件
(1)显示隐藏
GetDlgItem(IDC_ECIT1)->ShowWindow(SW_HIDE);//隐藏
GetDlgItem(IDC_ECIT1)->ShowWindow(SW_SHOW);//显示
(2)调整控件位置并赋予大小设定
CWnd *pWnd;
pWnd = GetDlgItem( IDC_EDIT1 );
pWnd->MoveWindow( CRect(0,0,100,100) );
5:改变对话框颜色;
添加类成员变量CBrush m_brush;
//m_brush.CreateSolidBrush(RGB(255, 255, 255)); 添加一个消息WM_CTLCOLOR
然后添加消息响应函数:
HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor ==CTLCOLOR_DLG) //添加这两行 return m_brush; //添加这两行,是否为对话框的判断语句 return hbr; } void CXXDlg::OnBnClickedbtn() { //把颜色选择框的值填到红色部分中
m_brush.DeleteObject(); m_brush.CreateSolidBrush(RGB(0, 255, 255)); Invalidate(); } |