问题标签 [tform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3352 浏览

delphi - Delphi:当我期望它们更新框架属性时(它们卡住了)

我在表格上有一个框架。当我更改框架(添加/删除按钮、标签)时,表单上没有出现任何更改,或者控件在框架中的表单中具有其他位置。如果要从表单中删除框架并再次添加 -> 好的。

为什么?我记得 Delphi 2010(现在是 Delphi XE)没有问题。

谢谢。

0 投票
5 回答
2397 浏览

delphi - 在主窗体的 OnShow 中显示模态窗体时主窗体不显示?

我创建了一个应用程序,其中主窗体在主窗体的 FormShow 事件上调用子窗体。显示子表单并提供两个选项可供选择。如果选择了子表单上的第一个选项,则会显示一条消息,然后将显示主表单。现在,当应用程序第一次运行时,在子表单 Meassage 上选择选项后将显示。但我想以主窗体作为背景显示消息。所以对此的任何解决方案。下面是 FormShow 代码。

0 投票
3 回答
1361 浏览

delphi - Delphi:是否可以在 OnFormShow 事件中告诉表单即使一毫秒也不显示?

在 OnFormShow 事件中,我需要(对于一组特定的条件)不显示表单。

像“如果计数器 > 15 不显示表格”之类的东西。

我当然可以在表单创建上重构和移动很多东西,但这是很多工作,因为这是一个常见的表单,涉及的更改太多。

现在我在 OnFormShow 结束时关闭了表单,但无论如何我看到表单出现了几毫秒。

不幸的是,告诉我不要显示表单的条件是在 OnFormShow 内部决定的。有没有避免表格显示的技巧?

0 投票
1 回答
1286 浏览

delphi - Delphi:模态表单闪烁

有一个模态表单:标签、按钮、组框。

我通过单击按钮从表单 1 调用:Form2.ShowModal;

当表格 2 首先出现时 - 由于混合效果,一切都很好。但是下一个表单的外观有闪烁,尤其是标签、按钮。我尝试使用DoubleBuffered:=True/False and ParentFont:=True/False (in case of a group box, frame). 它没有帮助:(

有人可以帮忙吗?谢谢!

0 投票
4 回答
2223 浏览

delphi - 使用另一个表单事件过程

有没有办法让一个表单使用另一个表单的事件过程?

例如,我有一个名为 PongForm 的表单和另一个名为 ObstPongForm 的表单。PongForm 上有一个代码,ObstPongForm 上有另一个。是否可以让 ObstPongForm 在它自己的 'tick' 事件中使用 PongForm 的 'tick' 事件中的代码?也许通过让 ObstPongForm 从 PongForm 继承?

0 投票
1 回答
358 浏览

delphi - 重构 Delphi 6 事件处理程序属性的工具/实用程序?

我有一个在我的应用程序代码库中广泛使用的组件(即多个应用程序)。我想更改常用的事件处理程序属性之一。我需要一个工具/实用程序,它可以通过 Delphi 6 表单源文件 (DFM + PAS) 并为表单上的组件实例搜索和替换当前定义的事件处理程序。

例如。假设我在当前定义为的组件上有一个事件处理程序属性:

其中 TOldEventHandlerProc 定义为:

我想将 TOldEventHandlerProc 更改为:

我希望该实用程序检查表单的 DFM/PAS 文件对的内容,并根据 TOldEventHandlerProc 的新定义,找到已定义的所有 FOnEvent 实例,并将旧参数列表换成新参数列表。例如,给定一个名为 MyForm1 的表单和一个名为 MyComp1 的组件实例,您将拥有以下 IDE 为事件处理程序生成的声明:

事件处理程序的主体声明为:

该实用程序需要找到 OnEvent() 处理程序的每个实例,并将事件处理程序的标题声明和事件处理程序的主体声明替换为事件处理程序,并交换参数列表,结果为:

事件处理程序的主体声明为:

如果我找不到这样的工具,我会自己写一个又快又脏的工具,但我想我会问我是否可以节省一些时间。有谁知道这样的重构工具?

0 投票
5 回答
1565 浏览

delphi - 为什么不为 TForm 调用 OnShow?

我在 Delphi 7 的一个项目中工作,我对语言或运行时并不是非常熟悉。我正在尝试调试表单可见和绘制等问题,但由于某种原因,未调用 OnShow 事件。在什么情况下会发生这种情况?我到底应该在哪里看?

0 投票
1 回答
3762 浏览

delphi - Delphi 7 - 为表单中的嵌入式框架处理 MouseWheel 事件?

嗨,我有一个里面有几个框架的表格。

对于某些帧,我希望滚动内容(或至少处理鼠标滚轮事件)。

我尝试了以下方法:

只需为每个帧分配一个 OnMouseWheel 事件处理程序

覆盖父窗体的 MouseWheel 事件:

不幸的是,两者似乎都不起作用。

  • 在情况 1 中,该事件永远不会触发,但是会触发父窗体鼠标滚轮处理程序。
  • 在案例 2 中,接收焦点的控件是包含我希望将鼠标滚轮事件发送到的框架的面板。

所以,简而言之,我如何将鼠标滚轮事件引导到鼠标光标所在的最顶层控件(不管光标在哪个框架/父/窗体等)?

0 投票
1 回答
3362 浏览

delphi - Delphi - 覆盖 TForm.showModal 的隐藏行为

我目前正在为现有的 Delphi 应用程序编写一个窗口系统。

目前,该程序由许多完整尺寸的表格组成,这些表格按照需要的顺序模态显示,用户不能移动任何一个。我的目标是让所有这些形式都可以移动。以前表单是堆叠在一起的,但是由于没有一个可以移动,因此用户看不到背景表单。到目前为止,我的解决方案是在打开一个新孩子时隐藏“父”表单,并在该孩子关闭时重新显示它。

不幸的是,由于每个孩子都是用 showModal 调用的,所以直到模态过程完成之后才调用使父表单可见,因此在子表单被隐藏之后,用户会看到一瞬间没有任何表单可见的闪烁。

有没有办法可以防止模态表单在其过程完成后自动隐藏?一旦父表单再次可见,这将允许我手动隐藏它们。我试图在每个子窗体的 FormHide 事件中安排这个,但这不起作用,因为在打开它自己的一个子窗体时,子窗体也被隐藏。

编辑:

这是我到目前为止根据雷米的建议所得到的

这很好用,但唯一的问题是活动的重复循环永远不会中断,即使在孩子被转义之后,父表单也永远不会重新显示。有什么办法可以解决这个问题吗?

0 投票
2 回答
4884 浏览

delphi - Is it possible to dynamically create form without having *.dfm and *.pas files?

is it possible to create and show TForm without having source files for it ? I want to create my forms at runtime and having the empty *.dfm and *.pas files seems to me useless.

Thank you