如何在窗口绘制背景图片,并且在图片上话一个矩形
2013-12-06 11:05
337 查看
void CPtestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CPaintDC dc(this); CImage ii; BOOL b = ii.Load(_T("c:\\flower.jpg")); HBITMAP hbmp =(HBITMAP)ii.operator HBITMAP(); CBitmap bm; bm.Attach(hbmp); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap *pbmpOld=dcMem.SelectObject(&bm); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, rect.Width(), rect.Height(), SRCCOPY); CPen NewPen(PS_SOLID, 2, RGB(255,0,0)); dc.SelectObject(&NewPen); dc.SetROP2(R2_COPYPEN); dc.SelectStockObject(NULL_BRUSH); dc.Rectangle(rect.left+20,rect.top+ 30, 126,126); // dc.SelectStockObject(NULL_BRUSH); DeleteObject(&dcMem); CDialog::OnPaint(); } }
相关文章推荐
- MFC构建一个带背景图片的窗口
- qt4:给你的窗口设置一个背景图片
- 如何使一个窗口强制激活在最前端并且可以填写表单?
- JAVA如何在为窗口设置背景图片
- 如何绘制对话框窗口背景位图
- OpenGL绘制一个矩形,并在窗口大小改变时保持它的形状
- 如何载入一个图片,并将其作为Stage背景
- 如何通过代码创建圆角矩形和图片背景选择器
- MATLAB 如何循环显示多张图片在一个窗口
- 如何为PreferenceScreen分别设置窗口背景图片和actionBar背景图片/拖动时不黑屏
- 如何让css背景图片占满全部背景,并且保持长宽比
- Java-如何为frame窗口设置背景图片
- Qt中绘制窗口的背景图片注意事项(常见的setStyleSheet和QPalette)
- 使用OpenGL绘制一个矩形,并在窗口大小改变时保持它的形状
- Ubuntu如何用自己的图片替换登录窗口背景
- JAVA如何在为窗口设置背景图片(1.JFrame)
- 绘制一个普通的蓝色背景的窗口,中间有一个红色的方块
- qt4:给你的窗口设置一个背景图片
- 如何让css背景图片占满全部背景,并且随着浏览器缩放图片保持长宽不变呢?
- 如何在CDC上绘制背景透明的图片