Wince -06设备环境和画笔应用

  本文主要讲到的是画笔应用,在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);

时间: 2024-11-09 03:27:50

Wince -06设备环境和画笔应用的相关文章

[00016]-[2015-09-05]-[00]-[Window GDI编程 --- 设备环境]

[设备环境] DC(Device Context)在这里我们需要明白一点 Windows SDK 和 MFC类封装 绘图编程的一点区别Window SDK 由于是纯粹采用WindowAPI 来实现编程 有自己的应用程序测基本框架MFC 由于采用采用类封装的机制 将C++面向对象编程和windows的消息机制很好地结合在一起 Window SDK 绘图注重句柄的操作所以 HDC HBRUSH HBITMAP等类型的变量比较常用MFC中 CDC CBURSH CBitmap等类的变量操作比较常见,但

wince应用软件开发环境搭建

对于wince系统,大家可能比较陌生,毕竟是微软推广力度不大,主要还是应用场景太少,主要设计工业,控制系统,识别行业等相关的行业会用到.对于涉及相关的开发,所涉及的开发工具,对此进行干货介绍,也是本人这么多年一直从事工作总结吧.后续会一直把这个系列讲完.每天的更新会简短而比较通俗易懂. 第一:开发环境搭建. 第二:开发步骤的讲解. wince搭建开发环境需要工具: (1)vs 2005或者vs2008: (2)sqlce 或者sqllite(wince系统内): (3)xp下ActiveSync

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

内存设备环境 内存设备环境是一个没有设备与它联系的环境.一般利用与某个标准设备环境兼容的内存设备环境把一个位图复制到屏幕上去.为此可以先创建一个与某个标准设备环境兼容的内存设备环境,然后把所要显示的位图复制到内存设备环境中,最后再从内存设备环境复制到真实的设备环境,从而把位图显示出来. eg: void CMainFrame::OnBitmapDraw() { CDC* pCDC=GetDC(); //获取当前设备上下文 CBitmap bitmap; //定义CBitmap对象 bitmap.

aix裸设备环境下为数据库添加新的数据文件

裸设备环境下,数据如果要添加数据文件比其他环境要稍微麻烦点,因为一个裸设备下面只能创建一个数据文件,以下为一次添加数据文件的记录,如下: 1.查看卷组lsvg 2查看物理卷 3.查看逻辑卷  lspv显示在卷组中的物理卷信息 4.lsvg  datavg 5.如果有closed就表示没用的 6.alter tablespace ZL9EPRLOB Add datafile '/dev/rora_data017_8g' size 5000m AUTOEXTEND OFF; 7.如果没有就需要先创建

GDI 设备环境句柄(2)

WM_PAINT 消息的触发 Windows 程序在以下情况会触发WM_PAINT消息: 窗口被移动导致被遮盖部分暴露出来 用户调整窗口的大小(当窗口类的 style 字段被设置为 CS_HREDRAW 和 CS_VREDRAW) 调用 ScrollWindow 或 ScrollDC 函数滚动客户区 调用 InvalidateRect 或 InvalidateRgn 函数生成 WM_PAINT 获取设备环境句柄 需要在屏幕上绘图的时候,需要先获取到设备环境句柄,这里有两种方式: 1.调用 Beg

点击回应、关闭确认以及另一种获取设备环境句柄的方法

API模板:https://www.cnblogs.com/eternalmoonbeam/p/10793080.html 点击回应: switch (message) { …… case WM_LBUTTONUP://当鼠标左键弹起 MessageBox(NULL, TEXT("I was clicked"), TEXT("Client"), MB_OK); return 0; …… } 关闭确认: switch (message) { …… case WM_CL

光照——06反射环境

学习笔记适合新手,如有错误请指正.?号处也请各位指点下,谢谢. 在3D开发中,需要模拟很多现实中的效果,例如一颗钢珠会将周围的画面反射,在Unity中,可以通过设置材质的属性来实现 反射天空盒 新建一个场景>创建一个Sphere球体>新建材质并赋予球体 设置材质的两个参数即可反射天空盒>将材质的Metallic设置为1(也就是金属属性为最大)>将Smoothness设置为1,最平滑 反射天空盒及场景 仅仅反射天空盒是不够的,像赛车游戏中赛车的玻璃和车身,如果能反映周围的环境就会大大

根据当前设备环境来做pc端和手机端网页显示

当你的网页使用了两套代码(移动端和pc端代码)来显示你的网页时,就需要用到这种方法: 手机端: if (!/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { window.location.href = "http://你的pc端网址"; } 电脑端: if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { wi

Wince 文本函数和字体应用

好像又进入了一个疲惫期了,晚上状态不好,但是还是想继续更新下博客,继上次分析了wince下设备环境以及怎么绘制相关图像后,,笔者在这片文章中讲到文本函数以及其相关应用.文本输出函数是输出文本的内容,也就是在一个窗体之上将文字输出的一个函数,当然输出文字有些居左居右居中的限制,例如显示背景颜色,前进颜色的一些输出设置,在wince中,字体是一个比较大的资源,它占据了很大的空间.所以wince当中所有的字体很少,但是它提供了一种方法,让我们可以自定义字体,这个简直nice呀,下面我来具体介绍一下上面