《Windows API巡礼》のGetObject函数和GradientFill函数
来源:互联网 发布:cf卡数据覆盖无法恢复 编辑:程序博客网 时间:2024/05/29 01:56
GetObject函数用于从指定的图形对象中获取信息,原型如下:
其中 (1)参数hgdiobj是图形对象的句柄,图形对象可以是如下几种:逻辑位图、刷子、字体、调色板、画笔或者由函数CreateDIBSection创建的设备无关位图; (2)参数cbBuffer是即将写入到缓冲区中的图形对象信息的字节数; (3)参数lpvObject是指向接收图形对象信息的缓冲区的指针,下表是每一种图形对象对应获取到的缓冲区中的信息:
返回值:
当函数执行成功且参数lpvObject为NULL时,返回值是保存获取的信息的缓冲区需要的字节数;
当函数执行成功且参数lpvObject是有效地指针时,返回值是存储到缓冲区中的数据的字节数;
当函数执行失败时,返回值是0。
实例代码如下,使用GetObject函数获取指定位图的大小:
GradientFill函数用于填充矩形和三角形结构,原型如下:
其中 (1)参数hdc是目标设备上下文的句柄; (2)参数pVertex是指向存储TRIVERTEX结构数据的数组; (3)参数nVertex是数组pVertex中的顶点数; (4)参数pMesh在三角形模式中表示存储GRADIENT_TRIANGLE结构数据的数组;在矩形模式中表示存储GRADIENT_RECT结构数据的数组; (5)参数nMesh是pMesh数组中元素的个数; (6)参数ulMode指定渐变填充模式,取值如下:
返回值: 函数执行成功时返回TRUE;失败时返回FALSE; 上面函数中使用到了几个结构,下面分别介绍: 1)TRIVERTEX结构包含了颜色信息和位置信息,原型如下:
2)GRADIENT_RECT结构指定了函数GradientFill中参数pVertex数组中的两个点的索引,这两个点分别是一个矩形的左上角和右下角点,结构原型如下:
3)GRADIENT_TRIANGLE结构指定了函数GradientFill函数中pVertex数组中的三个点的索引,这三个点组成一个三角形,结构原型如下:
实例代码如下:
- 《Windows API巡礼》のGetObject函数和GradientFill函数
- 《Windows API巡礼》のGetWindowLong和SetWindowLong函数
- 《Windows API巡礼》のShell_NotifyIcon函数和NOTIFYICONDATA结构
- 《Windows API巡礼》のGetDlgItem*函数
- 《Windows API巡礼》のDisableThreadLibraryCalls函数
- 《Windows API巡礼》---GetFileVersionInfo函数和VerQueryValue函数
- 《Windows API巡礼》之MultiByteToWideChar函数和WideCharToMultiByte函数
- GetObject函数
- 《Windows API巡礼》---StringCbCopy和StringCchCopy
- 《Windows API巡礼》---GetCurrentDirectory和GetModuleFileName
- 《Windows API巡礼》---GetEnvironmentStrings和GetEnvironmentVariable
- 《Windows API巡礼》--CreateRemoteThread和WriteProcessMemory
- 《Windows API巡礼》---VirtualAlloc和VirtualFree
- 《Windows API巡礼》---WSAStartup和WSACleanup
- 《Windows API巡礼》---socket和bind
- 《Windows API巡礼》---listen、accept和connect
- 《Windows API巡礼》---send和recv
- 《Windows API巡礼》---sendto和recvfrom
- eclipse阅读android 2.1源码
- 在Visual Studio2008中安装CGAl
- 查询数据的时候 提示事务(进程 ID **)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。
- LINUX内核调试相关--oops信息的定位1
- 基于S3C2410A的WINCE下Stepldr程序移植详细分析[二]
- 《Windows API巡礼》のGetObject函数和GradientFill函数
- XP下在Qt Creator中使用OpenCV库
- 顺口溜
- LINUX内核调试相关--oops信息的定位2
- 从起步到影响世界:漫谈韩国网游发展史
- 如何推销自己?
- 解决乱码的几个常用方法的联系与区别:
- 浅谈基于插件的软件框架(1)
- aa