vc画线画框画矩形
来源:互联网 发布:广西农产品出口数据 编辑:程序博客网 时间:2024/06/10 23:07
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);
- vc画线画框画矩形
- vc画线画框画矩形
- VC/MFC动态画线,画圆,画椭圆,画矩形
- VC/MFC动态画线,画圆,画椭圆,画矩形
- vc 画点 画线
- win32 GDI学习 画线条和画框
- VC画线
- VC画线
- 画线,矩形,图片:
- MFC动态画线,画圆,画椭圆,画矩形
- MFC画线 矩形 画刷 透明画刷 连续线条
- 画框
- 画线、圆、矩形、面、文字
- VC动态轨迹画线
- VC动态轨迹画线
- VC动态轨迹画线
- VC动态轨迹画线
- MFC画图(画线、画矩形、画刷画笔的使用)
- 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案
- 数组和广义表的基本运算实现(三元组)
- 图的邻接表 表示 DFS 和BFS C++实现
- (面试)网络相关(不断丰富中…)
- 软件测试之BUG分析定位概述(QA如何分析定位BUG)
- vc画线画框画矩形
- UML 的九种模型图--UML建模基础知识
- 深度学习的几种库
- Java 关键字之static详解
- Redis使用优化技巧(java)
- nodejs的express使用介绍
- html中上下左右拖拉横线控制div宽度示例
- Delphi中始终用WebBrowser打开网页
- ViewPager子View滑动事件冲突解决