www.microchip.com/graphics
图形快速参考指南
2011年9月
快速参考指南
2 图形快速参考指南
下表列出了一些常用分辨率和颜色深度所需的帧缓冲器大小
的示例。
■ PIC24 DA系列最高支持片上96 KB■ PIC32 MCU最高支持片上128 KB■ 外部SRAM可用于较大的帧缓冲器
■ 对于高级图形显示,外部图形控制器可提供更多的帧缓冲
器存储空间
显示屏分辨率典型尺寸
颜色深度/
存储容量要求(字节)
1 bpp
(单色)2 bpp
(4级)8 bpp
(256色)16 bpp
(6.5万色)
WVGA 800x480 7˝ 48,000 96,000 384,000 768,000
VGA 640x480 5.7˝ 38,400 76,800 307,200 614,400
WQVGA 480x272 4.3˝ 16,320 32,640 130,560 261,120
QVGA 320x240 3.2˝ 9,600 19,200 76,800 153,600
OLED常用
128x64 1˝-2.7˝ 1,024 2,048 8,192 16,384
PIC24 DA或PIC32 MCU上的内部SRAM 外部SRAM
目标应用
可通过吸引眼球且易于使用的图形显示获益的应用包括:
消费电子:温控器、无绳电话和遥控器
家用电器:咖啡机、洗衣机和烤箱
工业:数字仪器仪表、存储控制和远程终端
便携式医疗仪器:血糖仪、血压计和便携式ECG
Microchip提供不同级别的解决方案,以驱动从简单的单色
LCD到全彩WVGA用户界面等各种显示屏。
图形支持包括以下方式:
■ PIC24F DA集成图形控制器
■ PIC32无控制器图形显示
■ 支持PIC® MCU与外部图形控制器相结合
芯片产品与功能强大且易于使用的免费图形库、显示设计器
GUI,以及可与各种尺寸显示屏灵活连接的硬件开发工具包相
辅相成。
支持的屏幕尺寸和颜色Microchip图形解决方案支持各种屏幕尺寸和颜色,从小尺寸单色OLED显示屏到色彩丰富的WVGA显示屏。下表列出了表示颜色所需的每像素位数。
显示表示 颜色示例 颜色深度(每像素位数)
单色 黑白 1
灰度4级
16级24
彩色256色
6.5万色1600万色
81624
随着颜色深度和显示分辨率的升高,帧缓冲器的容量会随之
增长。根据其大小,帧缓冲器可以存储在单片机RAM中、外
部SRAM中或集成到外部图形控制器中。
显示控制器解决方案——图形显示
PIC24 DA集成图形控制器
PIC32
无控制器图形显示外部Solomon Systech
图形控制器SSD1926
外部Epson
图形控制器S1D13517
显示屏* WQVGA 480x272 WQVGA 480x272 WQVGA 480x272 WVGA 800x480
图形 硬件加速:矩形、字符和图像 PIC32上的DMA + <5 MIPS 硬件加速、SD卡、I/F和JPEG引擎 SDRAM、I/F、α混叠和画中画
帧缓冲器 颜色查找表 + MCU上96 KB + 外部SRAM MCU上128 KB + 外部SRAM Solomon Systech控制器上256 KB 外部SDRAM
内核MIPS 16 80 – –
功耗 较低 低 低 低
成本 $ $ $$ $$$
*16 bpp、60 Hz配置下的最大尺寸
图形快速参考指南 3
PIC32低成本无控制器图形显示:32位性能、灵活性、集成
Microchip的32位单片机PIC32产品线提供了80 MIPS处理能力
和高性能DMA,可直接向显示屏渲染图形。这使PIC32器件无
需外部图形控制器即可驱动显示屏。
■ 使用<5 MIPS的处理能力和DMA来渲染图形
– 可直接与STN和TFT显示屏相连
■ 集成128 KB帧缓冲器
– 使用内部帧缓冲器可支持QVGA 8 bpp显示
– 通过并行主端口(PMP)使用外部帧缓冲器可支持
WQVGA 16 bpp显示
■ 可与任何PIC32 80 MIPS 32位单片机配合工作
器件最高具有512 KB闪存和128 KB RAM,这给开发人员在设
计应用程序代码、通信协议栈和数据缓冲时提供了充足的空
间。除了图形功能之外,PIC32 MCU还集成了用于USB、CAN、以太网和电容触摸传感的外设。
外部图形控制器:带并行主端口(PMP)的PIC24或PIC32 MCU
PIC24和PIC32 MCU还可以与外部图形控制器配合工作,以支
持更大的屏幕尺寸或更高级的图形功能。
Solomon Systech SSD1926图形控制器具有硬件图形加速功能,
对PIC MCU的MIPS处理能力没有要求。该控制器包含SD卡接
口和JPEG解码引擎,以及256 KB的RAM。图形PICtail™ Plus SSD1926电路板(AC164127-5)包含用于数据存储的串行闪
存,以及用于Explorer 16或PIC32入门工具包的接口。
Epson S1D13517图形控制器包含α混叠、画中画功能,并且最高可
支持24 bpp配置下的WVGA(800x480)。该控制器具有SDRAM接口,可用于连接低成本外部存储器。图形控制器PICtail Plus Epson S1D13517电路板(AC164127-7)包含128 Mb SDRAM帧缓冲器和
16 Mb串行闪存,以及用于Explorer 16或PIC32入门工具包的接口。
集成图形控制器的PIC24F:成本低、易于使用
PIC24F DA系列使应用可以方便地添加高级图形显示功能,无
需使用外部帧缓冲器或显示控制器,从而实现高成本效益。
■ 专用的图形时钟,支持连续清晰的显示
■ 片上显示控制器,可直接与TFT、STN和OLED显示屏相连
■ 易于使用的图形处理单元,用于硬件加速
– 通过平滑、快速的存储器传输来移动和复制矩形
– 解压缩图像时无需CPU干预
– 渲染文本时无需CPU干预
■ 颜色查找表和96 KB帧缓冲器,支持多种颜色
– 使用内部帧缓冲器可支持QVGA 8 bpp显示
– 通过并行主端口(PMP)使用外部帧缓冲器可支持
WQVGA 16 bpp显示
利用硬件加速,该系列无需耗用任何MCU MIPS处理能力即可处理
和渲染图形。专用的图形引擎能够持续驱动显示屏,而不与任何其
他功能共用。
图形显示配置
DMA128 KB RAM
4 图形快速参考指南
免费的Microchip图形库
Microchip图形库经过高度模块化,并且针对Microchip的16位和32位单片机进行了优化。它易于使用并且具有一个开放源
代码和文件的接口来实现对驱动器或控制器的支持。该图形
库支持以下功能:
■ 预先制作的图形对象
■ 多种字体和语言
■ mTouch™触摸传感用户界面
■ 包括按钮、图表、复选框、滚动条、列表框、图像和基本
动画
图形库、设计器和应用笔记
免费的Microchip图形显示设计器
Microchip图形显示设
计器(GDD)是一款可
视设计工具,客户可使
用该工具快速方便地
为采用Microchip MCU的图形界面应用创建
图形用户界面(GUI)屏幕。
它为开发人员带来以下好处:
■ 能够绘制、缩放或删除屏幕对象,从而简化GUI屏幕的编码
■ 无需手动计算屏幕上对象位置的X/Y坐标
■ 生成输出源文件
■ 能够导入各种图形资源,包括自定义字体和位图图像
有关图形显示的应用笔记■ 《如何使用Microchip图形库中的控件》,AN1136■ 《Microchip图形库中的字体》,AN1182■ 《如何在Microchip图形库中创建控件》,AN1246■ 《Microchip图形库与键盘的配合使用》,AN1227■ Developing Graphics Applications using MCU with Integrated Controller,AN1368■ 《使用PIC32 MCU开发低成本无控制器(LCC)图形解决
方案》,AN1387
图形显示控制器的开发工具
系列
支持的显示电路板
QVGA 3.2″图形图形显示显示Truly 240x320
电路板电路板(AC164127-4)
WQVGA 4.3″图形图形显示显示Powertip 480x272
电路板电路板(AC164127-6)
VGA 5.7″图形图形显示显示Truly 640x480
电路板电路板(AC164127-8)
WVGA 7″图形图形显示显示Truly 800x480
电路板电路板(AC164127-9)
原型板连接显示屏原型板连接显示屏(AC164139)
PIC24 DA系列 PIC24FJ256DA210电路板(DM240312)+ 显示电路板 8 bpp或30 Hz 是
PIC32 LCC图形 PIC32入门工具包(DM320001或DM320003-2)+ LCC图形板(AC164144)+ 显示电路板
8 bpp或30 Hz 是
PIC24 + Solomon Systech
SSD1926
Explorer 16(DM240001)+ Solomon Systech GFX电路板(AC164127-5)+ 显示电路板
是
PIC32 + Solomon Systech
SSD1926
PIC32入门工具包(DM320001或DM320003-2)+ 集成显示屏的多媒体扩展板(DM320005)
否
PIC32 + Solomon Systech
SSD1926
PIC32入门工具包(DM320001或DM320003-2)+ Solomon Systech GFX电路板(AC164127-5)+ 显示电路板
是
PIC24 + Epson S1D13517 Explorer 16(DM240001)+ Epson GFX电路板(AC164127-7)+ 显示电路板 是
PIC32 + Epson S1D13517 PIC32入门工具包(DM320001或DM320003-2或DM320004)+ Epson GFX电路板(AC164127-7)+ 显示电路板
是
注:这些建议均基于PIC MCU LCD控制器具有16 bpp、60 Hz性能。
图形快速参考指南 5
Microchip图形解决方案下表列出了对以下开发板和工具包的即开即用支持。通过适当的软硬件配置,可以实现与一些硬件组合和其他PIC器件的兼容性。
基于PIC32入门工具包PIC32
入门工具包(DM320001)
PIC32 USB
入门工具包II
(DM320003-2)
PIC32以太网入门工具包
(DM320004)
PIC24E USB
入门工具包(DM240012)
dsPIC33E USB
入门工具包(DM330012)
图形显示Truly
3.2″240x320
电路板(AC164127-4)
图形显示Powertip
4.3″480x272
电路板(AC164127-6)
图形显示Truly
5.7″640x480
电路板(AC164127-8)
图形显示Truly
7″800x480
电路板(AC164127-9)
图形显示原型板
(AC164139)
图形图形LCD控制器控制器 PICtail™ Plus
SSD1926电路板(电路板(AC164127-5) – + + – (1) – (1) (2)
图形控制器图形控制器PICtail™ Plus Epson
S1D13517电路板(电路板(AC164127-7) + + (2)
低成本无控制器低成本无控制器(LCC)图形图形PICtail™ Plus子板子板(AC164144)
+ + (3) – (2)
多媒体扩展板(多媒体扩展板(DM320005) – – – – –
开发板Explorer 16开发板(DM240001)+
接插模块(PIM)
图形显示Truly
3.2″240x320
电路板(AC164127-4)
图形显示Powertip
4.3″480x272
电路板(AC164127-6)
图形显示Truly
5.7″640x480
电路板(AC164127-8)
图形显示Truly
7″800x480
电路板(AC164127-9)
图形显示原型板
(AC164139)
PIC24FJ256DA210开发板开发板(DM240312)
(4) (5) (3) – (2)
图形图形LCD控制器控制器 PICtail™ Plus
SSD1926电路板(电路板(AC164127-5)
PIC24F PIM – – (2)
PIC32MX PIM – – (2)
PIC24EP和dsPIC33EP PIM + – – (2)
PIC24H和dsPIC33F PIM – – (2)
图形控制器图形控制器PICtail™ Plus Epson
S1D13517电路板(电路板(AC164127-7)
PIC24F PIM – (2)
PIC32MX PIM (2)
PIC24EP和dsPIC33EP PIM + (2)
PIC24H和dsPIC33F PIM + + + + + (2)
低成本无控制器(低成本无控制器(LCC)图形图形PICtail™ Plus子板子板(AC164144)
PIC24F PIM – – – – – –PIC32MX PIM – – (3) – (2)
PIC24EP和dsPIC33EP PIM + + + + (3) – + (2)
PIC24H和dsPIC33F PIM – – – – – –独立开发板
用于PIC24H MCU的MPLAB®入门工具包(DM240021) 带内置显示屏的独立开发板。
用于PIC24F MCU的MPLAB®入门工具包(DM240011) 带内置显示屏的独立开发板。
PIC24F PIM
PIC24FJ128GA010 PIM(MA240011)PIC24FJ256GA110 PIM(MA240015)PIC24FJ256GB110 PIM(MA240014)PIC24FJ256GB210 PIM(MA240021)
PIC32MX PIMPIC32MX360F512L PIM(MA320001)PIC32MX460F512L PIM(MA320002)PIC32MX795F512L PIM(MA320003)
PIC24EP和dsPIC33EP PIM dsPIC33EP512MU810 PIM(MA330025-1)PIC24EP512GU810(MA240025-1)
PIC24H和dsPIC33F PIM PIC24HJ128GP504 PIM(MA240016-2)dsPIC33FJ128GP804 PIM(MA330019-2)
= 兼容(直接使用)
+ = 兼容(需修改固件)
– = 不兼容
注:1. SSD1926最高支持WQVGA(480x272)显示屏。2. 手动将所选显示面板组装为原型板。3. 使用外部存储器以8 bpp运行。4. 8 bpp或更低配置使用内部存储器,8 bpp或16 bpp使用外部存储器。5. 8 bpp或16 bpp使用外部存储器。
用于设计图形显示的工具
6 图形快速参考指南
用于设计图形显示的工具
开发工具 部件编号 工具图像
PIC24FJ256DA210
开发板 DM240312
Explorer 16
开发板 DM240001
多媒体扩展板 DM320005
图形LCD控制器
PICtail™ Plus
SSD1926电路板AC164127-5
图形控制器
PICtail™ Plus Epson
S1D13517电路板AC164127-7
低成本无控制器(LCC)图形PICtail™ Plus子板 AC164144
图形显示Truly 3.2″240x320
电路板AC164127-4
图形显示Powertip 4.3″480x272
电路板AC164127-6
图形显示Truly 5.7″640x480
电路板AC164127-8
图形显示Truly 7″800x480
电路板AC164127-9
开发工具 部件编号 工具图像
PIC32入门工具包 DM320001
PIC32 USB
入门工具包IIDM320003-2
PIC32以太网入门工具包 DM320004
PIC24E USB
入门工具包 DM240012
dsPIC33E USB
入门工具包 DM330012
图形显示原型板 AC164139
原型PICtail™ Plus子板 AC164126
用于PIC24H MCU的MPLAB®入门工具包 DM240021
用于PIC24F MCU的MPLAB®入门工具包 DM240011
图形快速参考指南 7
Microchip图形库快速参考指南2011年8月22日——基于图形库V3.01 该卡包含API的简短说明。关于API的完整说明,请参见图形库帮助文件。
预定义类型
GFX_COLOR 颜色数据的数据类型。取决于COLOR_DEPTH设置。COLOR_DEPTH 数据类型 8 typedef BYTE GFX_COLOR; 16 typedef WORD GFX_COLOR; 24 typedef DWORD GFX_COLOR;
XCHAR 字符的数据类型。通过GraphicsConfi g.h中的宏设置 宏 XCHAR数据类型#defi ne USE_MULTIBYTECHAR signed int#defi ne USE_UNSIGNED_XCHAR unsigned char以上皆不是 signed char
设备驱动程序层
设备驱动程序层 说明
void ResetDevice() 初始化显示接口并复位显示屏。
void PutPixel(SHORT x, SHORT y) 使用当前设置的颜色渲染位于给定x,y位置的像素。
GFX_COLOR GetPixel( SHORT x, SHORT y)
返回位于给定x,y位置的像素颜色。
void DisplayBrightness(WORD level) 设置显示屏的亮度(级别:0-100)。
WORD IsDeviceBusy() 如果显示控制器正忙于先前的渲染操作,则返回非零。如果空闲,则返回零。
WORD GetMaxX() 返回最大水平坐标。
WORD GetMaxY() 返回最大垂直坐标。
void SetClip(BYTE control) 使能/禁止裁剪。 控制 定义CLIP_DISABLE 禁止裁剪CLIP_ENABLE 使能裁剪
void SetClipRgn( SHORT left, SHORT top, SHORT right, SHORT bottom)
使用给定坐标设置裁剪区域。
WORD GetClipLeft() 返回左裁剪边界。
WORD GetClipRight() 返回右裁剪边界。
WORD GetClipTop() 返回上裁剪边界。
WORD GetClipBottom() 返回下裁剪边界。
void SetColor(GFX_COLOR color) 设置当前绘制颜色。
GFX_COLOR GetColor() 返回当前绘制颜色。
void TransparentColorEnable( GFX_COLOR color)
设置透明色,并使能PutImage()的透明色功能。图形配置:USE_TRANSPARENT_COLOR
void TransparentColorDisable() 禁止PutImage()的透明色功能。图形配置:USE_TRANSPARENT_COLOR
WORD GetTransparentColorStatus() 返回PutImage()的透明色功能的当前状态。 返回值 定义TRANSPARENT_COLOR_DISABLE 功能已禁止TRANSPARENT_COLOR_ENABLE 功能已使能图形配置:USE_TRANSPARENT_COLOR
GFX_COLOR GetTransparentColor() 返回TransparentColorEnable()设置的当前透明色。
void SetActivePage(WORD page) 设置活动页面。活动页面是用于渲染的缓冲器。(1)
注:1. 只有显示控制器支持多个显示缓冲器(或页面)时,才会使能该API。2. 这是一项可选功能,只有显示控制器支持像素数据块寻址时才会实现。
设备驱动程序层 说明
void SetVisualPage(WORD page) 设置可视页面。可视页面(显示缓冲器)是在显示屏上显示的页面。(1)
WORD CopyWindow( DWORD srcAddr, DWORD dstAddr, WORD srcX, WORD srcY, WORD dstX, WORD dstY, WORD width, WORD height)
将位于由srcAddr和srcX与srcY所设置像素偏移量定义的地址中的窗口内容复制到由dstAddr和dstX与dstY所设置像素偏移量定义的地址位置。所复制窗口的大小由给定的width和height设置。(2)
WORD CopyPageWindow( BYTE srcPage, BYTE dstPage, WORD srcX, WORD srcY, WORD dstX, WORD dstY, WORD width, WORD height);
将位于由srcPage和srcX与srcY所设置像素偏移量定义的页面中的窗口内容复制到由dstPage和dstX与dstY所设置像素偏移量定义的另一个页面。所复制窗口的大小由给定的width和height设置。(1, 2)
WORD CopyBlock( DWORD srcAddr, DWORD dstAddr, DWORD srcOffset, DWORD dstOffset, WORD width, WORD height);
将给定源地址srcAddr与偏移量srcOffset处的像素块复制到由dstAddr与给定偏移量dstOffset给出的目标地址。所复制块的大小由给定的width和height设置。(2)
void SwitchOnDoubleBuffering() 开启双重缓冲的自动管理。所有渲染将对当前设置的绘制缓冲器执行。图形配置:USE_DOUBLE_BUFFERING
void SwitchOffDoubleBuffering() 关闭双重缓冲的自动管理。所有渲染将对当前设置的显示缓冲器执行。图形配置:USE_DOUBLE_BUFFERING
BYTE IsDisplayUpdatePending() 返回由RequestDisplayUpdate()设置的显示更新的状态。图形配置:USE_DOUBLE_BUFFERING
void RequestDisplayUpdate(void) 安排绘制缓冲器和显示缓冲器的内容在下一次垂直消隐时进行同步。图形配置:USE_DOUBLE_BUFFERING
void InvalidateAll() 将整个屏幕区域标记为失效。图形配置:USE_DOUBLE_BUFFERING
void InvalidateRectangle( WORD left, WORD top, WORD right, WORD bottom);
使显示缓冲器中的指定矩形区域失效。在下一次同步绘制和显示缓冲器时,将使用绘制缓冲器中的数据刷新失效的矩形。
图形配置:USE_DOUBLE_BUFFERING
void UpdateDisplayNow() 立即同步绘制和显示缓冲器。图形配置:USE_DOUBLE_BUFFERING
Microchip图形库快速参考指南
8 图形快速参考指南
原语层
原语层 说明
void InitGraph() 初始化显示控制器,将屏幕设置为BLACK,将当前颜色设置为WHITE,将光标设置在(0,0),将线条类型设置为SOLID_LINE,以及将活动页面和可视页面设置为0。
void ClearDevice() 使用当前颜色清屏,并将光标设置在(0,0)。
SHORT GetX() 返回图形光标x坐标。
SHORT GetY() 返回图形光标y坐标。
void MoveTo( SHORT x, SHORT y)
将图形光标移动到新的x,y位置。
void MovetoRel(SHORT x, SHORT y) 相对于当前位置移动图形光标。
void SetFont(void *pFont) 设置在渲染字符时使用的当前字体。
void SetFontOrientation(WORD orient) 将字体方向设置为垂直或水平方向。 方向 定义ORIENT_HOR 水平ORIENT_VER 垂直
BYTE GetFontOrientation() 返回当前字体方向(垂直或水平)。请参见SetFontOrientation()。
WORD OutChar(XCHAR ch) 使用当前设置的字体和颜色,在当前图形光标位置渲染由字符ID ch所代表的字符。
WORD OutText(XCHAR *pString) 使用当前设置的字体和颜色,在当前图形光标位置渲染pString指向的字符串。
WORD OutTextXY( SHORT x, SHORT y, XCHAR *pString)
使用当前设置的字体和颜色,在x,y指定的位置渲染pString指向的指定字符串。
SHORT GetTextHeight(void *pFont) 返回指定字体的高度。
SHORT GetTextWidth( XCHAR pString, void *pFont)
返回指定字符串对于指定字体的宽度。
void SetLineType(WORD lnType) 设置要渲染的线条类型。 lnType 定义SOLID_LINE 实线DASHED_LINE 虚线
void SetLineThickness(WORD lnThickness) 设置要渲染的线条粗细。 lnThickness 定义NORMAL_LINE 1个像素粗THICK_LINE 3个像素粗
WORD Line( SHORT x1, SHORT y1, SHORT x2, SHORT y2)
使用当前设置的线条类型、线条粗细和颜色从x1,y1至x2,y2渲染一条直线。
WORD LineRel( SHORT x, SHORT y)
使用当前设置的线条类型、线条粗细和颜色从当前图形光标位置到由给定x和y位移指定的相对位置渲染一条直线。
WORD LineTo( SHORT x, SHORT y)
使用当前设置的线条类型、线条粗细和颜色从当前图形光标位置到给定x,y位置渲染一条直线。
注:1. 这是一项可选功能,只有显示控制器支持α混叠时才会实现。
原语层 说明
WORD Circle( SHORT x, SHORT y, SHORT r)
使用当前设置的线条类型、线条粗细和颜色,以x,y为中心、r为半径渲染一个圆圈。
WORD FillCircle( SHORT x, SHORT y, SHORT r)
使用当前设置的颜色,以x,y为中心、r为半径渲染一个实心圆。
WORD DrawPoly( SHORT numPoints, SHORT *polyPoints)
使用当前设置的线条类型、线条粗细和颜色渲染一个多边形,多边形点的数量由numPoints给出,多边形各点的位置由polyPoints指向的数组给出。PolyPoints[n] = x0,y0,x1,y1,…xn,yn;n = numPoints
WORD Arc( SHORT xL, SHORT yR, SHORT xR, SHORT yB, SHORT r1, SHORT r2, BYTE octant)
使用给定的中心、半径和八分圆掩码绘制斜角图的八分圆弧。
WORD PutImage( SHORT left, SHORT top, void *pBitmap, BYTE stretch)
从左上角开始,渲染pBitmap指向的图像。
SHORT GetImageHeight( void *pBitmap)
返回图像高度。
SHORT GetImageWidth( void *pBitmap)
返回图像宽度。
SHORT GetSineCosine( SHORT v, WORD type)
返回给定角度v的正弦或余弦(类型 = GETSINE或GETCOSINE)值。返回值均归一化为256。
SHORT Sine( SHORT v)
返回给定角度v的正弦值。返回值均归一化为256。
SHORT Cosine( SHORT v)
返回给定角度v的余弦值。返回值均归一化为256。
WORD AlphaBlendWindow( DWORD foregroundWindowAddr, DWORD backgroundWindowAddr, DWORD destinationWindowAddr, WORD width, WORD height, BYTE alphaPercentage)
使用由width和height指定的尺寸对前景和背景图像进行α混叠,并将结果写入到目标地址。图形配置:USE_ALPHA_BLEND(1)
DWORD GFXGetPageXYAddress( SHORT pageNumber, WORD x, WORD y)
计算位于x,y位置的像素在pageNumber指定的缓冲器内的地址。图形配置:USE_ALPHA_BLEND(1)
DWORD GFXGetPageOriginAddress( SHORT pageNumber)
计算pageNumber指定的缓冲器的地址。图形配置:USE_ALPHA_BLEND(1)
WORD ExternalMemoryCallback( GFX_EXTDATA *memory, LONG offset, WORD nCount, void *buffer)
当使用外部存储器时,必须在应用程序代码中实现该函数,并包含通过相应外部存储器驱动程序访问外部存储器的代码。
图形配置:USE_FONT_EXTERNAL或USE_BITMAP_EXTERNAL
Microchip图形库快速参考指南
图形快速参考指南 9
GOL层GOL层 说明
void GOLInit() 该函数会初始化对象层、原语层和显示驱动程序层。使用默认设置创建默认的样式方案。
WORD GOLDraw() 渲染活动列表中需要渲染的所有控件。
WORD GOLDrawCallback() 在应用程序中实现的函数。函数由GOLDraw()调用,以支持应用程序定义的渲染。
void GOLRedraw(OBJ_HEADER pObj) 设置要在下一次GOLDraw()重新绘制的控件的绘制状态。
void GOLRedrawRec( SHORT left, SHORT top, SHORT right, SHORT bottom)
对活动列表中与给定矩形区域相交的所有控件进行标记。
WORD IsObjUpdated(OBJ_HEADER pObj) 测试控件是否等待重新绘制。如果待处理,则返回非零;不然,则返回零。
void GOLDrawComplete(OBJ_HEADER pObj) 复位控件的绘制状态。
void GOLAddObject(OBJ_HEADER pObj) 将控件添加到活动列表的末尾。
void GOLFree() 释放由当前活动列表使用的存储空间。活动列表将变为空。
OBJ_HEADER *GOLFindObject(WORD ID) 返回活动列表中具有给定ID的控件的指针。
BOOL GOLDeleteObject(OBJ_HEADER pObj) 从当前活动列表中删除一个控件。
BOOL GOLDeleteObjectByID(WORD ID) 从当前活动列表中删除一个控件。
GOL_OBJ_TYPE GetObjType(OBJ_HEADER pObj) 返回指定控件的控件类型。
WORD GetObjID(OBJ_HEADER pObj) 返回指定控件的对象ID。
OBJ_HEADER *GetObjNext(OBJ_HEADER pObj) 返回活动列表中紧接指定控件的下一个控件的指针。
void GOLNewList() 启动新的但为空的控件列表。使用GOLAddObjects()来填充列表。
OBJ_HEADER *GOLGetList() 返回指向当前活动列表的指针。
void GOLSetList(OBJ_HEADER pObjList) 将活动列表设置为由pObjList指定的指针。
void GOLSetFocus(OBJ_HEADER pObj) 设置要聚焦的控件pObj。
OBJ_HEADER *GOLGetFocus() 返回活动列表中当前所聚焦的控件的指针。
WORD GOLCanBeFocused(OBJ_HEADER pObj) 如果该控件可以聚焦,返回非零。
OBJ_HEADER *GOLGetFocusNext() 返回活动列表中下一个可以聚焦的控件的指针。
OBJ_HEADER *GOLGetFocusPrev() 返回活动列表中上一个可以聚焦的控件的指针。
GOL层 说明
GOLPanelDraw( SHORT left, SHORT top, SHORT right, SHORT bottom, SHORT radius, GFX_COLOR faceClr, GFX_COLOR embossLtClr, GFX_COLOR embossDkClr, void *pBitmap, WORD embossSize)
设置绘制面板的参数。使用该API设置GOLPanelDrawTsk()和GOLTwoTonePanelDrawTask()。
WORD GOLPanelDrawTsk() 使用由GOLPanelDraw()设置的参数渲染面板。
WORD GOLTwoTonePanelDrawTsk() 使用由GOLPanelDraw()设置的参数渲染双色调面板。
WORD GetState( OBJ_HEADER *pObj, WORD stateBits)
返回控件的状态位的当前值。
void SetState( OBJ_HEADER *pObj, WORD stateBits)
设置控件的状态位。
void ClrState( OBJ_HEADER *pObj, WORD stateBits)
清零控件的状态位。
void GOLMsg(GOL_MSG *pMsg) 处理GOL_MSG,并检查哪个控件受该消息影响。对于每个受影响的控件,将会调用GOLMsgCallback(),这使应用程序可以定制对消息的反应,以及取消或调用对消息的默认反应。
WORD GOLMsgCallback( WORD objMsg, OBJ_HEADER * pObj, GOL_MSG * pMsg)
在应用程序中实现的函数。函数由GOLMsg()调用,使应用程序可以实现自己的消息解释方式,以及定制控件行为。
GOL_SCHEME * GOLCreateScheme() 使用应用程序定义的样式,或使用图形库指定的默认样式,创建样式方案对象。
void GOLSetScheme( OBJ_HEADER *pObj, GOL_SCHEME *pScheme)
设置要用于控件的GOL_SCHEME。
GOL_SCHEME *GOLSetScheme( OBJ_HEADER *pObj)
获取控件所使用的GOL_SCHEME。
GOL_SCHEME *GOLGetSchemeDefault() 返回调用GOLInit()时创建的默认方案的指针。
GFX_COLOR RGBConvert( WORD red, WORD green, WORD blue)
将8-8-8 RGB颜色数据转换为由COLOR_DEPTH设置的颜色格式。
Microchip图形库快速参考指南
10 图形快速参考指南
控件API模拟时钟 按钮 图表 图表2 图表3
图形配置:USE_ANALOGCLOCK 图形配置: USE_BUTTON USE_BUTTON_MULTI_LINE
图形配置:USE_CHART void ChHideSeries( CHART *pObj, WORD seriesNum)
XCHAR *ChGetSampleLabel( CHART *pObj)
ANALOGCLOCK * AcCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, SHORT hour, SHORT minute, SHORT radius, BOOL sechand, WORD state, void * pBitmap, GOL_SCHEME * pScheme)
BUTTON * BtnCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, SHORT radius, WORD state, void * pBitmap, XCHAR * pText, GOL_SCHEME * pScheme)
CHART * ChCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, DATASERIES * pData, CHARTPARAM * pParam, GOL_SCHEME * pScheme)
void ChGetShowSeriesCount(CHART * pObj) WORD ChGetSampleStart( CHART *pObj)
WORD AcDraw(void * pObj) WORD BtnDraw(void * pObj) WORD ChDraw(void * pObj) WORD ChGetShowSeriesStatus(CHART * pObj) WORD ChGetSampleEnd( CHART *pObj)
WORD AcHandsDraw( ANALOGCLOCK * pObj, SHORT hand, SHORT thickness, WORD color, void * pBitmap)
XCHAR *BtnGetText(BUTTON *pObj) XCHAR *ChGetTitle(CHART *pObj) void ChSetValueLabel( CHART* pObj, XCHAR* pValueLabel)
void ChSetPercentRange( CHART * pObj, WORD min, WORD max)
void AcSetHour( ANALOGCLOCK * pObj, SHORT hour)
void BtnSetText( BUTTON *pObj, XCHAR *pString)
void ChSetTitle( CHART *pObj, XCHAR *pTitle)
XCHAR *ChGetValueLabel( CHART* pObj)
WORD ChGetPercentRange(CHART *pObj)
void AcSetMinute( ANALOGCLOCK * pObj, SHORT minute)
void *BtnGetBitmap(BUTTON *pObj) void ChSetTitleFont( CHART *pObj, void *pFont)
WORD ChGetValueMax(CHART *pObj) void ChSetSampleRange( CHART * pObj, WORD start, WORD end)
void AcSetSecond( ANALOGCLOCK * pObj, SHORT second)
void BtnSetBitmap( BUTTON *pObj, void *pBitmap)
XCHAR *ChGetTitleFont(CHART *pObj) WORD ChGetValueMin(CHART *pObj) WORD ChGetSampleRange(CHART *pObj)
typedef struct { OBJ_HEADER hdr; SHORT radius; SHORT centerx; SHORT centery; SHORT valueS; SHORT prev_valueS; SHORT valueM; SHORT prev_valueM; SHORT valueH; SHORT prev_valueH; void * pBitmap;} ANALOGCLOCK;
void BtnMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
DATASERIES *ChAddDataSeries( CHART *pObj, WORD nSamples, WORD *pData XCHAR *pNames)
void ChSetValueRange( CHART * pObj, WORD min, WORD max)
WORD ChGetPercentMax(CHART *pObj)
WORD BtnTranslateMsg( void * pObj, GOL_MSG * pMsg)
void ChRemoveDataSeries( CHART * pObj, WORD number)
WORD ChGetValueRange(CHART* pObj) WORD ChGetPercentMin(CHART *pObj)
typedef struct { OBJ_HEADER hdr; SHORT radius; SHORT textWidth; SHORT textHeight; XCHAR * pText; void * pBitmap;} BUTTON;
void ChShowSeries( CHART *pCh, WORD seriesNum)
void ChSetSampleLabel( CHART *pObj, XCHAR *pXLabel)
void ChSetColorTable( CHART* pObj, GFX_COLOR *pColorArray)
Microchip图形库快速参考指南
图形快速参考指南 11
控件API(续)
图表4 圆表盘 复选框 数字仪表 编辑框
GFX_COLOR *ChGetColorTable( CHART* pObj)
图形配置:USE_ROUNDDIAL 图形配置:USE_CHECKBOX 图形配置:USE_DIGITALMETER 图形配置:USE_EDITBOX
void *ChGetAxisLabelFont(CHART *pObj) ROUNDDIAL * RdiaCreate( WORD ID, SHORT x, SHORT y, SHORT radius, WORD state, SHORT res, SHORT value, SHORT max, GOL_SCHEME * pScheme)
CHECKBOX * CbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, GOL_SCHEME * pScheme)
DIGITALMETER * DmCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, DWORD Value, BYTE NoOfDigits, BYTE DotPos, GOL_SCHEME * pScheme)
EDITBOX * EbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, WORD charMax, GOL_SCHEME * pScheme)
void ChSetAxisLabelFont( CHART *pObj, void* pFont)
WORD RdiaDraw(void * pObj) WORD CbDraw(void * pObj) WORD DmDraw(void * pObj) WORD EbDraw(void * pObj)
void *ChGetGridLabelFont(CHART *pObj) void RdiaIncVal(ROUNDDIAL *pObj) XCHAR *CbGetText(CHECKBOX pObj) WORD DmGetValue(DIGITALMETER *pObj) XCHAR *EbGetText(EDITBOX pObj)
void ChSetGridLabelFont( CHART *pObj, void* pFont)
void RdiaDecVal(ROUNDDIAL *pObj) void CbSetText( CHECKBOX pObj, XCHAR *pText)
void DmSetValue( DIGITALMETER *pObj, WORD value)
void EbSetText( EDITBOX pObj, XCHAR *pText)
void ChFreeDataSeries( void * pObj)
WORD RdiaGetVal(ROUNDDIAL *pObj) void CbMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
void DmIncVal( DIGITALMETER *pObj, WORD deltaValue)
void EbAddChar( EDITBOX * pObj, XCHAR ch)
WORD ChTranslateMsg( void * pObj, GOL_MSG * pMsg)
void RdiaSetVal(ROUNDDIAL *pObj, WORD value) WORD CbTranslateMsg( void * pObj, GOL_MSG * pMsg)
void DmDecVal( DIGITALMETER *pObj, WORD deltaValue)
void EbDeleteChar(EDITBOX * pObj)
typedef struct { OBJ_HEADER hdr; CHARTPARAM prm; DATASERIES * pChData;} CHART;
void RdiaMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
typedef struct { OBJ_HEADER hdr; SHORT textHeight; XCHAR * pText;} CHECKBOX;
WORD DmTranslateMsg( void * pObj, GOL_MSG * pMsg)
void EbMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
typedef struct { XCHAR * pSData; WORD samples; BYTE show; WORD * pData; void * pNextData;} DATASERIES;
WORD RdiaTranslateMsg( void * pObj, GOL_MSG * pMsg)
typedef struct { OBJ_HEADER hdr; SHORT textHeight; DWORD Cvalue; DWORD Pvalue; BYTE NoOfDigits; BYTE DotPos;} DIGITALMETER;
WORD EbTranslateMsg( void * pObj, GOL_MSG * pMsg)
typedef struct { XCHAR * pTitle; XCHAR * pSmplLabel; XCHAR * pValLabel; SHORT seriesCount; WORD smplStart; WORD smplEnd; WORD valMax; WORD valMin; WORD perMax; WORD perMin; WORD * pColor; void * pTitleFont; void * pAxisLabelsFont; void * pGridLabelsFont;} CHARTPARAM;
typedef struct { OBJ_HEADER hdr; SHORT xCenter; SHORT yCenter; SHORT radius; SHORT value; WORD max; WORD res; SHORT curr_xPos; SHORT curr_yPos; SHORT new_xPos; SHORT new_yPos; SHORT vAngle;} ROUNDDIAL;
typedef struct { OBJ_HEADER hdr; SHORT textHeight; XCHAR * pBuffer; WORD charMax; WORD length;} EDITBOX;
Microchip图形库快速参考指南
12 图形快速参考指南
控件API(续)
网格 网格2 分组框 列表框 列表框2图形配置:USE_GRID void GridSetFocus(
GRID * pObj, SHORT column, SHORT row)
图形配置:USE_GROUPBOX 图形配置:USE_LISTBOX WORD LbGetVisibleCount(LISTBOX *pObj)
GRID * GridCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, SHORT numColumns, SHORT numRows, SHORT cellWidth, SHORT cellHeight, GOL_SCHEME * pScheme)
void GridMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
GROUPBOX * GbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, GOL_SCHEME * pScheme)
LISTBOX * LbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, GOL_SCHEME * pScheme)
void LbClrtSel(LISTBOX pObj, LISTITEM *pItem)
WORD GridDraw(void * pObj) WORD GridTranslateMsg( void * pObj, GOL_MSG * pMsg)
WORD GbDraw(void * pObj) WORD LbDraw(void * pObj) void LbSetBitmap( LISTITEM *pItem, void *pBtmap)
void GridClearCellState( GRID * pObj, SHORT column, SHORT row, WORD state)
typedef struct { OBJ_HEADER hdr; SHORT numColumns; SHORT numRows; SHORT cellHeight; SHORT cellWidth; SHORT focusX; SHORT focusY; GRIDITEM * gridObjects;} GRID;
XCHAR *GbGetText(GROUPBOX *pObj) LISTITEM *LbGetItemList(LISTBOX *pObj) void *LbGetBitmap(LISTITEM *pItem)
WORD GridGetFocusX(GRID *pObj) typedef struct { void * data; WORD status;} GRIDITEM;
void GbSetText( GROUPBOX *pObj, XCHAR * pText)
LISTITEM * LbAddItem( LISTBOX * pObj, LISTITEM * pPrevItem, XCHAR * pText, void * pBitmap, WORD status, WORD data)
void LbDelItemsList(void * pObj)
WORD GridGetFocusY(GRID *pObj) WORD GbTranslateMsg( void * pObj, GOL_MSG * pMsg)
void LbDelItem( LISTBOX * pObj, LISTITEM * pItem)
void LbMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
void GridFreeItems(void * pObj) typedef struct { OBJ_HEADER hdr; SHORT textWidth; SHORT textHeight; XCHAR * pText;} GROUPBOX;
void LbChangeSel( LISTBOX * pObj, LISTITEM * pItem)
WORD LbTranslateMsg( void * pObj, GOL_MSG * pMsg)
void * GridGetCell( GRID * pObj, SHORT column, SHORT row, WORD * cellType)
void LbSetSel( LISTBOX *pObj, LISTITEM *pItem)
typedef struct { OBJ_HEADER hdr; LISTITEM * pItemList; LISTITEM * pFocusItem; WORD itemsNumber; SHORT scrollY; SHORT textHeight;} LISTBOX;
WORD GridSetCell( GRID * pObj, SHORT column, SHORT row, WORD state, void * data)
LISTITEM * LbGetSel( LISTBOX * pObj, LISTITEM * pFromItem)
typedef struct { void * pPrevItem; void * pNextItem; WORD status; XCHAR * pText; void * pBitmap; WORD data;} LISTITEM;
void GridSetCellState( GRID * pObj, SHORT column, SHORT row, WORD state)
SHORT LbGetFocusedItem(LISTBOX * pObj)
void LbSetFocusedItem( LISTBOX * pObj, SHORT index)WORD LbGetCount(LISTBOX pObj)
Microchip图形库快速参考指南
图形快速参考指南 13
控件API(续)
仪表 图片控件 进度条 单选按钮
图形配置:USE_METER 图形配置:USE_PICTURE 图形配置:USE_PROGRESSBAR 图形配置:USE_RADIOBUTTON
METER * MtrCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, SHORT value, SHORT minValue, SHORT maxValue, void * pTitleFont, void * pValueFont, XCHAR * pText, GOL_SCHEME * pScheme)
PICTURE * PictCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, char scale, void * pBitmap, GOL_SCHEME * pScheme)
PROGRESSBAR * PbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, WORD pos, WORD range, GOL_SCHEME * pScheme)
RADIOBUTTON * RbCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, GOL_SCHEME * pScheme)
WORD MtrDraw(void * pObj) WORD PictDraw(void * pObj) WORD PbDraw(void * pObj) WORD RbDraw(void * pObj)
void MtrSetVal( METER * pObj, SHORT newVal)
void PictSetBitmap( PICTURE *pObj, void *pBtmap)
void PbSetRange( PROGRESSBAR * pObj, WORD range)
WORD RbGetCheck(RADIOBUTTON * pObj)
WORD MtrGetVal(METER *pObj) void *PictSetBitmap(PICTURE *pObj) WORD PbGetRange( PROGRESSBAR * pObj)
void RbSetCheck( RADIOBUTTON * pObj, WORD ID)
void MtrDecVal( METER *pObj, WORD deltaValue)
WORD PictGetScale(PICTURE *pObj) void PbSetPos( PROGRESSBAR * pObj, WORD position)
XCHAR *RbGetText(RADIOBUTTON * pObj)
void MtrIncVal( METER *pObj, WORD deltaValue)
void PictSetScale( PICTURE *pObj, WORD scale)
WORD PbGetPos( PROGRESSBAR * pObj)
void RbSetText( RADIOBUTTON * pObj XCHAR *pText)
void MtrSetScaleColors( METER *pObj, WORD arc1, WORD arc2, WORD arc3, WORD arc4, WORD arc5, WORD arc6)
WORD PictTranslateMsg( void * pObj, GOL_MSG * pMsg)
WORD PbTranslateMsg( PROGRESSBAR * pObj, GOL_MSG * pMsg)
void RbMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
void MtrSetTitleFont( METER *pMtr, void *pFont)
typedef struct { OBJ_HEADER hdr; char scale; void * pBitmap;} PICTURE;
typedef struct { OBJ_HEADER hdr; WORD pos; WORD prevPos; WORD range;} PROGRESSBAR;
WORD RbTranslateMsg( void * pObj, GOL_MSG * pMsg)
void MtrSetValueFont( METER *pMtr, void *pFont)
typedef struct { OBJ_HEADER hdr; OBJ_HEADER * pHead; OBJ_HEADER * pNext; SHORT textHeight; XCHAR * pText;} RADIOBUTTON;
void MtrMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
WORD MtrTranslateMsg( void * pObj, GOL_MSG * pMsg)
typedef struct { OBJ_HEADER hdr; XCHAR * pText; SHORT value; SHORT minValue; SHORT maxValue; SHORT xCenter; SHORT yCenter; SHORT radius; SHORT xPos; SHORT yPos; WORD arcColor6; WORD arcColor5; WORD arcColor4; WORD arcColor3; WORD arcColor2; WORD arcColor1; void * pTitleFont; void * pValueFont;} METER;
Microchip图形库快速参考指南
14 图形快速参考指南
控件API(续)
滑块/滚动条 静态文本 文本输入 文本输入2 窗口
图形配置:USE_SLIDER 图形配置:USE_STATICTEXT 图形配置:USE_TEXTENTRY void TeDelKeyMembers(void * pObj) 图形配置:USE_WINDOWSLIDER * SldCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, WORD range, WORD page, WORD pos, GOL_SCHEME * pScheme)
STATICTEXT * StCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, XCHAR * pText, GOL_SCHEME * pScheme)
TEXTENTRY * TeCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, SHORT horizontalKeys, SHORT verticalKeys, XCHAR * pText[], void * pBuffer, WORD bufferLength, void * pDisplayFont, GOL_SCHEME * pScheme)
BOOL TeSetKeyText( TEXTENTRY * pObj, WORD index, XCHAR * pText)
WINDOW * WndCreate( WORD ID, SHORT left, SHORT top, SHORT right, SHORT bottom, WORD state, void * pBitmap, XCHAR * pText, GOL_SCHEME * pScheme)
WORD SldDraw(void * pObj) WORD StDraw(void * pObj) WORD TeDraw(void * pObj) void TeMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
WORD WndDraw(void * pObj)
void SldSetPage( SLIDER * pObj, WORD page)
XCHAR *StGetText(STATICTEXT* pObj) XCHAR * TeGetBuffer(TEXTENTRY *pObj) WORD TeTranslateMsg( void * pObj, GOL_MSG * pMsg)
XCHAR *WndGetText(WINDOW* pObj)
WORD SldGetPage(SLIDER * pObj) void StGetText( STATICTEXT* pObj XCHAR * pText)
void TeSetBuffer( TEXTENTRY *pObj XCHAR * pText)
typedef struct { OBJ_HEADER hdr; SHORT horizontalKeys; SHORT verticalKeys; XCHAR * pTeOutput; WORD CurrentLength; WORD outputLenMax; KEYMEMBER * pActiveKey; KEYMEMBER * pHeadOfList; void * pDisplayFont;} TEXTENTRY;
void *WndSetText( WINDOW* pObj XCHAR * pText)
void SldSetPos( SLIDER * pObj, WORD position)
WORD StTranslateMsg( void * pObj, GOL_MSG * pMsg)
void TeClearBuffer(TEXTENTRY *pOb) typedef struct { SHORT left; SHORT top; SHORT right; SHORT bottom; SHORT index; WORD state; BOOL update; WORD command; XCHAR * pKeyName; SHORT textWidth; SHORT textHeight; void * pNextKey;} KEYMEMBER;
WORD WndTranslateMsg( void * pObj, GOL_MSG * pMsg)
WORD SldGetPos(SLIDER * pObj) typedef struct { OBJ_HEADER hdr; SHORT textHeight; XCHAR * pText;} STATICTEXT;
WORD TeGetKeyCommand( TEXTENTRY * pObj, WORD index)
typedef struct { OBJ_HEADER hdr; SHORT textHeight; XCHAR * pText; void * pBitmap;} WINDOW;
void SldSetRange( SLIDER * pObj, WORD range)
BOOL TeSetKeyCommand( TEXTENTRY * pObj, WORD index WORD command)
WORD SldGetRange(SLIDER * pObj) KEYMEMBER * TeCreateKeyMembers( TEXTENTRY * pObj, XCHAR * pText[ ])
void SldIncPos(SLIDER * pObj) void TeAddChar(TEXTENTRY * pObj)void SldDeccPos(SLIDER * pObj) BOOL TeIsKeyPressed(
TEXTENTRY * pObj, WORD index)
void SldMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
void TeSpaceChar(TEXTENTRY * pObj)
WORD SldTranslateMsg( void * pObj, GOL_MSG * pMsg)typedef struct { OBJ_HEADER hdr; WORD currPos; WORD prevPos; WORD range; WORD pos; WORD page; WORD thWidth; WORD thHeight;} SLIDER;void SldMsgDefault( WORD translatedMsg, void * pObj, GOL_MSG * pMsg)
void TeSpaceChar(TEXTENTRY * pObj)
typedef struct { OBJ_HEADER hdr; WORD currPos; WORD prevPos; WORD range; WORD pos; WORD page; WORD thWidth; WORD thHeight;} SLIDER;
Microchip图形库快速参考指南
图形快速参考指南 15
注
信息可能变更,恕不另行通知。Microchip的名称和徽标组合、Microchip徽标、dsPIC、MPLAB及PIC均为Microchip Technology Incorporated在美国和其他国家或地区的注册商标。PICDEM、PICtail和mTouch均为Microchip Technology Incorporated在美国和其他国家或地区的商标。在此提及的所有其他商标均为各持有公司所有。© 2012,Microchip Technology Incorporated。版权所有。中国印制。03/12DS01394A_CN
*DS01394A_CN*
Microchip Technology Inc.2355 W. Chandler Blvd.
Chandler, AZ 85224-6199
www.microchip.com
支持Microchip致力于帮助客户更快更高效地开发产品。我们拥有一个覆盖全球的现场应用工程师和技术支持网络,随时准备提供产品和系统协助。此外,www.microchip.com 上提供了以下服务领域:
■ 技术支持链接提供快速获得问题解答的方法: http://www.microchip.com/support
■ 样片链接提供任何Microchip器件的评估样片: http://sample.microchip.com
■ 论坛链接提供访问知识库和互助信息:
http://forum.microchip.com
■ 购买链接提供Microchip各销售渠道合作伙伴的联系方式:www.microchip.com/sales
培训如果您希望接受额外的培训,Microchip可以助您一臂之力。我们一直在扩充我们的技术培训方式,不仅在各地举行一系列不断丰富的教程和有深度的课程,还提供大量有价值的在线资源,以供您随时使用。
■ 区域培训中心:www.microchip.com/rtc
■ MASTERs技术精英年会:www.microchip.com/masters
■ 全球研讨会:www.microchip.com/seminars
■ eLearning:www.microchip.com/webseminars
■ 代理商和第三方合作伙伴的资源: www.microchip.com/training
美洲亚特兰大Tel: 1-678-957-9614波士顿Tel: 1-774-760-0087芝加哥Tel: 1-630-285-0071克里夫兰Tel: 1-216-447-0464达拉斯Tel: 1-972-818-7423底特律Tel: 1-248-538-2250印第安纳波利斯Tel: 1-317-773-8323洛杉矶Tel: 1-949-462-9523圣克拉拉Tel: 1-408-961-6444多伦多Tel: 1-905-673-0699
欧洲奥地利Tel: 43-7242-2244-39丹麦Tel: 45-4450-2828法国Tel: 33-1-69-53-63-20德国Tel: 49-89-627-144-0意大利Tel: 39-0331-742611荷兰Tel: 31-416-690399西班牙Tel: 34-91-708-08-90英国Tel: 44-118-921-5869
亚太地区澳大利亚 - 悉尼Tel: 61-2-9868-6733中国 - 北京Tel: 86-10-8569-7000中国 - 成都Tel: 86-28-8665-5511中国 - 重庆Tel: 86-23-8980-9588中国 - 杭州Tel: 86-571-2819-3187中国 - 香港特别行政区Tel: 852-2401-1200中国 - 南京Tel: 86-25-8473-2460中国 - 青岛Tel: 86-532-8502-7355中国 - 上海Tel: 86-21-5407-5533中国 - 沈阳Tel: 86-24-2334-2829中国 - 深圳Tel: 86-755-8203-2660中国 - 武汉Tel: 86-27-5980-5300中国 - 厦门Tel: 86-592-2388138中国 - 西安Tel: 86-29-8833-7252中国 - 珠海Tel: 86-756-3210040
全球销售和服务网点
亚太地区台湾地区 - 新竹Tel: 886-3-5778-366台湾地区 - 高雄Tel: 886-7-536-4818台湾地区 - 台北Tel: 886-2-2500-6610印度 - 班加罗尔Tel: 91-80-3090-4444印度 - 新德里Tel: 91-11-4160-8631印度 - 浦那Tel: 91-20-2566-1512日本 - 大阪Tel: 81-66-152-7160日本 - 横滨Tel: 81-45-471-6166韩国 - 大邱Tel: 82-53-744-4301韩国 - 首尔Tel: 82-2-554-7200马来西亚 - 吉隆坡Tel: 60-3-6201-9857马来西亚 - 槟榔屿Tel: 60-4-227-8870菲律宾 - 马尼拉Tel: 63-2-634-9065新加坡Tel: 65-6334-8870泰国 - 曼谷Tel: 66-2-694-135111/29/11
全球技术支持:http://www.microchip.com/support 国内技术支持热线:800-820-6247或400-820-6247
国内技术支持:[email protected] 国内免费microchipDIRECT支持热线:400-820-5079