MFC 图形
来源:互联网 发布:安卓网游源码 编辑:程序博客网 时间:2024/05/16 12:06
设备描述表(DeviceContext简称为DC),也称设备上下文或设备环境,其是一种包含各种绘图属性(如前面所说的字体、颜色)和方法(即各种绘图函数)的数据结构。在窗口中绘图之前必须首先获取窗口的设备描述表。没有设备描述表,任何绘图函数都无法工作。
有三种方法获取DC:1. GetDC() 2.BeginPain()函数 3.构造CDC对象
CGdiObject类便是所有图形设备接口对象的一个抽象的基类。然而,设计人员在做开发的过程中很少用到基类CGdiObject类,而是经常用到其派生类。通常一个Windows GDI对象都是由CGdiObject的派生类的C++对象所表示的,CGdiObject的派生类包括CBitmap、CBrush、CFont、CPen、CRgn、Cpalette
以下用CBrush为例:
CBrush() 有三种重载形式:
1). CBrush(COLORREF crColor)产生某种颜色的实心刷子
CBrush br( RGB( 255, 0 ,0 ));
dc.SelectObject( &br );
2)CBrush( int index,COLORREF crColor )产生某种剖面线的刷子
CBrushbr(HS_FDIAGONAL,RGB(255,0,0));
dc.SelectObject(&br);
3) CBrush( CBitmap* pBitmap )产生位图刷子
CBitmapbmp;
bmp.LoadBitmap(IDB_BITMAP1); //加载位图
CBrushbr(&bmp);
dc.SelectObject(&br);
代码:
新建一个单文本的MFC工程,使用手动添加代码的方式:
在View.h中定义一个CPoint类型的变量,用来存储画笔或者是画刷的初始位置,在View.cpp中加入函数或者在ClassWizard中加入windows消息处理函数,OnLButtonDown和OnLButtonUp,实现功能左键按下时代表初始位置,拖动释放时显示一个画刷结果。
void CCBrushView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_pOrign=point;
CView::OnLButtonDown(nFlags, point);
}
void CCBrushView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CBrush newbr( RGB(0, 255, 255 ));
CClientDC dc( this );
CBrush *pOldbr = dc.SelectObject( &newbr );
dc.Rectangle( CRect(m_pOrign,point) );
dc.SelectObject( pOldbr );
CView::OnLButtonUp(nFlags, point);
}
画笔的使用类似,步骤如下:
- MFC 图形
- MFC图形函数
- MFC图形引擎
- MFC/GDI绘制图形
- MFC 图形设计
- MFC 图形的保存
- MFC实例:图形移动
- MFC之图形
- MFC绘制图形
- MFC图形按钮/自定义颜色
- MFC图形函数(转载)
- MFC 双缓冲图形刷新
- MFC----图形设备接口1
- MFC----图形设备接口2
- MFC 双缓冲图形刷新
- MFC双缓冲图形刷新
- MFC填充任意不规则图形
- mfc图形菜单栏的编写
- VC中获得当前日期和时间
- jspInit函数与jspDestroy函数(转)
- UCOS_II的移植到S3C2440 ADS 1.2
- Android的桌面(Launcher)的定制
- 黑马程序员---Java基础--23天(网络编程之一)
- MFC 图形
- 如何查找JSP页面中的错误
- 选择排序
- 内部类
- toad 11 下载和注册
- Apache document
- 添加系统日志
- Linux下安装Oracle(11g)之:准备工作
- 程序员如何在"小公司成长"和"大公司学习"