Delphi窗体重绘API
WinAPI: DrawFocusRect - 绘制焦点矩形
用SetTextColor()设置颜色
功能 设置指定设备环境(HDC)的字体颜色
原型 WINGDIAPI COLORREF WINAPI SetTextColor (HDC, COLORREF)
也可以理解成 DWORD SetTextColor (HDC, DWORD),其中DWORD是关于颜色的参数,常用RGB()获取,如:SetTextColor(HDC,RGB(255,0,0));
//声明:
DrawFocusRect(
hDC: HDC; {设备环境句柄}
const lprc: TRect {矩形结构}
): BOOL;
//举例:
procedure TForm1.FormPaint(Sender: TObject);
var
MyRect: TRect;
begin
MyRect := Rect(20,20, 180,100);
DrawFocusRect(Canvas.Handle, MyRect);
end;
GetDc该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图。函数用于获得hWnd参数所指定窗口的客户区域的一个设备环境。所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。该函数获得的类和私有设备环境会与它们最后一次的设置保持一致。当设备环境不再需要时,应该调用ReleaseDC函数将其释放,典型和特有设备上下文环境不需要释放,设备上下文环境的个数仅受有效内存的限制。
GetWindowDC函数返回hWnd参数所指定的窗口的设备环境。获得的设备环境覆盖了整个窗口(包括非客户区),例如标题栏、菜单、滚动条,以及边框。这使得程序能够在非客户区域实现自定义图形,例如自定义标题或者边框。当不再需要该设备环境时,需要调用ReleaseDC函数释放设备环境。注意,该函数只获得通用设备环境,该设备环境的任何属性改变都不会反映到窗口的私有或者类设备环境中(如果窗口有的话)
----------摘自《Delphi Win32核心API参考》
MapWindowPoints
函数功能:该函数把相对于一个窗口的坐标空间的一组点映射成相对于另一窗口的坐标空 的一组点。
函数原型:int MapWindowPoints(HWND hWndFrom, HWND hWndTo,LPPOINT lpPoints, UINT cPoints);
参数:
hWndfrom:转换点所在窗口的句柄,如果此参数为NULL或HWND_DESETOP则假定这些点在屏幕坐标上。
hWndTo:转换到的窗口的句柄,如果此参数为NULL或HWND_DESKTOP,这些点被转换为屏幕坐标。
lpPoints:指向POINT结构数组的指针,此结构数组包含要转换的点,此参数也可指向RECT结构,在此情况下,Cpoints参数应设置为2。
cPoints:指定LpPoints参数指向的数组中POINT结构的数目。
返回值:如果函数调用成功,返回值的低位字是每一个源点的水平坐标的像素数目,以便计算每个目标点的水平坐标;高位字是每一个源点的垂直坐标的像素的数目,以便计算每个目标点的垂直坐标,如果函数调用失败,返回值为零。
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
InflateRect
InflateRect函数增大或减小指定矩形的宽和高。InflateRect函数在矩形的左和右增加dx,在矩形的上下增加dy。 dx和dy参数是有符号值。正数增加宽和高,负数减小。
BOOL InflateRect( LPRECT lprc, //矩形
int dx, // amount to adjust width
int dy // amount to adjust height);
Delphi窗体重绘API的更多相关文章
- 非常出色的一款WinForm窗体重绘GUI类库源码
基本控件的演示 ScrollBar滚动条 各种圆形进度条 ProgressBar进度条 Mdi演示,仿谷歌浏览器 多种皮肤可供选择 一套专业级别的GUI控件,目前包含了窗体.进度条.滚动条以及MDI多 ...
- (Delphi) Windows 32 API程序设计目录
这里所有程序均使用Delphi调用Windows 32 API方式实现,并不是使用VCL已经封装好的类实现的! (一)第一个窗口程序 01 创建第一个窗口.
- 浅议Delphi中的Windows API调用(举的两个例子分别是String和API,都不错,挺具有代表性)
浅议Delphi中的Windows API调用http://tech.163.com/school • 2005-08-15 10:57:41 • 来源: 天极网为了能在Windows下快速开发应用程 ...
- delphi 调用百度地图api
一.调用javascript的方法 两种: 第一种:采用自编函数的方法 function ExecuteJavaScript(WebBrowser:TWebBrowser; Code: string) ...
- Delphi的Win32的API调用简单介绍
1. 介绍Win32 API和Win32系统.还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别.只是让对Win32系统有一个基本的了解.当已经基本了解Win32操作后,就可 ...
- Delphi XE6 通过JavaScript API调用百度地图
参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的. 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu ...
- 教程-Delphi调用百度地图API(XE8+WIN7)
unit U_map; interface //---------------------------------------------------// //----------COPY BY 无言 ...
- Delphi 实现 图灵机器人API(IDHTTP POST )
此功能所需的 Key及接口文档,都可以在图灵机器人的官网下载, 小伙伴们需要申请自己的图灵机器人账号. 申请方法请自行百度“图灵机器人” . 登录账号后,在左侧的[机器人接入],获取需要的信息,记得 ...
- 如何将JPEG缩略图放到LISTVIEW中(delphi listview自绘图形)
http://www.docin.com/p-567657457.html?qq-pf-to=pcqq.c2c http://www.cnblogs.com/snow001x/archive/2008 ...
随机推荐
- 【leetcode】954. Array of Doubled Pairs
题目如下: Given an array of integers A with even length, return true if and only if it is possible to re ...
- 【JZOJ3674】【luoguP4042】【BZOJ3875】骑士游戏
description 在这个游戏中,JYY一共有两种攻击方式,一种是普通攻击,一种是法术攻击.两种攻击方式都会消耗JYY一些体力.采用普通攻击进攻怪兽并不能把怪兽彻底杀死,怪兽的尸体可以变出其他一些 ...
- vue 父到子动态传值 子组件实时渲染
近期项目中需要一个功能,根据选择不同的 团队片区 id 展示不同的数据,团队id 在父组件 数据在子组件中展示. 根据不同的团队 动态渲染数据总览. 父组件: <Cards ref=" ...
- go new
go new 尽管没有构造函数,go有一个内置的函数new,可以用来分配一个类型需要的内存.new(X)和&X{}是等效的: goku := new(Saiyan) // 等效 goku := ...
- 运行go代码
go运行go代码 现在,让我们通过创建一个简单的示例,开启我们的go学习旅程,并学习如何编译和执行go程序.打开你最喜欢的文本编辑器,输入以下代码: package main func main() ...
- pycharm中evaluate expression的用法
pycharm中evaluate expression的用法 首先要用debug调试模式运行程序,在代码编辑处右键debug,或着选择右上角的小虫子图标点击. 然后保证整个程序运行的时候可以中断,然后 ...
- Mysql数据库命令行输入错误怎么办
Mysql数据库命令行输入错误 缺少另一半 错误输入 ' 或 " 时,必须键入另一半才能退出命令. 缺少分号 写入语句缺少分号需要补全. 输入quit或者exit退出 ctrl+c,完全退出 ...
- 2.4 Nginx服务器基础配置指令
2.4.1 nginx.conf文件的结构 2.4.2配置运行Nginx服务器用户(组) 2.4.3配置允许生成的worker process数 2.4.4 配置Nginx进程PID存放路径 2.4. ...
- MFS分布式文件系统【3】存储节点 CHUNK SERVER 部署
[root@ky_hs_252 mfs-1.6.27]# mkdir /usr/local/mfs [root@ky_hs_252 mfs-1.6.27]# useradd mfs -s /sbin/ ...
- 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B
题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...