在VC++6.0中给对话框设置背景色或者背景图片

/***********************************************************
*说明: 在VC++6.0中给对话框设置背景色或者背景图片
*备注:测试代码的对话框程序的工程名为:BJ
*原理:在OnPaint()中加入代码
*作者:袁培荣 yuanpeirong@vip.qq.com
*修改时间:2011年09月26日
***********************************************************/

// 注意:去掉相应以  /* */ 注释的注释符号后代码生效

void CBJDlg::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
	{
		//CDialog::OnPaint();//这行是原有代码

		/*设置背景色:
		CRect rc;
        GetClientRect( &rc );// 获取客户区
        CPaintDC dc(this);
        dc.FillSolidRect(&rc, RGB(0,160,0));   // 填充客户区颜色
        CDialog::OnPaint(); 
		*/
		
	    /*设置背景图片:
		//CDialog::OnPaint();//要禁止这个调用   
		CPaintDC  dc(this);   
		CRect  rect;   
		GetClientRect(&rect);   
		CDC  dcMem;   
		dcMem.CreateCompatibleDC(&dc);   
		CBitmap  bmpBackground;   
		bmpBackground.LoadBitmap(IDB_BITMAP3);  //IDB_BITMAP3是位图资源
		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);   
		*/
		
	}


}


转载于:https://my.oschina.net/u/186539/blog/42374

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值