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.H
如何在窗口绘制背景图片,并且在图片上话一个矩形
最新推荐文章于 2022-12-29 16:26:27 发布
在C++中,使用CPaintDC类和CImage类加载并显示背景图片。首先加载图片文件,然后将其转换为HBITMAP,附加到CBitmap对象。创建内存设备上下文,选择位图并进行拉伸绘制到窗口。接着,创建一个红色实线笔,设置绘图模式,不选择刷子,绘制矩形。最后,清理资源并完成OnPaint()方法。
摘要由CSDN通过智能技术生成