Wince 设备环境和画笔应用
本文主要讲到的是画笔应用,在Wince -06环境下,画笔应用很广泛,很有技巧,这里笔者要着重介绍。
设备环境可以用一下图表示,主要是让大家大致了解Wince -06的设备环境,下面在图形舍虚设计中会用到。

画笔颜色的表示:
颜色用COLORREF类型标识
PGR(cRed,cGreen,cBlue)给COLORREF赋值;
这里一般英文前面都加一个小写字母,而相应的单词首字母是大写。(这里涉及到匈牙利命名法)
取值范围为0~255之间,举例:
RGB(0X00,0X00,00)------表示黑色;
RGB(0XFF,0XFF,0XFF)------表示白色;
RGB(0X00,0XFF,0x00)------表示绿色。
要进行图形程序设计,首先就得获取设备环境,下面来介绍怎么获取设备环境。设备环境表示为HDC
设备环境的获取:
* 处理WM_PAINT消息函数中使用
HDC BeginPaint(HWND hwnd,LPPAINTSTRUCT lpPaint);
void EndPaint(HWND hwnd,PAINTSTRUCT&ps); //释放内存环境,
* 处理非WM_PAINT消息的函数中使用
HDC GetDCH(HWND hwnd);
int ReleaseDC(HWND hwnd,HDC hdc); //释放哪一个
下面要开始进行绘图了,其绘图的基本步骤如下:
*创建好画笔或画刷对象
*将创建好的画笔或者画刷选入设备对象
*调用绘制图形的函数进行绘制
*恢复原有设备环境设置
*删除创建的画笔或者画刷对象
画笔的创建(如果是自己获取的,就不用释放了):
*画笔的定义:
HPEN hpen;
*画笔的创建:
1、GetStockObject(int)
BLACK_PEN 黑色画笔
WHITE_PEN 白色画笔
2、CreatePen(int nPenstyle,int nWidth,COLORREF crColor);
PS_SOLID 实线
PS_DASH 虚线
画笔的使用
选入设备环境
SelectObject(HDC hdc,HGDIOBJ hgdiobj);
//使用绘图函数
.........................
//恢复设备环境
SelectObject(HDC hdc,HGDIOBJ hgdiobj)
删除创建的对象
DeleteObject(HGDIOBJ hObject);
Wince 设备环境和画笔应用的更多相关文章
- WINCE设备开机灰屏问题(很怪异)
WINCE设备开机灰屏问题(很怪异) 1. 问题现象 图1 无法进入系统,虽然没有调试信息,但应该可以判断是程序跑飞了.我们这款产品用到3种显示屏(采用不同的驱动IC),可是测试发现1和2号屏 ...
- Visual C++ 打印编程技术-内存设备环境
1.内存设备环境 内存设备环境是一个没有设备与它联系的环境.一般利用与某个标准设备环境兼容的内存设备环境把一个位图复制到屏幕上去.为此可以先创建一个与某个标准设备环境兼容的内存设备环境,然后把所要显示 ...
- VB中的GDI编程-1 设备环境DC
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- GDI 设备环境句柄(2)
WM_PAINT 消息的触发 Windows 程序在以下情况会触发WM_PAINT消息: 窗口被移动导致被遮盖部分暴露出来 用户调整窗口的大小(当窗口类的 style 字段被设置为 CS_HREDRA ...
- C#通过SendARP()获取WinCE设备的Mac网卡物理地址
ARP(Address Resolution Protocol) 即 地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议. SendARP(Int32 dest, Int32 host, ...
- wince mobile环境下播放WAV声音
[DllImport("coredll", EntryPoint = "PlaySound")] public static extern i ...
- wince开发环境搭建与全套教程
http://www.cnblogs.com/zhchongyao/archive/2010/12/28/1919176.html http://blog.csdn.net/weiren2006/ar ...
- [转]Device Context 设备环境 设备上下文 理解
http://blog.csdn.net/p424671075/article/details/7235601
- GDI 画笔(9)
使用现有画笔 Windows 提供三种备用画笔(Stock Pen):BLACK_PEN(黑色画笔).WHITE_PEN(白色画笔).NULL_PEN(不绘制任何图形的画笔). 调用 GetStock ...
随机推荐
- New full duplex HTTP tunnel implementation (client and server)
https://issues.jboss.org/browse/NETTY-246?page=com.atlassian.jirafisheyeplugin:fisheye-issuepanel —— ...
- JDBC学习笔记(9)——DBUtils的使用
使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用DBUtils进行更新操 测试QueryRunner类的update方 ...
- DBMS_ERRLOG记录DML错误日志(一)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过.不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支 ...
- Spring 使用注解方式进行事物管理
大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都 ...
- POJ 1751 Highways (kruskal)
题目链接:http://poj.org/problem?id=1751 题意是给你n个点的坐标,然后给你m对点是已经相连的,问你还需要连接哪几对点,使这个图为最小生成树. 这里用kruskal不会超时 ...
- 使用PUT方法上传文件无法工作原因分析
现象 在Spring Framework中,使用HTTP的PUT方法上传文件时,在服务器端发现Multipart参数为空. 原因 Spring中的StandardServletMultipartRes ...
- memcached构建集群分析之一
memcached本身是不支持集群的,集群所关注的容灾.容错.宕机恢复机制统统都没有,实战中需要自己实现容灾机制. memcached集群相比memcached的优势: 巨量数据分布到集群的多台应用主 ...
- AngularJS~集成的ajax和服务的注入
AngularJS很美,以至于迷倒了不少年青人和我这位大叔,它的美不仅仅是在写法上,而且在设计方法上都进乎于完美,用什么服务就注入什么服务,这样方法本来就很直观,程序员感觉直观了,程序在运行起来也按需 ...
- Centos6.3 jekyll环境安装
yum install ruby yum install rubygems yum install ruby-devel gem install rdiscount yum install pytho ...
- OOP设计模式[JAVA]——03职责链模式
职责链模式 Responsibility of Chain 在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求 ...