AdjustWindowRectEx 用在了 Forms、DBCtrls 单元.

AdjustWindowRectEx 可以根据窗口样式获取的边缘尺寸.



测试:

var
  R: TRect;
begin
  SetRect(R, , , , ); {此矩形不是全局变量, 需要初始为空}
  AdjustWindowRectEx(R,                                {矩形结构承载返回值}
                    GetWindowLong(Handle, GWL_STYLE),  {窗口样式}
                    False,                            {有无菜单}
                    GetWindowLong(Handle, GWL_EXSTYLE) {窗口扩展样式}
                    );   ShowMessageFmt('%d,%d,%d,%d',[R.Left, R.Top, R.Right, R.Bottom]);   {结果是: -4,-30,4,4}
  {说明窗口变宽是 4, 标题栏高度是 30}   {如果指定为有菜单; 结果是: -4,-50,4,4; 说明菜单高度是 20}
end;

VCL 中的 Windows API 函数(4): AdjustWindowRectEx的更多相关文章

  1. VCL 中的 Windows API 函数(6): BeginDeferWindowPos

    BeginDeferWindowPos 和 DeferWindowPos.EndDeferWindowPos 是一组一起使用的函数, 可对一组窗口的位置.大小.Z 序等进行调整, 在 ExtCtrls ...

  2. VCL 中的 Windows API 函数(5): AlphaBlend

    AlphaBlend 是指定图像混合透明的函数, 在 Graphics.GraphUtil.RibbonStyleActnCtrls 单元用到. 下面的测试是把一张图片显示在窗体, 并可以调整透明度. ...

  3. VCL 中的 Windows API 函数(2): ActivateKeyboardLayout

    ActivateKeyboardLayout 分别在 Controls.DBGrids.Grids 单元用到, 基本都是如下语句: ActivateKeyboardLayout(Screen.Defa ...

  4. VCL 中的 Windows API 函数(1): AbortDoc

    AbortDoc: 该函数终止当前打印作业并删除最好一次调用 StartDoc 函数写入的所有信息. 该函数在 Printers 单元的应用:AbortDoc(Canvas.Handle);

  5. MFC中调用Windows API函数的方式

    windows aoi 函数的调用前面加::

  6. 在VBA中使用Windows API

    VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...

  7. Windows API 函数列表 附帮助手册

    所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...

  8. C#中调用Windows API的要点 .

    介绍 API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认 ...

  9. 用Windows API函数(CreateFile/ReadFile/WriteFile/CloseHandle)完成文件拷贝程序(初级版)

    文件拷贝程序 程序类型:Console 参数:源文件名   目的文件名 要求:1.只能使用Windows API函数(CreateFile/ReadFile/WriteFile/CloseHandle ...

随机推荐

  1. 基于HTML5手机上下滑动翻页特效

    基于HTML5手机上下滑动翻页特效.这是一款手机移动端触屏滑动翻页代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <section class="u-al ...

  2. andriod创建用户界面(1)

    一.UI知识Activity 将UI放在一个Activity上面,可以在Activity的onCreate方法中添加UI. @Override public void onCreate(Bundle ...

  3. 微服务之springCloud-docker-comsumer(三)

    简介  上一节,我们讲了创建spring cloud生产者,并利用docker-compose部署到swarm集群中,这节我们讨论一下最restTemlate调用生产者服务 一.创建模块(micros ...

  4. WebSocket的Cookie问题(转)

    问题:我用Nginx作静态服务器,Node.js监听另外端口作WebSocket服务器,客户端创建实例时,如果origin和host不一样的话,req实例的headers中没有cookie… ###解 ...

  5. C语言 · 3000米排名预测

    算法提高 3000米排名预测   时间限制:1.0s   内存限制:256.0MB      问题描述 3000米长跑时,围观党们兴高采烈地预测着最后的排名.因为他们来自不同的班,对所有运动员不一定都 ...

  6. [加密]SSL/TLS原理详解

    转自: http://www.cnblogs.com/leivon/p/5691619.html https://www.cnblogs.com/leivon/p/5692588.html

  7. 【转】全Javascript的Web开发架构:MEAN和Yeoman【译】

    引言 最近在Angular社区的原型开发者间,一种全Javascript的开发架构MEAN正突然流行起来.其首字母分别代表的是:(M)ongoDB——noSQL的文档数据库,使用JSON风格来存储数据 ...

  8. 【转】Android开发,按手机上的back键时程序最小化而不退出

    @Override public boolean dispatchKeyEvent(KeyEvent event) { // menuUtils.createTwoDispatcher(event); ...

  9. 关于Unity中的3D拾取

    3D拾取 3D游戏实际上看到的是2D画面,我们在屏幕上点击,想要找到哪个3D物体,我们实际上是在一个2维平面内做3D拾取. 3D拾取实际上是,当玩家点击屏幕的时候,会从显示屏幕的摄像头发射一条射线,射 ...

  10. SAP SD 顾问面试问题 consultant interview questionnaire

    以下是我个人目前面试团队 SD顾问问题的小结,希望对大家有所帮助, 也可能有回答错误的地方,希望同行不吝赐教. 也希望各位顾问们讲你们遇到的一些面试问题做个跟贴,方便大家共同进步,谢谢.   面试问题 ...