Delphi 窗体在显示时总是会触发 OnResize 吗?

2024-05-02

如果我创建一个新的 Delphi 表单,挂钩其 OnResize 事件并运行该应用程序,则在显示窗口之前会触发 OnResize。我不知道对于任何窗口来说,这种情况是否总是会发生。

(对于熟悉 Windows API 的人来说,我已将其追溯到 TCustomForm.ShowingChanged 中的 ShowWindow 调用(Delphi 2007 中的 Forms.pas 第 5503 行),这显然会触发WM_SIZE...至少对于没有设置其他属性的新窗口来说是这样。我还没有看到 ShowWindow 总是触发的记录WM_SIZE,所以我不知道我是否可以指望这一点。)

So: 我可以依赖 TForm吗always当它第一次显示时触发 OnResize ?或者是否存在 OnResize 可能出现的情况(也许窗口不可调整大小,也许 Position 属性具有某些值等)not在窗口首次显示之前发生火灾?


不,该事件并不总是在表单显示时触发,具体取决于 BorderStyle 等内容。例如,它在 bsSingle 启动时触发,但 bsDialog 则不会。

很容易测试。只需向主窗体的 OnResize 事件添加一些日志记录代码,更改 BorderStyle 并运行您的应用程序即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi 窗体在显示时总是会触发 OnResize 吗? 的相关文章

  • 在 Pascal 中将文本文件中的字符串读入数组

    使用这个程序 我试图读取一个文件并将其随机打印到控制台 我想知道是否必须使用数组 例如 我可以将字符串分配到一个数组中 然后从数组中随机打印 但是 我不确定如何解决这个问题 另一个问题是 我当前的程序没有从我的文件中读取第一行 我有一个文本
  • Delphi LZMA减压样本

    我发现在this https stackoverflow com questions 4344976 lzma or 7zip in delphi的线程链接delphi压缩包 https github com ccy delphi zip具
  • TWebbrowser 大量内存泄漏:到目前为止还没有解决方案

    我有一个使用的应用程序TWebbrowser定期导航到特定 URL 并提取一些数据 该应用程序 24x7 持续运行 并在页面中进行大量导航 问题是TWebbrowser有一个众所周知的内存泄漏问题 每次导航到新页面时 应用程序使用的内存都会
  • TEdit onclick 全选?

    每当用户单击 TEdit1 或单击选择其中的某些文本时 如何选择 TEdit1 的所有文本 执行超出默认行为的任何操作都可能非常危险TEdit控制 您的用户知道标准 Windows 控件的行为方式 任何偏离此的行为都可能导致混乱 默认情况下
  • 如何将接口类型传递给过程

    如何将接口类型传递给过程参数 type Hello PortType interface ISoapInvokable 243CBD89 8766 F19D 38DF 427D7A02EAEE function GetDeneme s st
  • 作为属性的类引用

    谷歌对于这类搜索毫无用处 因为你会得到数亿个结果 其中没有一个与特定问题相关 问题很简单 Delphi 中是否可以有类引用属性 如果是这样 怎么办 这是我尝试过的 type TMyObject class end TMyObjectClas
  • delphi中生成随机数

    我想在delphi中创建一个随机数并将其分配给文件作为文件名 我设法做到了这一点 但是当我单击按钮生成数字时 它总是以 0 开头 知道如何修复它 procedure TForm1 Button1Click Sender TObject va
  • Delphi 2010:如何将 UTF8 编码的 PAnsiChar 转换为 UnicodeString?

    情况 我有一个外部 DLL 它使用 UTF 8 作为其内部字符串格式 接口函数都使用 PAnsiChar 来传递字符串 我的应用程序的其余部分使用 Delphi 的本机string类型 由于我正在使用 Delphi 2010 这将映射到Un
  • iOS Objective-C 对象:何时使用release,何时不使用它

    我在 iOS 下 正在使用 delphi Tokyo 进行开发 这是我的代码 aUIImage TUIImage Wrap TUIImage alloc initWithCGImage aCGImageRef try aData TNSDa
  • 从单个应用程序中的多个线程调用 dll 函数是否安全?

    我正在 Delphi 2009 中编写一个服务器应用程序 它实现了多种类型的身份验证 每种身份验证方法都存储在单独的 dll 中 第一次使用身份验证方法时 会加载适当的 dll 仅当应用程序关闭时 DLL 才会被释放 在服务器线程 连接 之
  • EIdOSSLUnderlyingCryptoError 和“使用 SSL 连接时出错。错误:14094410...”

    我在 OS X 上的 Delphi 10 1 Berlin 中遇到 Indy 组件问题 我正在使用TIdHTTP使用 HTTPS 连接到 Web 服务 问题是从 OS X 客户端连接到服务器 在 OS X 上运行时 我总是遇到同样的错误 P
  • 在 Delphi XE 中将类作为过程的参数传递

    我需要做的是这样的 procedure A type of form var form TForm begin form type of form Create application form showmodal freeandnil f
  • Delphi如何使用其他窗体中的类型?

    抱歉 这是一个非常新手的问题 我正在对这个庞大的应用程序进行维护 它有5种不同的形式 我们将全局变量放在一个单元 uGlobal 中 但我似乎无法从数据单元 uData 访问它 我有这个 Unit uGlobal type TmyType
  • Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行

    我正在尝试在 Mac 上运行示例 Firemonkey 应用程序 但我在 Mac 中收到以下消息 dyld Library not loaded rpath libcgunwind 1 0 dylib Referenced from Use
  • 如何读取注册表项的默认值

    我有一个 Delphi XE2 项目来使用注册表项进行某些操作 所以我定义了以下代码 procedure TMainForm BitBtn01Click Sender TObject var RegistryEntry TRegistry
  • 从delphi应用程序调用.net4.0 com服务器后出现错误异常

    我们正在将代码库从 BDS2006 迁移到 Rad Studio XE 我们发现了一些非常奇怪的行为 如果我们在从 Net4 0 中实现的 COM 服务器创建一些对象后进行无效的浮点运算 即除以零 我们不会没有得到正常异常 即 EDivis
  • 如何向标准集合编辑器添加图标?

    我有一个自定义控件 它利用TCollection and TCollectionItem 在集合编辑器中 我想向每个列表项添加图标 该列表项由内部TImageList 在其父组件内 集合项本身代表图标 我想在这个编辑器中显示相应的图标 如何
  • DELPHI 和 WANT 或 NANT

    We use 巡航控制 net http confluence public thoughtworks org display CCNET Welcome to CruiseControl NET在 Delphi 2006 应用程序中进行持
  • 当 Delphi 处于覆盖模式时,如何更改它的光标形状?

    当使用 Delphi 的任何版本时 我有时会碰巧按下插入键并打开覆盖模式 这通常是一个很大的麻烦 并且您进入覆盖模式的唯一指示是编辑器底部的小文本 当使用其他程序 首先想到的是 Notepad 时 当您处于插入模式时 文本光标是 当您处于覆
  • 查找Delphi项目中的所有编译错误

    我正在对我的 Delphi 项目进行一些重构 我希望能够做出改变 然后看看all项目中因该更改而中断的地方 类似于 Eclipse 列出项目的所有编译错误 在 Java 中 在 Delphi 中 我可以进行更改 然后重新编译我的项目 但编译

随机推荐

  • 如何在没有 root 访问权限的情况下在 Ubuntu 上安装 Google Test?

    我正在尝试根据以下方式安装 Google Test这个答案 https stackoverflow com a 21314020 6560773在没有 root 访问权限的 Ubuntu 上 因为我需要在工作中学习和使用它 设法在我自己的用
  • 列出所有会话信息

    我想在页面中显示我的asp net页面 aspx 的所有会话信息 我怎样才能做到这一点 编程语言是C 这两种方法对我有用 稍微改进和纠正了大卫的答案 第一种方法 for int i 0 i lt Session Count i var cr
  • 获取后台进程的退出代码

    我有一个从我的主 bourne shell 脚本中调用的命令 CMD 该命令需要很长时间 我想修改脚本如下 作为后台进程并行运行命令 CMD CMD 在主脚本中 有一个循环每隔几秒监视生成的命令 该循环还向标准输出回显一些消息 指示脚本的进
  • Java 中的无符号字节

    Java 中的字节默认是有符号的 我在其他帖子中看到 具有无符号字节的解决方法类似于 int num int bite 0xFF 有人可以向我解释一下为什么它会起作用并将有符号字节转换为无符号字节 然后将其转换为相应的整数吗 ANDing一
  • 无法将 event.target 转换为字符串

    为了识别用户单击的元素 我尝试使用事件对象target document click function e var str e target toString console log str if str indexOf some clas
  • 为什么表上主键的存在可以显着提高列存储索引的性能?

    我试图了解列存储索引可以在表上提供什么样的性能提升 该表大约有 370 万行 11 列 并存储为堆 即没有主键 我在表上创建列存储索引并运行以下查询 SELECT Area Family AVG Global Sales Value AS
  • Seaborn 中同一地块上的多个图表

    我正在尝试为某些数据绘制条形样式 factorplot 然后在其上绘制常规点样式 factorplot 以适合该数据 因此 对于数据图 我可以简单地执行以下操作 sns factorplot x x y yData data dataFra
  • 从另一个视图控制器调用一个视图控制器的方法

    我在 OneViewController h 中声明了一个方法 someMethod interface OneViewController UIView tempView void someMethod end 并在 OneViewCon
  • 如何获取 LinkedHashMap 的 keyIterator?

    通过查看Sun的LinkedHashMap的源代码 我发现有一个名为Key Iterator的私有类 我想使用它 我怎样才能获得访问权限 您可以通过致电获取 myMap keySet iterator 你甚至不需要知道它的存在 它只是实现的
  • GCM 推送通知延迟

    我们有一个应用程序 Ruby on Rails 向 Android 应用程序发送推送通知 我们面临着 GCM 的问题 其中一些通知要么被延迟 要么从未收到 考虑到这些通知是发送给员工而不是最终用户 我的问题是 在没有任何延迟或丢失的情况下发
  • “TransformAppSettings”任务意外失败

    我有一个 NET Core 3 Blazor 服务器端 应用程序 我最近从预览版 5 版本升级到了 NET Core 3 0 1 预览版 6 版本 当我在本地构建并运行它时 它工作正常 但是当尝试将其发布到文件系统文件夹 在框架相关模式下
  • 使用 vb.net 在 MS Access 中插入和更新值

    我已经检查了该网站上的大部分论坛 但没有得到我的解决方案 我的问题是将数据从 vb net 插入到 MS Access 但我无法做到 它没有显示任何错误 但也没有在我的表中插入值 我正在使用非常简单的代码 Imports System Da
  • 模板化无分支 int 最大/最小函数

    我正在尝试编写一个无分支函数来返回两个整数的 MAX 或 MIN 而不求助于 if 或 使用通常的技术 https stackoverflow com questions 227383 how do i programmatically r
  • 向 ModelForm 添加额外字段

    我正在向 Django ModelForm 添加一个额外的字段 如下所示 class form forms ModelForm extra field forms CharField label Name of Institution cl
  • 运算符重载中的成员二元运算符和非成员二元运算符

    在尝试学习运算符重载时 我阅读了 C Primer 中的以下陈述 坦白说 我不太明白这些言论想要传递什么信息 这些示例包括定义成员二元运算符和非成员二元运算符 使用时有什么区别吗 通常我们将算术和关系运算符定义为非成员函数 并将赋值运算符定
  • 在哪里可以找到旧版本的 Android NDK? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道在哪里可以找到旧版本的 Android NDK 我们的代码不是用 r6 构建的 肯定有某个地方
  • 如何在 Cmake 生成的 ALL_BUILD 和 ZERO_CHECK Visual Studio 2013 项目中将 unicode 设置为字符集?

    我目前正在使用 CMake 创建一堆 Visual Studio 2013 项目 并且它可以工作 但是 自动创建的 ZERO CHECK 和 ALL BUILD 项目默认设置为使用 MBCS 尽管我希望它们使用 Unicode 字符集 我确
  • NameError:名称“raw_input”未定义[重复]

    这个问题在这里已经有答案了 我是一名七年级程序员 所以我可能在这个程序中遗漏了很多东西 但是对于我的编码俱乐部 我的老师要求我们猜数字游戏 我对这个主题的了解非常有限 因为我只上过四节课 不管怎样 当我在 Python IDLE 3 5 中
  • 在编译时检测 typedef(模板元编程)

    我目前正在做一些模板元编程 就我而言 我可以处理任何 可迭代 类型 即任何类型typedef foo const iterator以同样的方式存在 我试图为此使用新的 C 11 模板元编程 但是我找不到检测某种类型是否丢失的方法 因为我还需
  • Delphi 窗体在显示时总是会触发 OnResize 吗?

    如果我创建一个新的 Delphi 表单 挂钩其 OnResize 事件并运行该应用程序 则在显示窗口之前会触发 OnResize 我不知道对于任何窗口来说 这种情况是否总是会发生 对于熟悉 Windows API 的人来说 我已将其追溯到