vc画线画框画矩形
来源:互联网 发布:淘宝装修模板怎么使用 编辑:程序博客网 时间:2024/04/30 03:40
CPaintDC, 用于在窗口客户区画图(仅限于在OnPaint处理函数中使用);
画线:
HDC方法
HDC hdc;
Hdc=::GetDC(m_hWnd);// ::是全局函数
MoveToEX(hdc,m_ptOrifin.x, m_ptOrifin.y,NULL); //Cpoint m_ptOrigin;前面已经定义和赋值
LineTo(hdc,point.x,point.y);//point是函数本身参数,确定当前鼠标的位置
::ReleaseDC(m_hWnd,hdc);
CDC类方法
CDC *pDC=GetDC();
pDC ->MoveTo(m_ptOrigin);
pDC ->LineTo(point);
ReleaseDC(pDC);
CClientDC类的方法
CClientDC dc(this);
dc.MoveTo(m_ptOringin);
dc.LineTo(point);
CWindowDC类的方法// 窗口内任意地方画图,包括非客户区
CwindowDC dc(this);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CwindowDC在Cview中和Cclient没什么区别
但当把this改成GetParent()不仅可以访问框架窗口了 还有系统菜单 等整个窗口 包括客服区和非客服区
若是GetDesktopWindow()则可以访问整个桌面
------------------------------------------------------------------
在传递LPRECT,LPCRECT或RECT结构作为参数的任何地方,都可以传递CRect对象来代替。
RECT结构的数据成员(left,top,right,和bottom)也是CRect的可访问数据成员。
原型一:
原型四:
原型五:
---------------------------------------------------------------------------------------------------------------
画笔
---------------------------------------------------------------------------------------------------------------
CPen pen(PS_SOLD,1,RGB(255,0,0));//第一个是现实模式2是线粗细 3是颜色
CClientDC dc(this);
CPen *pOldPen=dc.SelectObject(&pen);//SelectObject是绑定画笔
dc.MoveTo(m_ptOrigin);
dc.Line(point);
dc.SelectObject(pOldPen);
画刷
CBrush brush(RGB(255,0,0));
CRlientDC dc(this);
dc.FillRcet(CRect(m_ptOringin,point),&brush);
位图的画刷
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(Crect(m_ptOrigin,point),&brush);
画矩形
CClientDC dc(this);
dc.Rectangle(CRect(m_ptOrigin,point));
但画出的矩形相互遮盖
因为画矩形时里面有个默认白色画刷,所以画矩形时就填充了
实现交叉
CClientDC dc(this);
CBrush *pBrush=Cbrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH);
CBrush *pOldBrush=dc.SelectObject(pBrush);
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);
画 线 用
CClient dc(this);
if(m_bDraw==TRUE)
{
}
画有颜色
CClient dc(this);
CPen pen(PS_SOLID,1,RGB(255,0,0));
CPen *pOldPen=dc.SelectObject(&pen);
if(m_bDraw==TRUE)
{
}
dc.SetectObject(pOldPen);
画扇形
CClient dc(this);
CPen pen(PS_SOLID,1,RGB(255,0,0));
CPen *pOldPen=dc.SelectObject(&pen);
if(m_bDraw==TRUE)
{
}
dc.SetectObject(pOldPen);
http://blog.sina.com.cn/s/blog_af68a2c201019nu7.html
- vc画线画框画矩形
- vc画线画框画矩形
- VC/MFC动态画线,画圆,画椭圆,画矩形
- VC/MFC动态画线,画圆,画椭圆,画矩形
- vc 画点 画线
- win32 GDI学习 画线条和画框
- VC画线
- VC画线
- 画线,矩形,图片:
- MFC动态画线,画圆,画椭圆,画矩形
- MFC画线 矩形 画刷 透明画刷 连续线条
- 画框
- 画线、圆、矩形、面、文字
- VC动态轨迹画线
- VC动态轨迹画线
- VC动态轨迹画线
- VC动态轨迹画线
- MFC画图(画线、画矩形、画刷画笔的使用)
- Wildcard Matching--LeetCode
- 3.24
- ubuntu下 gstreamer 的配置及播放音视频例子
- Android Intent Parcelable接口传递对象遇到的问题
- Android系统启动流程——System Server
- vc画线画框画矩形
- Android Fresco图片处理库用法API英文原文文档4(Facebook开源Android图片库)
- java获取cpu、内存、硬盘信息
- Android启动流程——Home Launcher
- Xcode的控制台调试命令
- ImageLoader
- 四种方案解决ScrollView嵌套ListView问题
- Git使用基本方法二(通过SSH加密传输连接git服务器)
- python数据结构