VC6.0对话框加背景图片的方法

时间:2023-02-10 08:16:18


        用VC6.0开发的程序,默认背景没有图片,不好看,如何加入图片呢?
加入位图图片(bmp)文件的方法如下:




一、首先制作或是找到一个大小跟对话框差不多,像素:24bit及以内的都可以的位图文件:xx.bmp,放在VC6.0工程目录中。
二、在VC6.0上插入位图文件:菜单Insert->Resource...  打开插入资源的对话框,选择Bitmap(位图),然后点击import导入。这样在VC6.0
的Resource 视图上应该可以看到该位图,如名称为:IDB_BITMAP1等。当然双击有可能打不开,因为位图编辑器不支持太高像素的,如24bit的位图文件。

VC6.0对话框加背景图片的方法


VC6.0对话框加背景图片的方法



VC6.0对话框加背景图片的方法




三、在Class类视图上,找到对话框的OnPaint()成员函数,如果没有OnPain()成员函数,就添加OnPaint()函数,添加方法为:
  



VC6.0对话框加背景图片的方法


VC6.0对话框加背景图片的方法


VC6.0对话框加背景图片的方法




四、然后双击修改添加代码,如下 :




void CLogin::OnPaint() 
{
        CPaintDC dc(this);
                CBitmap m_bitmap;
                m_bitmap.LoadBitmap(IDB_BITMAP1);         //位图资源标识
                CDC memdc;
                memdc.CreateCompatibleDC(&dc);
                memdc.SelectObject(&m_bitmap);
                int width,height;
                BITMAP bmp;
                m_bitmap.GetBitmap(&bmp);                 //获取位图的宽度,高度,
                width= bmp.bmWidth;
                height= bmp.bmHeight;
                CRect rect;
                this->GetClientRect(&rect);             //矩形。
                dc.StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&memdc,0,0,width,height,SRCCOPY);        //此函数实现位图文件的缩放等,这里不缩放。
        // TODO: Add your message handler code here
        
        // Do not call CDialog::OnPaint() for painting messages
}



五、编译运行后的效果为对话框背景加入了位图图片。


VC6.0对话框加背景图片的方法