MFC的picture控件
MFC的picture控件添加bmp格式图片后,调用程序时把静态文本控件的内容挡掉了,请问要怎么设置才能让图片不挡住任何一个控件的内容,就是将图片置于底层。...
MFC的picture控件添加bmp格式图片后,调用程序时把静态文本控件的内容挡掉了,请问要怎么设置才能让图片不挡住任何一个控件的内容,就是将图片置于底层。
展开
展开全部
你是想设置背景色吧
直接使用picture控件添加bmp图片,不容易实现你描述的功能。
可以通过以下方法解决:
1.添加一个picture控件ID假定为IDC_S_PIC,调整的你需要的大小,类型原则Frame。
2.在OnPaint函数中添加以下代码在IDC_S_PIC制定的范围内添加背景图片。
void CBDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetDlgItem(IDC_S_PIC)->GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
if(bmpBackground.LoadBitmap(IDB_BITMAP1))
{ //保证加载图片成功后再执行以下操作
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
}
直接使用picture控件添加bmp图片,不容易实现你描述的功能。
可以通过以下方法解决:
1.添加一个picture控件ID假定为IDC_S_PIC,调整的你需要的大小,类型原则Frame。
2.在OnPaint函数中添加以下代码在IDC_S_PIC制定的范围内添加背景图片。
void CBDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetDlgItem(IDC_S_PIC)->GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
if(bmpBackground.LoadBitmap(IDB_BITMAP1))
{ //保证加载图片成功后再执行以下操作
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询