- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前使用的是 Delphi 7。
我有一个主表单,它有一个带有 5 个选项卡的 PageControl。我正在寻找一种方法将这些选项卡从页面控件中“分离”,并将它们单独移动到一个新的表单(即运行时创建的)中。移动的工作表需要保留其所有组件(按钮、标签等),并且功能几乎与它在页面控件中的位置相同。
基本上,这个想法是,如果用户想要同时查看 2 个(或更多)页面,那么他/她可以将该工作表拖出表单区域,并为其创建一个新窗口。当用户完成后,使用 X 按钮关闭额外表单,工作表返回到页面控件中的原始位置。
只是为了额外的挑战:是否可以将此解决方案放入一个单独的单元中,以便可以调用它来在运行时“分离”任何控件? (按钮、编辑、列表框、图像等)?
谢谢!
托马斯
最佳答案
此处显示的方法与您的起始位置不同,但可能接近您的要求。
这个想法是使用一个空的 PageControl,在运行时在其上调整选项卡的速度。
每个选项卡都是一个基于祖先的自己的表单,这里的 TTemplate
将为 Dockcontrol 和 Pageindex 提供两个属性。ManualDock(PageControl)
可用于将其添加到 Pagecontrol,ManualDock(nil)
可用于将其从 Pagecontrol 中删除。
这里使用 CloseQuery 来重新停靠它并恢复 PageIndex。
在此示例中,DoubleClick 将取消固定表单。
填充Pagecontrol的示例:
procedure TDemoForm.FormCreate(Sender: TObject);
var
i:Integer;
begin
for I := 0 to 9 do
begin
With TTemplate.Create(self) do
begin
Color := Random(255*255);
MyDockControl := PageControl1;
DockTabIndex := i;
Ctl3d := false;
Caption := Format('Tab %d',[i]);
Show;
end;
end;
end;
以及模板草稿:
type
TTemplate = class(TForm)
Button1: TButton;
RadioGroup1: TRadioGroup;
procedure FormDblClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
FMyDockControl: TWinControl;
FDockTabIndex: Integer;
procedure SetMyDockControl(const Value: TWinControl);
procedure Redock;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
Property MyDockControl:TWinControl read FMyDockControl Write SetMyDockControl;
Property DockTabIndex:Integer read FDockTabIndex write FDockTabIndex;
end;
var
Template: TTemplate;
implementation
{$R *.dfm}
procedure TTemplate.Redock;
begin
if Assigned(MyDockControl) then ManualDock(MyDockControl);
if MyDockControl is TPageControl then
TPageControl(MyDockControl).Pages[TPageControl(MyDockControl).ActivePageIndex].PageIndex := DockTabIndex;
end;
procedure TTemplate.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := not Assigned(MyDockControl);
Redock;
end;
关于delphi - 在 PageControl 之间移动 TabSheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26909701/
在 Flutter 中,我无法将相同的 PageController 分配给多个 PageView。所以需要使用两个或多个 PageController。 我需要同步我的 ViewPage,这样当我互
在我的应用程序中,我想将 pagecontrol 可选页面(点)颜色更改为棕色而不是白色。 我知道可以更改页面控件的背景颜色。但是如何将可选页面(点)颜色更改为其他颜色? 最佳答案 UIPageCon
我想以编程方式将 UIPageControl 项添加到我的 View Controller 中。 self.view 属性包含一个具有以下属性的 UIScrollView: scrollView =
是否可以水平方向左对齐选项卡标题? 最佳答案 不确定您到底想要什么,但您可以将 OwnerDraw 属性设置为 True。并使用OnDrawTab事件自己绘制。 关于delphi - PageCont
我正在尝试将当前页面的点缩放为大于未“选择”的点。 我正在使用 ScrollView 委托(delegate)来确定哪个页面是当前的。 目前点的大小没有变化。 我将如何实现这一目标? func scr
http://apptech.next-munich.com/2010/04/customizing-uipagecontrols-looks.html 上面的网址中有一些用于自定义 UIPageCo
Delphi 7,带有选项卡的 TPageControl。如果我单击选项卡标题,它就会成为焦点(绘制虚线框)。这里不需要,我想始终保持选项卡内容的焦点(在页面控件内)。如何禁用选项卡标题上的焦点? 例
我的表单上有一个 PageControl,我希望检测用户何时选择另一个选项卡。 我该怎么做?我使用的是 Delphi 7。 我没有找到任何事件,浪费时间开发自己的页面控件并不完全是我打算做的。 最佳答
我正在寻找(我认为)可以在 TPageControl 组件的 OnDrawTab 事件中使用的 Windows API,以在我选择的选项卡上显示灰色文本。我过去曾经这样做过,根据内存,这就是我所做的(
Storyboard和 pageControl 作为页面 Controller 也呈现 View Controller 的序列有什么区别? 最佳答案 页面控件在 ScrollView 中添加多个 Vi
我正在尝试为 iOS Developer PageControl Sample 实现建议的优化。 .这是我在 PhoneContentController 中使用的代码: // A possible
我尝试在viewController中添加pageControl以显示当前页和总页。 我在viewController内有collectionView。但是如果我在 viewController 中添
我正在使用scrollview和pagecontroll来滚动某些内容。我使用了下面的代码,但我希望页面 Controller 的点显示在 View 上。我尝试将其放在所有 View 和 Scroll
我已经使用界面生成器向 titleView 添加了一个 pageControl。问题是它根本不居中。实际上,我可以在 leftBarButton 文本之后做很多空白,但这并不理想。解决方案是什么? 最
如果 pageControl.numberOfPages > 15 ,我想让我的 PageControl 显示两行 我已经搜索了pageContro 的所有功能,但没有找到任何功能可以处理这种情况。如
我正在尝试将当前页面的点缩放为大于未“选中”的点。 我正在使用 ScrollView 委托(delegate)来确定哪个页面是当前页面。 目前点的大小没有变化。 我将如何实现这一目标? func sc
我有 3 个页面 - A ViewController、B ViewController 和 C ViewController。 还有一个 PageViewController 控制水平滚动。 Pag
我正在使用 UIPageViewController 来显示其他 4 个 ViewController。所以我的 RootViewController 是一个 PageViewController ,
我似乎在 1 个屏幕上显示 2 个 PageView 时遇到问题。下面是我的应用程序:日历周时间轴是 PageView,它下面的内容也需要是 PageView。 现在两个 PageViews 都需要相
我目前使用的是 Delphi 7。 我有一个主表单,它有一个带有 5 个选项卡的 PageControl。我正在寻找一种方法将这些选项卡从页面控件中“分离”,并将它们单独移动到一个新的表单(即运行时创
我是一名优秀的程序员,十分优秀!