问题标签 [ttabsheet]

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 回答
8263 浏览

delphi - 在 TabSheet 上循环所有组件

我有以下代码应该循环我的标签页上给定标签上的所有组件。我已经尝试了许多在网上找到的相同代码的变体,但我根本无法让它工作。首先,我检查它是否是正确的选项卡 - 有效。然后我检查看看有多少组件 - 这不起作用。尽管我现在有 2 个面板总共有 9 个复选框,但它说 0 组件。

关于我的代码中可能有什么问题的任何提示?

0 投票
2 回答
944 浏览

delphi - 如何在 TIdCmdTCPServer OnConnect 事件中安全地将 Tabsheet 添加到 PageControl?

当客户端连接到我的代码时,我想Tabsheet动态添加一个:PageControlIdCmdTCPServer

没问题,但是当关闭应用程序时,我会收到带有消息的 EOSError:“系统错误。代码:1400。无效的窗口句柄”。我已经在TButton'sOnClick事件中添加了这个代码块,应用程序将毫无问题地关闭。有没有更安全的方法来做到这一点?


David Heffernan的帮助下,我改变了我的方法:

并命令测试结果:

addtab 命令测试结果

但提到的问题是钢铁在应用程序关闭时发生!

0 投票
1 回答
462 浏览

delphi - Delphi 在制作剪贴板图片之前检查 Tabsheet 是否已完成加载数据

我在德尔福 XE3 工作。我制作了一个循环,它通过一个带有 6 个选项卡的 Pagecontrol,它的框架带有很多加载 mdb 数据的编辑框。

循环浏览页面时,我制作了活动选项卡的“截屏”图像并将其放置在 fastreport 中的图像上。

一切都很好,但是在一些速度较慢的计算机上进行测试时,它会生成所有帧,但尚未加载数据。在转到下一页之前,如何检查所有数据是否已加载到放置在选项卡上的框架编辑组件中?

代码如下所示:

0 投票
1 回答
1933 浏览

delphi - 如何滚动 TTabSheet

如果工作表的高度小于某个值,我想在 PageControl 中滚动单个 TabSheet。

如果我在 TabSheet 上放置一个 ScrollBox,则不会绘制 TabSheet 的主题背景(它被滚动框的单色背景覆盖)。

我一直在尝试查找/创建一个透明的滚动框组件,但没有成功。还有其他想法吗?

我正在使用德尔福 7。

谢谢!

0 投票
1 回答
1215 浏览

delphi - 当 TcxPageControl 托管在 TFrame 中时,添加到 TcxTabSheet 的组件不会在运行时显示

我正在构建一个TFrame包含TcxPageControl. 这个想法是将框架拖放到表单上,然后我可以添加特定于该表单的页面。

这很好用,我可以通过设计器成功添加页面,并在运行时出现这些标签页。但是,问题是任何组件都掉到了“TcxTabSheet不”上。

如果我在框架本身上添加一个页面(即基本框架,而不是放在表单上的那个)并在上面放置组件,那些显示。但是,如果我将组件从表单中拖放到同一页面上,它们不会。

我显然在这里遗漏了一些东西,但我原以为页面控件可以像在任何形式上一样工作(不管它是否从 a 浮出水面TFrame),但显然它似乎有些东西不喜欢。

这是一个错误还是我做的不对?

注意 - 我正在使用“添加到调色板”选项将框架添加为组件,因为我想显示TPageControl属性(以防万一)

0 投票
2 回答
2460 浏览

delphi - 在 PageControls 之间移动 TabSheet

我目前正在使用 Delphi 7。

我有一个主窗体,它有一个 PageControl,上面有 5 个选项卡。我正在寻找一种从页面控件“分离”这些选项卡并将它们单独移动到新表单的方法,即创建运行时。移动的工作表需要保留它的所有组件(按钮、标签等),并且功能几乎与它在页面控件中的位置相同。

基本上,这个想法是,如果用户想要同时查看 2 个(或更多)页面,那么他/她可以将该工作表拖出表单区域并为其创建一个新窗口。当用户完成时,额外的表单用 X 按钮关闭,工作表回到它在页面控件中的原始位置。

并且只是为了额外的挑战:是否可以将此解决方案制成一个单独的单元,以便可以在运行时调用它来“分离”任何控件?(按钮、编辑、列表框、图像等)?

谢谢!
托马斯

0 投票
2 回答
2898 浏览

delphi - 如何动态创建自定义的 TabSheet 运行时

我想创建一个必须在运行时创建的 TTabsheet。TTabSheet 有几个组件,但所有这些组件在每个选项卡上都是相同的。是否可以创建一个“类型”变量,每次都会创建这些选项卡?

谢谢

0 投票
1 回答
225 浏览

java - 如何创建没有组件的 Vaadin 选项卡?

我需要 Vaadin Tabsheet 的功能。但不需要每个选项卡都有一个组件。

相反,我只有一个组件(单独的表),它将通过选项卡表操作进行操作。现在,我已经为选项卡分配了隐藏标签。

有一个更好的方法吗?

0 投票
1 回答
1085 浏览

delphi - 如何将属性添加到 TTabSheet 以便可以在设计时与 TPageControl 一起使用

我想将“MyProperty”添加到 TTabSheet 并在设计时使用它。但是,如果我对它进行子类化,我担心我还需要对 TPageControl 进行子类化,因为它在内部创建/管理 TTabSheets。

我相信这需要复制 TTabSheet 管理代码来引用 TMyTabSheet 而不是 TTabSheet,因为它需要调用 TMyTabSheet.create。当新版本的 Delphi 更新 TPageControl 并且我忘记更新 TMyPageControl 时,这感觉就像我会后悔的事情。

我也在研究“班级助手”作为另一种选择。

有人对如何最好地实现这一点有建议吗?

谢谢!

0 投票
1 回答
195 浏览

delphi - 在 TabSheet1Show 中将控件添加到 TPageControl

当我尝试将控件添加到TTabSheet运行时已经存在的控件时,这些控件在添加OnShowTTabSheet.

重现步骤:

  1. 在设计器中添加TPageControlaTForm
  2. TTabSheet在设计器中为此添加 3 个对象TPageControl
  3. 设置第一个TTabSheet活动(在设计时)。
  4. 运行以下代码:

头文件:

源文件:

结果是:

  • ButtonConstructor可见
  • ButtonOnTabShow不可见

如果您单击TabSheet2然后返回到TabSheet1ButtonOnTabShow也将可见。

这是一个无法解决的错误,还是我错过了什么?