• MFC用代码加入对话框背景图片和button图片


    执行环境:VS2013

    一、加入对话框背景图片

    ①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

    ②查看属性,得到位图ID

    ③编写代码:

    void CMFC_8Dlg::OnPaint()
    {
    	if (IsIconic())
    	{
    		....
    	}
    	else
    	{
    		//CDialogEx::OnPaint();
    
    		CPaintDC   dc(this);
    		CRect   rect;
    		GetClientRect(&rect);
    		CDC   dcMem;
    		dcMem.CreateCompatibleDC(&dc);
    		CBitmap   bmpBackground;
    		bmpBackground.LoadBitmap(IDB_BITMAP1);
    		//IDB_BITMAP是你自己的图相应的ID   
    		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);
    
    	}
    }
    二、加入button背景图片

    ①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

    ②查看属性,得到位图ID

    ③编写代码:

    void CMFC_8Dlg::OnPaint()
    {
    	if (IsIconic())
    	{
    		....
    	}
    	else
    	{
    		//CDialogEx::OnPaint();
    		HBITMAP   hBitmap;
    		hBitmap = (HBITMAP)::LoadImage(
    			NULL,
    			_T("bitmap2.bmp"),                           // 图片路径(放到.cpp和.h的目录下) 
    			IMAGE_BITMAP,                          // 图片格式  
    			0, 0,
    			LR_LOADFROMFILE | LR_CREATEDIBSECTION);  // 注意LR_LOADFROMFILE  IDC_BUTTON1
    		((CButton *)GetDlgItem(IDC_BUTTON1))->SetBitmap(hBitmap);
    
    	}
    }
    ④设置此button的属性,设置Bitmap为True



  • 相关阅读:
    180. Consecutive Numbers
    181. Employees Earning More Than Their Managers
    15. 3Sum
    11. Container With Most Water
    178. Rank Scores
    在多台服务器上简单实现Redis的数据主从复制
    Head First
    23种设计模式(6):模版方法模式
    《Head.First设计模式》的学习笔记(9)--外观模式
    Head First--设计模式(装饰者模式)
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6729682.html
Copyright © 2020-2023  润新知