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

hide - 仅隐藏主窗体并将其保留在任务栏中

我有一个主窗体是 x 个 ToolWindows 的父窗体。我想隐藏主窗体,但将其保留在任务栏中。

当我设置主窗体Visible = false时,它隐藏并保持 ToolWindows 可见,到目前为止一切都很好。但是任务栏中的图标也消失了。

我想隐藏主窗体,保持 ToolWindows 可见并保留任务栏图标,这样我就可以再次恢复主窗体。

0 投票
3 回答
762 浏览

delphi - TForm 的 OnShown 事件?

在程序启动时,在OnActivate事件处理程序中,我需要做一些事情来阻止程序几秒钟。在此期间,窗体的客户区仍未完全绘制,这对于用户来说看起来很难看。(在这段阻塞时间内,我不需要程序响应点击或其他用户操作,因此无需将阻塞操作放入线程中 - 我只需要完全绘制表单即可)。所以我在阻塞操作之前使用TForm.UpdateandApplication-ProcessMessages更新表单,效果很好:

但是,我想知道对于这个问题是否没有另一个更优雅的解决方案。例如,这可能是OnShown在 TForm 的后代中实现的事件,该事件将在表单完全绘制后触发。这样的事件如何实施?

0 投票
2 回答
3493 浏览

delphi - 以自定义构造函数为主要形式的Delphi Form?

我想要一个从具有自定义构造函数的 BaseForm 派生的 MainForm。由于这是 Mainform,它是通过调用*.dpr 文件中的Application.CreateForm(TMyMainForm, MyMainForm)创建的。但是,在表单创建期间不会调用我的自定义构造函数。

显然,如果我调用MyMainForm := TMyMainForm.Create(AOwner) ,它工作正常。我可以不使用带有自定义构造函数的表单作为主表单吗?

0 投票
1 回答
299 浏览

c++ - TForm 隐藏在主窗口后面

我有一个使用 OwlNext 创建的主窗体,它调用在 vcl 中创建的对话框。

现在我的两个窗口都有一个新的任务栏条目。
当我单击那里的主窗口时,它会出现在 Form2 的前面。
但是当我单击 Form2 时,它停留在 Main 后面。
此外,当 Form2 发出警报时,关闭警报将关注 Main 而不是 Form2。

你能告诉我我在这里做错了什么吗?

0 投票
1 回答
585 浏览

c++ - 如何在 C++Builder 中运行两个表单

很高兴与您分享一些信息。

打扰一下,有人知道如何同时运行两个表格吗?

我的意思是,我执行一个 FOR 单击 FORM1 上的一个 BUTTON 并将 FOR 的值设置为 FORM2 上的一个 LABEL。

这里 FORM1 中的一些代码:

我只想看看这个:

如果.... Form1->Label1->Caption= 1,Form2->Label1->Caption也必须为 1,依此类推。FORM2 只显示了最后一个结果,即 10,000。

我很感激任何帮助。谢谢 !

0 投票
2 回答
1102 浏览

delphi - 调用嵌入表单的 Show() 应该显示父表单

我在我的应用程序中使用嵌入式表单,我正在尝试这样的事情:

在设计时,表单是一个正常的表单,对嵌入/对接一无所知。使用 ButtonClick,我可以通过调用表单的 Show() 方法使表单可见。在运行时,表单可能会停靠到另一个表单并成为嵌入式表单。当我按下按钮再次显示表单(现在是嵌入的)时,什么也没有发生,因为我现在必须为包含嵌入表单的表单调用 Show()。

我正在寻找一种在调用嵌入表单的 Show() 方法时强制显示父表单的方法。我可以通过在调用 Show() 之前检查父表单的存在来处理这个问题,但我不想包含这个特定的处理。

我更愿意在父表单中进行此处理,当表单停靠时会收到通知。

Show() 方法仅将 Visible 属性设置为 true(RAD Studio 帮助),所以我认为不会触发消息...?

你知道实现这样的事情的方法吗?

编辑

我想提供一些关于我的应用程序的信息,因为我猜这更像是一个设计问题而不是编程问题。

该应用程序使用多个插件来适应连接的硬件。该 exe 提供了一个拖放环境,并包含一个可停靠表单的基类。插件对对接实现没有任何了解。通过创建可停靠表单并从插件嵌入表单,插件表单变得可停靠。这就是为什么我希望在某处调用嵌入表单的方法 Show() 时显示父表单的原因。

0 投票
1 回答
1849 浏览

forms - Delphi - TForm 和泛型

我想知道是否有可能在 Delphi 中定义一个从 TForm 派生的带有泛型的基表单类。我正在处理的应用程序与各种硬件设备(通过串口、usb、以太网等)交互,我希望每个设备都能够显示一个包含特定于该设备的属性的属性表单。

到目前为止,我有以下代码......

尝试访问表单设计器时会出现问题。例如,TBaseForm 包含一个“确定”和一个“取消”按钮。我想向 TDeviceForm 添加其他功能,但是当我尝试打开设计器时,出现以下错误...

创建表单时出错:找不到根类:“”。

同样,如果我尝试打开 TGpsDeviceForm 设计器,我会收到以下错误...

创建表单时出错:找不到“TSerialDeviceForm”的祖先。

我假设 Delphi 表单设计器无法处理泛型,但有没有更好的方法来解决这个问题?

在 DFM 文件中,对于 TBaseForm 以外的所有内容,我已将第一行从以下内容更改为:

对象 DeviceForm: TDeviceForm 到继承的 DeviceForm: TDeviceForm

然而,这似乎没有什么区别。

请问有人可以提供任何建议吗?提前致谢!

0 投票
1 回答
7811 浏览

delphi - 如何在面板中显示 Delphi 表单?

我尝试遵循http://docwiki.embarcadero.com/CodeExamples/XE7/en/FMXEmbeddedForm_(Delphi)的示例,但我遇到了 TCustomForm 的孩子的第一个问题,这些孩子显然是只读的,所以我评论了将其取出并放入ArgForm.Parent:= ArgParent;,但我仍然只是得到一个空屏幕,看不到第二种形式的按钮。

我的主要形式的代码是:

放置在我的主表单面板中的表单代码是:

0 投票
1 回答
811 浏览

delphi - 如何使用表单的全局变量将其放入面板中?

这是我的问题的延续:如何在面板中显示 Delphi 表单?

我想使用表单全局变量将其嵌入到面板中以现在显示它,但它只创建要嵌入的表单,没有它的按钮。

在可执行文件的代码中,我首先创建要嵌入的表单,然后创建要嵌入的表单,如下所示:

主窗体的代码是:

要嵌入的表单的代码是:

0 投票
1 回答
917 浏览

delphi - 如何使用delphi在Tpanel中最大化表单

我正在尝试使用此功能在 TPanel 中动态显示表单

表单显示非常正常,但他没有在我的面板中最大化,而且我想让这个表单像具有 Alight 属性 = (alClient) 的组件一样自动反应