问题标签 [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 回答
469 浏览

delphi - 如何使用 TForm.FullScreen 属性使我的表单全屏显示?

我正在尝试在 Delphi 的 FireMonkey 应用程序中使用 的FullScreen属性,但不起作用。TFormFullScreen := true

0 投票
1 回答
129 浏览

delphi - 带有 TFormClass 的运算符 IS

我有以下情况:

这两行都没有构建,错误是Operator not applicable to this operand type

我该怎么做这个比较?

0 投票
1 回答
141 浏览

multithreading - 为什么 TApplication.MessageBox 会自动关闭?

我有一个需要几秒钟才能加载的应用程序(大量初始化)。GUI 在启动期间冻结。所以我想创建一个在应用程序加载时淡入淡出的启动画面。我使用TBackgroundWorker组件在后台线程中执行动画。

但是,当我使用这个组件时,会发生一些奇怪的事情:当它发出“工作完成”信号时(请参阅 BackgroundWorkerWorkComplete),我同时打开的消息对话框会自动关闭。


这是启动画面:

我觉得奇怪的是 MessageBox 保留在屏幕上,而 Application.MessageBox 没有(自动关闭)。

为什么关闭 TfrmSplash 也会关闭消息框?

0 投票
2 回答
127 浏览

delphi - 从另一个窗体访问 DBGrid1.Columns[1].Title.Caption

我正在尝试Caption从另一个表单访问 dbgrid.field 的。

我在这里使用 MDI,两种形式都是 MDIChildren。

我试图ShowMessage从另一个表单执行以下操作,但它导致了访问冲突:

使用已设置在 2 种形式之间。

错误信息是

模块中地址 000010363F9 的访问冲突。读取地址 000000006F0。

我在这里想念什么?


更新:这是这种情况的精确复制(RME)。

MDI 父级

MDI ChildForm1

MDI ChildForm2

错误信息

模块“Project7.exe”中地址 0081B314 的访问冲突。读取地址 000003D0。

0 投票
1 回答
187 浏览

android - Delphi android FindComponent作为表单

我正在制作第一个 android 应用程序并且在打开表单时遇到问题。我只有写在firebird表中的表单名称,需要找到表单(FindComponent)才能打开它。在 VCL 上这是可行的,但是当我在平板电脑上启动应用程序时,什么也没有发生,找不到表单。

0 投票
0 回答
119 浏览

delphi - 如何保存和加载 TFrame 内容?

我使用以下代码保存和加载我的表单:

它适用于表单,但是当尝试对其执行相同操作时TFrame它不起作用,因为它没有CreateNew程序。如何保存和加载此框架?特别是如果它包含动态创建的控件。

Windows 7,德尔福 7。

0 投票
0 回答
122 浏览

delphi - 没有点击的部分透明表单?

在 Windows 10 中的 Delphi 10.4.2 win-32 VCL 应用程序中,我使用此表单代码使表单部分透明:

这具有在框架内显示具有透明区域的红色框架的效果:

在此处输入图像描述

不幸的是,透明区域也有一个 CLICK-THROUGH “功能”,这是我不想要的:透明区域应该只透明且可点击而不是点击,所以当我点击透明区域时,我应该点击- 来自小组的事件。

那么如何禁用透明区域的点击功能呢?

0 投票
3 回答
242 浏览

delphi - 如何将表格最大化为桌面大小?

在 Windows 10 上运行的 Delphi 10.4.2 Win32 VCL 应用程序中,在双显示器设置中,当我将 MainForm(或任何其他辅助窗体)设置为通过设置开始最大化时WindowState := wsMaximized,该窗体仅在主监视器上最大化。

如何将表单最大化到整个桌面,以将表单大小设置为包括两个显示器?是否有该类的内置方法TForm来实现这一点?

0 投票
1 回答
131 浏览

delphi - 使用 Parallels VM 将表单重新定位到第二台显示器时屏幕变黑

我在双显示器系统上使用 Windows 10(在 Parallels 中虚拟化)中的 Delphi 10.4.2。要在多显示器系统上重现问题,请创建一个新的 Windows VCL 应用程序并在窗体上放置两个按钮:btnPrimaryMonitorbtnSecondaryMonitor. 然后通过为两个按钮创建单击处理程序来插入此代码:

这很有效,但是一旦我设置offset = 1offset = 0屏幕变黑!

代码的目的是通过单击按钮将最大化的停留在顶部的表单从主监视器重新定位到辅助监视器,然后通过单击btnSecondMonitor按钮返回到主监视器btnPrimaryMonitor

如何避免这个问题?

0 投票
0 回答
68 浏览

delphi - 当主窗体失去焦点时,TTitleBarPanel 重叠嵌套面板

在 Delphi 11 Alexandria 中的 Windows 10 中运行 32 位 VCL 应用程序时,最初看起来不错(除了 Mainmenu 被隐藏):

在此处输入图像描述

但是一旦窗口失去焦点,TTitleBarPanelOVERLAPS pnlHeader(嵌套TPanel在 a 中TCard):

在此处输入图像描述

但我已经按照文档所说的那样做了:将除 之外的所有内容TTitleBarPanel放在与客户端对齐的面板上。

如何避免这种重叠?

这里是单位:

这是表格: