delphi 7 怎样制作一步步提示的界面

haochin 2009-06-17 02:17:08
delphi 7 怎样制作一步步提示的界面
类似安装程序、SQL SERVER 的DTS导入导出,某些软件的操作提示等。。

用什么控件?
怎样实现?
...全文
238 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjytiantang 2009-06-23
  • 打赏
  • 举报
回复
pagecontrol 一步一步来 也不错。。
grace_zou 2009-06-23
  • 打赏
  • 举报
回复
notebook不错,只要改变activepage,可以结合IF判断,刚用不久,觉 得不错
genispan 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Corn1 的回复:]
PageControl,隐藏标签就可以了(TabSheet.TabVisible = false)
然后切换页的时候,指定PageControl.ActivePageIndex就可以了。
[/Quote]
哈哈 我就是这么干的
tmanje 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 laihongbo524 的回复:]
用DELPHI自带的TNoteBook就可以了


[/Quote]
这个是最常用的
纯冰糖 2009-06-22
  • 打赏
  • 举报
回复
Win3.1面板上的Notebook组件即可

编辑添加Pages,Click Button事件里每次切换ActivePage即可。
向良玉 2009-06-22
  • 打赏
  • 举报
回复
panel1中“下一步”按钮的onclick事件的代码为:
panel2.showmodal;

panel2中“上一步”的按钮的代码为:
modalresult:=mrcancel;

panel2中“下一步”按钮的onclick事件的代码为:
panel3.showmodal;
.
.
.
所有窗体一样大就可以了,自己试试看吧
kevinzhaoyp 2009-06-21
  • 打赏
  • 举报
回复
PageControl,隐藏标签就可以了(TabSheet.TabVisible = false)
然后切换页的时候,指定PageControl.ActivePageIndex就可以了。
多好啊,设计时也方便。
laihongbo524 2009-06-21
  • 打赏
  • 举报
回复
用DELPHI自带的TNoteBook就可以了

dinoalex 2009-06-20
  • 打赏
  • 举报
回复
pagecontrol,利用它的indexpage改变
ITlover 2009-06-19
  • 打赏
  • 举报
回复
前段时间写了一个安装程序,觉得用notebook不错,上一步,下一步只要改变activepage属性值即可,初次使用的话,小心些就好(如果是用ctrl+v更要小心,别跑到其它页去了),你会喜欢它的.
Jack_Yin 2009-06-19
  • 打赏
  • 举报
回复
我用类似
if form1.showmodal = mrOK then form2.showmodal
其中 form1上有个按钮,一点就执行 form1.modalresult :=mrOk
mathsfan 2009-06-19
  • 打赏
  • 举报
回复
搞的有必要这么麻烦吗???
几句话的事情,哎...
motherffuucckkeerr 2009-06-19
  • 打赏
  • 举报
回复
或者不用线程 直接在控件事件里创建下一步要产生的事件!!
绝对是个好方法! 试试看吧 !
motherffuucckkeerr 2009-06-19
  • 打赏
  • 举报
回复
最好最快最省资源就是用THREAD类 动态创建 控件,然后事件自己写一个 比如 NEXT 事件!

procedure Mybutton1Onclick(Send: TObject);
begin
...
end;

Mybutton := TButton.Create(nil);
Mybutton.parent := form1;
Mybutton.OnClick := Mybutton1Onclick;


其它类似的控件采用这种方法搞顶咯!!
yuqianyi1974 2009-06-19
  • 打赏
  • 举报
回复
将tabsheet的属性tabvisible改为false
haochin 2009-06-19
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 shuihan20e 的回复:]
推荐PAGECONTROLS,隐藏上面的TAB
[/Quote]


上面的TAB怎么样隐藏??????

谢啦。
shuihan20e 2009-06-18
  • 打赏
  • 举报
回复
推荐PAGECONTROLS,隐藏上面的TAB
火龙岛主 2009-06-18
  • 打赏
  • 举报
回复
给你一个通用类:
unit FormGuide;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, Menus,
cxLookAndFeelPainters, StdCtrls, cxButtons, cxPC, cxControls, ExtCtrls,
jpeg;

type
TFormGuideCustom = class(TForm)
cxPageControlGuide: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxButton1: TcxButton;
ButtonPrior: TcxButton;
ButtonNext: TcxButton;
cxButtonExecute: TcxButton;
Image1: TImage;
procedure ButtonPriorClick(Sender: TObject);
procedure ButtonNextClick(Sender: TObject);
procedure cxButtonExecuteClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
FFinalExecute: boolean;
function GetStepIndex: integer;
protected
procedure MoveTo(Value: integer);
procedure SetButton;
public
constructor Create(AOwner: TComponent); override;
procedure Init; virtual;
procedure doExecute; virtual; abstract;
procedure Next; virtual;
procedure Prior; virtual;
property StepIndex: integer read GetStepIndex;
property FinalExecute: boolean read FFinalExecute write FFinalExecute default True;
end;

var
FormGuideCustom: TFormGuideCustom;

implementation

{$R *.dfm}

{ TFormGuideCustom }

procedure TFormGuideCustom.Init;
var
i: integer;
vPageCount: integer;
begin
vPageCount := cxPageControlGuide.PageCount;
if vPageCount >= 2 then
for i := vPageCount - 1 downto 1 do
cxPageControlGuide.Pages[i].TabVisible := false;
cxPageControlGuide.ActivePageIndex := 0;
SetButton;
end;

procedure TFormGuideCustom.MoveTo(Value: integer);
var
vIndex: integer;
begin
vIndex := cxPageControlGuide.ActivePageIndex + Value;
cxPageControlGuide.ActivePageIndex := vIndex;
cxPageControlGuide.Pages[vIndex].TabVisible := true;
cxPageControlGuide.Pages[vIndex - Value].TabVisible := false;
SetButton;
end;

procedure TFormGuideCustom.Next;
begin
MoveTo(1);
end;

procedure TFormGuideCustom.Prior;
begin
MoveTo(-1);
end;

procedure TFormGuideCustom.SetButton;
begin
ButtonPrior.Enabled := cxPageControlGuide.ActivePageIndex > 0;
ButtonNext.Enabled := (cxPageControlGuide.ActivePageIndex < (cxPageControlGuide.PageCount - 1));
if FFinalExecute then
cxButtonExecute.Enabled := not ButtonNext.Enabled
else
cxButtonExecute.Enabled := ButtonPrior.Enabled;
end;

procedure TFormGuideCustom.ButtonPriorClick(Sender: TObject);
begin
Prior;
end;

procedure TFormGuideCustom.ButtonNextClick(Sender: TObject);
begin
Next;
end;

procedure TFormGuideCustom.cxButtonExecuteClick(Sender: TObject);
begin
doExecute;
end;

procedure TFormGuideCustom.FormShow(Sender: TObject);
begin
Init;
end;

function TFormGuideCustom.GetStepIndex: integer;
begin
result := cxPageControlGuide.ActivePageIndex;
end;

constructor TFormGuideCustom.Create(AOwner: TComponent);
begin
inherited;
FFinalExecute := True;
end;

这里使用的是TcxPageControl,你可以直接换成TPageCotrol就可以了
zhaochanghua 2009-06-17
  • 打赏
  • 举报
回复
cnpack.org
好像有这个,可是没有用过!
不过赞成用pageControl
AsheBin 2009-06-17
  • 打赏
  • 举报
回复
不是有frame吗,设计好每一步,然后调就可以了。
加载更多回复(15)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧