在delphi 7中创建一个向导界面

时间:2011-12-05 11:33:54

标签: delphi delphi-7 wizard

我正在使用delphi 7而我正在尝试创建一个向导界面。我不知道是否有更简单的方法来创建向导,所以我想为向导的每个步骤创建单独的表单,当用户单击“下一步”时,活动表单将关闭,下一个将打开。 / p>

以下是两个连续形式的屏幕截图:screen-shot

我制作了一个程序,将2个表单作为参数:将要关闭的表单和向导的下一个表单

class Procedure Tspad.nextForm(showForm, closeForm: TForm);
begin
   closeForm.Close;
   showForm.Showmodal;
end;

当我点击“下一步”按钮时,执行以下代码:

Tspad.nextForm(echipContractForm, clientContractForm);

当我运行该程序时,我按下“下一步”按钮,下一个表单就会出现,但是当然没有关闭。

我如何才能完成这项工作,还是有另一种更有效的方法来创建向导?

6 个答案:

答案 0 :(得分:20)

制作向导的一种非常常见的方法是使用页面控件。向导的每个不同页面都是页面控件中的不同页面/标签页。我相信这实际上是Windows实现向导的方式。

当然,您希望隐藏所有标签。通过为每个标签页设置TabVisibleFalse来执行此操作。当您希望通过向导向前和向后移动时,例如当用户点击下一个或上一个按钮时,请根据您的偏好设置ActivePageActivePageIndex来实现此效果。

答案 1 :(得分:14)

在单个表单上显示的内容划分的一个好方法是使用 Frames

Frame 很像一个表单,除了它没有自己的Window,而是位于主机表单中。

当与(如David Heffernan建议的那样)TPageControl甚至TNotebookTPageControl非常相同时)相结合时,只有它不会'有了以开头的标签符号),你最终得到了一个易于维护的向导。

答案 2 :(得分:11)

JVCL可以很好地控制以非常简单有效的方式创建向导(TJvWizard)。见http://jvcl.delphi-jedi.org/

答案 3 :(得分:3)

您可以试试这些:

答案 4 :(得分:2)

您可以测试一些可以帮助您完成此任务的组件(内部使用tPageControl或TNotebook)。见this link

问候。

答案 5 :(得分:0)

你也可以考虑TMS TAdvSmoothStepControl(不是免费的!)。 另一个解决方案,但只是程序的“外部”,是使用Inno Setup制作向导,即使是出于“非安装设置”的目的。

事实上,使用Inno Setup,您可以进行大量的思考(修改.ini文件和注册表,启动/停止程序...),这对于没有“安装”程序的向导非常有用。