本文主要讲到的是画笔应用,在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 设备环境和画笔应用的更多相关文章

  1. WINCE设备开机灰屏问题(很怪异)

    WINCE设备开机灰屏问题(很怪异) 1.     问题现象 图1 无法进入系统,虽然没有调试信息,但应该可以判断是程序跑飞了.我们这款产品用到3种显示屏(采用不同的驱动IC),可是测试发现1和2号屏 ...

  2. Visual C++ 打印编程技术-内存设备环境

    1.内存设备环境 内存设备环境是一个没有设备与它联系的环境.一般利用与某个标准设备环境兼容的内存设备环境把一个位图复制到屏幕上去.为此可以先创建一个与某个标准设备环境兼容的内存设备环境,然后把所要显示 ...

  3. VB中的GDI编程-1 设备环境DC

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  4. GDI 设备环境句柄(2)

    WM_PAINT 消息的触发 Windows 程序在以下情况会触发WM_PAINT消息: 窗口被移动导致被遮盖部分暴露出来 用户调整窗口的大小(当窗口类的 style 字段被设置为 CS_HREDRA ...

  5. C#通过SendARP()获取WinCE设备的Mac网卡物理地址

    ARP(Address Resolution Protocol) 即 地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议. SendARP(Int32 dest, Int32 host, ...

  6. wince mobile环境下播放WAV声音

     [DllImport("coredll", EntryPoint = "PlaySound")]         public static extern i ...

  7. wince开发环境搭建与全套教程

    http://www.cnblogs.com/zhchongyao/archive/2010/12/28/1919176.html http://blog.csdn.net/weiren2006/ar ...

  8. [转]Device Context 设备环境 设备上下文 理解

    http://blog.csdn.net/p424671075/article/details/7235601

  9. GDI 画笔(9)

    使用现有画笔 Windows 提供三种备用画笔(Stock Pen):BLACK_PEN(黑色画笔).WHITE_PEN(白色画笔).NULL_PEN(不绘制任何图形的画笔). 调用 GetStock ...

随机推荐

  1. nginx 502 错误

    今天帮朋友处理一个程序报错,重启nginx服务之后,发现首页打不开了,但是静态文件可以打开 经检查nginx 服务器正常运行,重启无数次仍然502错误,考虑到静态文件可以打开,怀疑可能是php 脚本程 ...

  2. UVA 10054 The Necklace(欧拉回路,打印路径)

    题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  3. LCD1602汉字、自定义字符取模

    用zimo221软件, 新建一个8*8的图像,留出左边3列,用右边5列点出自定义字符,选择取模方式C51,就可得到对应的编码 如下图:温度符号℃的编码

  4. HDU 1394 Minimum Inversion Number (树状数组求逆序对)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 题目让你求一个数组,这个数组可以不断把最前面的元素移到最后,让你求其中某个数组中的逆序对最小是多 ...

  5. Light oj 1234 - Harmonic Number

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 给你一个数n,让你求 这个要是直接算的话肯定TLE,要是用1e8的数组预处理存储 ...

  6. POJ 2762 Going from u to v or from v to u? (强连通分量缩点+拓扑排序)

    题目链接:http://poj.org/problem?id=2762 题意是 有t组样例,n个点m条有向边,取任意两个点u和v,问u能不能到v 或者v能不能到u,要是可以就输出Yes,否则输出No. ...

  7. EasyUI 下拉列表联动

    //绑定部门.人员下拉菜单项 function BindDdl() { var $ddlbm = $("#ddlBm");//部门下拉列表 var $ddlry = $(" ...

  8. [前端JS学习笔记]JavaScript 数组

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  9. assert函数(python)

    assert语句: 用以检查某一条件是否为True,若该条件为False则会给出一个AssertionError. 用法: assert type(x)=int and x>=0 如果不满足后面 ...

  10. IT职场生存法则

    转!!!!!!!!!!!!! 摘要我在IT职场打滚超过15年了,从小小的程序员做到常务副总.相对于其它行业,IT职场应该算比较光明的了,但也陷阱重重,本文说说我的亲身体会,希望大家能在IT职场上战无不 ...