wince 下APP的背景

把自己经常用的收集在一起,免得忘记了到处乱找

主要是位图背景和简单的颜色背景

装载位图背景

        CBitmap  BmpBackground
	HWND hWnd;
	CPaintDC* dc;
	CRect  rect;    
	GetClientRect(hWnd, &rect);    
	CDC  dcMem;   
	dcMem.CreateCompatibleDC(dc);     
	BITMAP  bitmap;    
	BmpBackground.GetBitmap(&bitmap); 
	CBitmap  *pbmpOld = dcMem.SelectObject(&BmpBackground);   
	//dc.SetStretchBltMode(COLORONCOLOR);
	dc->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,  bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);    
	dcMem.SelectObject(pbmpOld);  
	BmpBackground.DeleteObject();  
	dcMem.DeleteDC();  

RGB颜色背景

OnPaint 函数下添加,
COLORREF m_clrClient;
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(rect, m_clrClient);

多窗口滑动切屏

借鉴了一下几位CSDN朋友的文章,简要的贴一下,效果还是可以。
超级大懒人,所以直接把下一瓶的对话框截屏了然后保存成位图。。。。 委屈
FYI我的屏幕是800*480分辨率。
大概就是这样我也记不清了。
#define CUTBackGround  //下一屏的截屏
HDC       hDC;
HDC       hMemDC;
HDC       hDCBmp;
HANDLE    hBmpDis;
HBITMAP   hBitmap;
HBITMAP   hOldMemBmp;
switch (nDirection)
{
case MOVE_LEFT:
	{
		hDC         = GetWindowDC(hWnd);
		hMemDC      = CreateCompatibleDC(hDC);  
		hBitmap     = CreateCompatibleBitmap(hDC, 1600, 480);  
		hOldMemBmp  = (HBITMAP)SelectObject(hMemDC, hBitmap); 
		BitBlt(hMemDC,0,0,800,480,hDC,0,0,SRCCOPY); 

		hDCBmp      = CreateCompatibleDC(hDC);  
		hBmpDis     = LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(CUTBackGround),IMAGE_BITMAP,0,0,0);  
		SelectObject(hDCBmp, hBmpDis);  
		BitBlt(hMemDC,800,0,1600,480,hDCBmp,0,0,SRCCOPY);  

		for(DWORD dwPos = 0; dwPos <= 800; )       
		{         
			BitBlt(hDC, 0, 0, 800, 480, hMemDC, dwPos, 0, SRCCOPY);     
			dwPos = dwPos + 10;   
		}
		break;
	}

空间的透明背景

重载OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)函数
普通的RGB颜色背景的话,静态文本框
m_BKBrush.CreateSolidBrush(m_clrClient);    //初始化时添加
if( nCtlColor == CTLCOLOR_STATIC)        
{      
     pDC->SetTextColor(RGB(222,224,225));
     pDC->SetBkMode(TRANSPARENT); 
     hbr=(HBRUSH)(m_BKBrush.GetSafeHandle());     
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">}</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="cpp">如果背景是位图的话,初始化时添加这个
 
 
<span style="font-family: Arial, Helvetica, sans-serif;">m_BKBrush.CreatePatternBrush(&BmpBackground);</span>

还有什么的想起来再添加吧。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值