- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在主窗体上有一个带有 TPageControl 的应用程序。 pagecontrol 有几个选项卡。该应用程序可以最小化为托盘图标。有时在运行最小化一段时间后,当我恢复主窗口(通过鼠标右键单击托盘图标)时,会显示最后显示的选项卡,但我无法选择任何其他选项卡!
如果我单击另一个选项卡,则外观会发生变化,因此该选项卡似乎是事件选项卡(即选项卡本身移动到选项卡行的前面),但选项卡的主体保持原样。我也有菜单项和快捷键来选择其他选项卡,它们的行为相同。如果我键入 Alt-O(选项),顶部的选项选项卡将变为事件状态,但我看不到该选项卡主体上的内容 - 我仍然看到另一个选项卡的内容。
我已经验证当我单击另一个选项卡时焦点会从第一个选项卡上移开,而当我单击该选项卡时焦点会移回。
我尚未确定该行为是否仅限于特定选项卡,因为它需要一段时间才能发生。
有任何想法吗?
更新
有趣的笔记。我已经确定问题是在这些情况下发生的。应用程序启动,然后最小化到托盘。检测到警报条件,弹出一个窗口并恢复主窗口(这是应用程序的预期行为)。正是在这一点上观察到了故障 - 即当我单击其他选项卡时,我看不到它们。
procedure RestoreMainWindow ;
begin
MainForm.WindowState := wsNormal ;
MainForm.visible := true ;
Application.Restore ;
Application.BringToFront ;
ShowWindow (Application.Handle, SW_SHOW) ; { show the taskbar button }
end ;
procedure RestoreMainWindow ;
begin
MainForm.Show () ;
MainForm.WindowState := wsNormal ;
Application.BringToFront () ;
ShowWindow (Application.Handle, SW_SHOW) ; { show the taskbar button }
end ;
procedure TTADMainForm.SendToTray (Sender: TObject) ;
begin
MainForm.visible := false ;
ShowWindow (Application.Handle, SW_HIDE) ; { hide the taskbar button }
end ;
...
Application.OnMinimize := SendToTray ;
procedure TTADMainForm.ApplicationEvents1Minimize(Sender: TObject) ;
begin
Hide();
WindowState := wsMinimized ;
TrayIcon1.Visible := True;
end ;
最佳答案
完全从 5 年前的内存开始工作,但这里是:
TPageControl 为其中的每个页面使用不同的窗口句柄。标签栏是它自己的窗口句柄,TPageControl 负责监听标签的变化并做出相应的页面隐藏/显示。因此,当您单击一个选项卡并且该选项卡跳转到包的前面时,TPageControl 应该隐藏当前页面窗口并显示与所选选项卡对应的页面窗口。
通常,VCL 控件在实际需要它之前不会创建它们的窗口句柄——例如,当它实际显示时。这减少了窗口句柄消耗。在 Windows 3.1 和 Win95 中至关重要,但在当今基于 NT 的 32 位操作系统中并不那么重要。
为了最大限度地减少资源负载和启动时间,TPageControl 在创建控件时不会为其所有隐藏页面创建窗口句柄。页面窗口句柄将在首次显示时创建。
单击选项卡时未绘制页面的原因有几种可能性:
关于Delphi TPageControl 没有响应点击选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242359/
我在主窗体上有一个带有 TPageControl 的应用程序。 pagecontrol 有几个选项卡。该应用程序可以最小化为托盘图标。有时在运行最小化一段时间后,当我恢复主窗口(通过鼠标右键单击托盘图
我的问题是我有一个 TPageControl,其中包含动态创建的多个选项卡,每个选项卡包含一个 (alClient) TMemo。当选项卡数量超过控件的宽度并且滚动箭头出现在选项卡标题上时,我的所有(
我被一个表现出一些奇怪行为的 TPageControl 困住了.. 该控件有 3 个页面,但是当我这样做时 for I:=0 to PageControl.PageCount-1 do begin
我想通过带有圆角的 TPagecontrols 来改善我的应用程序的外观,就像 DELPHI IDE 本身使用的圆角一样。我怎样才能做到这一点 ???? 最佳答案 Delphi IDE 使用 TTab
如何获取对象所在页面的编号?例如:第一页有Button1,第二页有Button2,如果没有ActivePageIndex,如何获取有Button1的页码?谢谢。 最佳答案 想要找到特定类的最近父类是很
我已经搜索和搜索,但没有找到示例。我想动态创建PageControl每个实例都有自己的偏移量TTabsheets .我没有收到来自 Delphi IDE 的任何投诉,但是我确实得到了: Access
我是 Delphi 新手(再次强调 - 我早在 1994 年就使用过 Delphi)。我现在有 Delphi 2009 Pro。 来自Java,我发现对象继承非常晦涩难懂。 我的用户想要选项卡位于左侧
我有这个表格: 绿色箭头:选项卡常规,我希望保持它始终可见,但是当表单小于选项卡时,TPageControl 会创建一个导航器(红色箭头)。 这很好,但我希望允许用户导航,但继续显示单击“常规”选项卡
在将软件开发从 VCL 框架工作更改为 Firemonkey 时,我无法理解 TPagecontrol 组件从良好的旧 VCL 框架中消失了。 我已经在我的表单上放置了一个 TTabControl 并
我希望将上下文菜单添加到 TPageControl 的(只是)选项卡,以区别于选项卡区域(例如,像 Delphi 那样提供文件/页面选项)。我知道我可以用 TRzPageControl 做到这一点,但
我正在使用页面控制组件,我需要添加一个按钮并单击它以转到指定页面。 请问我该怎么做? 最佳答案 向表单添加一个按钮并编写一个 OnClick 事件处理程序,如下所示: procedure TMyFor
当我向 TPageControl 的 OnChange 事件添加慢速代码时,我遇到了问题。 如果代码速度很快并且不需要花费很多时间,那就没问题。 但是,如果代码需要很长时间才能返回 +/- 0.5 到
我有一个应用程序,使用 TNotebook 在所示的不同子页面之间切换。 现在我必须稍微扩展此代码(即添加页面并更改大小)。 我被告知不应再使用 TNotebook。在 Delphi 的帮助中,我找到
我正在使用 Delphi 7 代码,以确保在用户切换选项卡之前已保存在选项卡上输入的注释。 这些选项卡位于 TPageControl ,并且此代码被触发 OnExit procedure TfCall
我正在尝试在 TPageControl 上使用 TLinkLabel,但找不到让它使用其父级背景的方法。 // Image removed because the website doesn't ex
我使用Delphi7,带有所有者绘制的PageControl。我无法获得如此简单且漂亮的选项卡外观,正如我在非所有者绘制的 PageControl 上看到的那样。有什么不好的:使用owner-draw
我需要 catch "OnMouseEnter"和 "0nMouseLeave"对于的某个区域TPageControl 组件 .对于那个特定区域,我的意思是 整个“标签页眉”矩形 . 问题是,页面控制
检查下面的图片! 如何在 TPageControl 内的两个 TGroupBox 之间放置 TSplitter? 我还尝试将 TGroupBox 包装在 TPanels 中,并将 TSplitter
我想在 PageControl 上实现一个关闭按钮,我也读过这个问题 How to implement a close button for a TTabsheet of a TPageControl
我有一个 VCL 表单,上面有五个选项卡 TPageControl。每个 TTabSheet 的内容都相当不相关,并且有很多单独的控件和处理逻辑...所以我想将其分解,以便更容易处理“仅该选项卡”的代
我是一名优秀的程序员,十分优秀!