建立文本框背景

1.1利用BitBlt建立位圖背景(只會按位圖原始尺寸進行加載)

BOOL CLesEx11_3View::OnEraseBkgnd(CDC* pDC)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	CBitmap bitmap;
	bitmap.LoadBitmap(IDB_BITMAP1);//加載位圖;
	CDC dcCompatible;               //建立一個CDC對象用於創建一個與pDC的兼容位圖;
	dcCompatible.CreateCompatibleDC(pDC);//建立兼容位圖;
	dcCompatible.SelectObject(&bitmap);//將位圖選入設備描述表中;
	CRect rect;
	GetClientRect(&rect);//獲得客戶區域矩形的大小;
	//利用BitBlt將源設備中的位圖複製到目標區域矩形中;
	pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
	return TRUE;
}


1.2利用StrtchBlt建立位圖背景

BOOL CLesEx11_3View::OnEraseBkgnd(CDC* pDC)
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	CBitmap bitmap;
	bitmap.LoadBitmap(IDB_BITMAP1);//加載位圖;
	CDC dcCompatible;               //建立一個CDC對象用於創建一個與pDC的兼容位圖;
	dcCompatible.CreateCompatibleDC(pDC);//建立兼容位圖;
	dcCompatible.SelectObject(&bitmap);//將位圖選入設備描述表中;
	CRect rect;
	GetClientRect(&rect);//獲得客戶區域矩形的大小;
	BITMAP bm;
	bitmap.GetBitmap(&bm);//獲得位圖的大小;
	//利用StretchBlt將源設備中的位圖複製到目標區域矩形中;
	pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
	return TRUE;  //返回非零值來擦出元背景;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章