Posted on 2012-09-29 14:15
盛勝 閱讀(928)
評論(0) 編輯 收藏 引用 所屬分類:
vc++深入詳解
普通畫刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
CBrush brushRed(RGB (255,0,0));
CBrush brushGreen(RGB (0,255,0));
CBrush brushBlue(RGB (0,0,255));
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin,point),&brushGreen);
CView::OnLButtonUp(nFlags, point);
}位圖畫刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
//創建位圖對象
CBitmap bitmap;
//加載位圖資源
bitmap.LoadBitmap(IDB_BITMAP1);
//創建位圖畫刷
CBrush brush(&bitmap);
//創建并獲得設備描述表
CClientDC dc(this);
//利用位圖畫刷填充鼠標拖拽過程中形成的矩形區域
dc.FillRect(CRect(m_ptOrigin,point),&brush);
CView::OnLButtonUp(nFlags, point);
}
透明畫刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
//創建并獲得設備描述表
CClientDC dc(this);
//創建一個空畫刷;getstockobject的返回類型是HGDIOBJECT,需要進行強制類型轉換
//GetStockObject函數可以獲取一個畫刷句柄,FromHandle函數可以將畫刷句柄轉換為畫刷對象,繪圖操作需要的是一個畫刷對象
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
//將空畫刷填入設備描述表ccwf
CBrush *pOldBrush=dc.SelectObject(pBrush);
//繪制一個矩形
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);
CView::OnLButtonUp(nFlags, point);
}