永发信息网

想用MFC做个界面,但不知道如何在MFC对话框中插入背景图片,把这图片用于登录界面的背景

答案:4  悬赏:70  手机版
解决时间 2021-04-19 18:16
想用MFC做个界面,但不知道如何在MFC对话框中插入背景图片,把这图片用于登录界面的背景
最佳答案
背景图像加载很简单,你只需要做以下几步即可(假设你的登陆界面对话框类名叫“CLoginDlg”):
(1)菜单“Insert”->"Resource",选择Bitmap,然后点“Import...”,选择你的背景图像,然后假设该资源ID为“IDB_BITMAP1”;
(2)在LoginDlg.h下声明一个CBitmap m_BKbitmap;
(3)在LoginDlg.cpp的构造函数中:m_BKbitmap.LoadBitmap(IDB_BITMAP1);
(4)在LoginDlg.cpp的OnPaint()函数中写上:
void CLoginDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
if (IsIconic())
{
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
{
BITMAP bm;
CRect rect;
CDC dcMem;
m_BKbitmap.GetBitmap (&bm);
GetClientRect(&rect);
dcMem.CreateCompatibleDC (&dc);
CBitmap *oldbitsrc=dcMem.SelectObject (&m_BKbitmap);
dc.BitBlt (0,0,bm.bmWidth ,bm.bmHeight ,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(oldbitmap);
CDialog::OnPaint();
}
}
你的问题就OK了。
关于按钮控件显示图片,建议你可以下载一个CButton的继承类,什么“CButtonST”啊、“CBtnST”啊、“CDlgShadeButtonST”啊,自己手写的话不划算,有很多现成的控件类,都写的非常好,完全可以拿来为我们所用。
全部回答
可以用对话框的OnPaint绘制

void CLogin::ShowPic()
{
 CBitmap bmp;
 bmp.LoadBitmap(IDB_BITMAP1);
 HBITMAP hbitmap=(HBITMAP)bmp.Detach();
 m_key.ModifyStyle(0xF, SS_BITMAP|SS_CENTERIMAGE); 
 m_key.SetBitmap(hbitmap); 
 UpdateData(false);
}
int CLogin::DoModal() 

 return CDialog::DoModal();
}
 
BOOL CLogin::OnInitDialog() 
{
 CDialog::OnInitDialog();
 ShowPic();
 // TODO: Add extra initialization here
 
 return TRUE;  // return TRUE unless you set the focus to a control
               // EXCEPTION: OCX Property Pages should return FALSE
}
对话框右边有个“控制”小工具条,有个按钮是图像 ,用它插入,设置图片的属性后,最后在菜单->布局->Tab顺序,把背景图片的号码改为最大
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
OPPOa11能用联通卡吗
4岁到6岁儿童的饭量应该多少
肃立额肃是什么意思,肃穆的肃是什么意思
哪句古诗最能够扣人心弦,引起人的共鸣?
风湿病饮食要注意什么,风湿病适宜吃什么食物
成立消防器材公司需要什么手续
儿童溪边玩耍的古诗句,形容儿童美好的句子
电脑为什么会反复重启,我的电脑为什么自动重
学校标语文化墙,请给学校的下列场所设计几条
简谱上的DS表示什么??
给数学老师的赠言搞笑,以数学老师身份给学生
武汉电力学院是几本,武汉武职业技术学院是几
有没有形容物是人非的诗词
第一次相亲开场白台词,与相亲对象开场白
有钱人什么都有,穷人什么都没有穷人有钱人真
推荐资讯
韩文赵字怎么写
与清明有关的故事、资料
警犬发明了什么,发明电子警犬的故事
被骗了钱怎么安慰自己,如果被骗钱了,应该怎
投影仪怎么连苹果电脑,苹果电脑如何设置投影
天龙八部怎么升级啊
水浒Q传力道现在有没有前途?
谢谢每一个惦记我的人英文缩写
杜尔伯特蒙古族自治县大庆杜蒙海尔专卖店(他
现在最流行什么交通工具?
一扫阴霾的经典句子,一扫阴霾的心情 是什么意
博艺装饰怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?