//创建透明画刷 CClientDC dc(this); //使用(HBRUSH)GetStockObject可以返回空画刷句柄,但CBrush //无法通过画刷句柄构造,可通过给其静态成员函数FromHandle传递HBRUSH //句柄获得CBrush指针 CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); CBrush *pOldBrush=dc.SelectObject(pBrush); dc...
MFC设置透明画刷小问题解决 CClientDC dc(this); CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); dc.SelectObject(pBrush); 一开始我把dc.SelectObject(pBrush);写成了dc.SelectObject(&pBrush);结果没有出现透明画刷的效果,而且也没有报错。后面才发现pBrush已经是一个指针了,所以就不需要...
MFC 学习——设置对话框的背景颜色及设置透明 (2012-03-20 20:57:28) 现说设置背景颜色。 我用了很多方法都不行,查了很多资料,现在说一下解决方案吧。 在 XXXXXXDlg.头文件的 protected:中加入 CBrush m_brush; 在 XXXXXXDlg.cpp 文件中的 OnInitDialog()初始化函数中加入画刷 m_brush.CreateSolidBrush...
COLORREF m_clrBackground; // 文字背景色 CFont *m_pTextFont; // 文字字体 CBitmap m_Bmp; // 保存背景用的位图对象 public: // 设置背景色(若clr为CLR_NONE,则背景透明) void SetBackgroundColor(COLORREF clr){m_clrBackground = clr;} // 设置文字前景色 void SetTextColor(COLORREF clr){m_c...
转换后的画刷句柄传给CBrush类的一个静态成员函数FromHandle, 它会把句柄变为一个CBrush类的对象, 并返回其指针.这样就得到了一个空画刷的对象, 然后用CClientDC的成员函数SelectObject把空画刷对象选到设备描述表中, 然后就可以画圆了.最后还要记得把原始画刷替换回去, 不然会引发一些图像的错误....
向设备上下文dc选入一个空画刷br和一个红画笔pen即可 简单实例如下://CBrush br;//CPen pen;pen.CreatePen(PS_SOLID,1,RGB(255,0,0));br.CreateStockObject(NULL_BRUSH);dc.SelectObject(&pen);dc.SelectObject(&br);//dc.Rectangle(1,1,100,100);...
CBitmapbmp; bmp.LoadBitmap(IDB_BITMAP2); ///加载位图 m_brushBackground.CreatePatternBrush(&bmp); ///创建位图画刷 其中IDB_BITMAP2是你图片的ID号 然后在OnDraw(CDC*pDC)函数中添加代码 CRectrect; GetClientRect(rect);///取得客户区域
CBrush brush; brush.CreateSolidBrush(m_clrBackground); ::SelectObject(lpDrawItemStruct->hDC, brush.m_hObject); // 设置画刷颜色 ::SelectObject(lpDrawItemStruct->hDC, GetStockObject(NULL_PEN)); // 设置笔为空笔(不绘制边界) Rectangle(lpDrawItemStruct->hDC, 0, 0,rect.right - rect.left, rect....
关键代码如下:CClientDC dc(this);dc.SelectStockObject(NULL_BRUSH);dc.Rectangle(0,0,300,200);只需要在画出矩形之前,把NULL_BRUSH这个自带的预定义画笔选入设备描述表(dc)即可。
在XXDlg.头文件的protected:中加入CBrush m_brush; 在XXDlg.cpp文件中的OnInitDialog()初始化函数中加入画刷m_brush.CreateSolidBrush(RGB(255,255,255));RGB中的颜色自己定义。 然后在类向导中添加WM_CTLCOLOR消息函数。在里面只写一句话:return m_brush; ...