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

Mik*_*aru 9 delphi delphi-7 wizard

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

这是两个连续形式的屏幕截图: 屏幕截图

我创建了一个过程,它将2个表单作为参数:将关闭的表单和向导的下一个表单

class Procedure Tspad.nextForm(showForm, closeForm: TForm);
begin
   closeForm.Close;
   showForm.Showmodal;
end;
Run Code Online (Sandbox Code Playgroud)

当我单击"下一步"按钮时,将执行以下代码:

Tspad.nextForm(echipContractForm, clientContractForm);
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,我按下"下一步"按钮,下一个表格apeares但是当前没有关闭.

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

Dav*_*nan 20

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

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


LaK*_*ven 14

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

是很多像一个形式,但它没有窗户自身,而是坐在一个内部主机表.

当与(正如David Heffernan建议的那样)a TPageControl或者甚至是a TNotebook(它完全相同TPageControl,只是它没有Tabs开头)时,你最终会得到一个易于维护的向导.

  • +1但是`TNotebook`有点奇怪.它看起来很遗憾,也许有点难用. (2认同)
  • 是的,它存在于D7中,很久以前也存在 (2认同)

小智 11

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