很菜的问题!notebook 的用法是什么?(40分)

P

pop11

Unregistered / Unconfirmed
GUEST, unregistred user!
初学,遇到notebook不知怎么用,它和Tabset有什么关系?能不能举几个例子,谢谢!
 
不动你的意思
 
就是不知道notebook是做什么用的,能不能举个例子说明一下?
 
转别人的帖子
看看d2高级程序设计指南中的例子吧
在Delphi中,宣称对象和创建对象都是用指针来标识, 因此可用无类型指针进行指针传
递。 var
Pi : Pointer;
begin
Pi := Notebook1.Pages.Object[];
Memo.Parent := Pi;
end;
这样就可在TPage上动态创建编辑部件了。
  往Notebook1中动态生成页面时,页面应所相应的切换,TDynaPage. Notebook1.Tabset1有关的属性要作相应的调整。
TDynaPage的DynaAdd方法定义如下: procedure TDynaPage.DynaAdd(Sender:TNotebook;FileName:String);
var
Pi:pointer;
Memo:TMemo;
begin
Sender.Pages.add(FileName);
Pi:= Sender.Pages.Objects[Sender.Pages.Count-1];
DynaMemo(pi);
DynaPage.FileList.addObject(FileName,Memo1);
EditForm.TabSet1.Tabs := Sender.Pages;
EditForm.Tabset1.TabIndex:=Sender.Pages.Count-1;
EditForm.Notebook1.PageIndex := EditForm.Tabset1.TabIndex;
DynaPage.CurPage:= Sender.Pages.Count-1;
end;
procedure DynaMemo(Pi:pointer);
var
Memo:TMemo;
begin
Memo:=TMemo.Create(Pi);
Memo.Parent:=Pi;
Memo.Align:=alClient;
Memo.borderStyle:=bsNone;
Memo.HideSelection:=False;
Memo1:=Memo;
end;
procedure TDynaPage.Del(Sender:TNotebook;No:integer);
var
Pi:pointer;
begin
Sender.Pages.delete(No);
EditForm.TabSet1.Tabs.delete(No);
Filelist.Delete(No);
DynaPage.CurPage:=EditForm.TabSet1.TabIndex;
Sender.PageIndex := EditForm.Tabset1.TabIndex;
Pi:=FileList.Objects[DynaPage.CurPage];
Memo1:=Pi;
EditForm.Caption:=Sender.Pages.Strings[DynaPage.CurPage];
end;
end;
 
notebook和tabset一样,都可以提供多个页面。
但是notekook不提供用户选择页,
只能通过代码(notebook1.activepage := '...)
 
TO:mlzhou 你转过来的帖子能不能加点注释,有些看不懂,谢谢啦。
 
在窗体上新建一个TabControl1,在TabControl1中建立几个TABS,例如1,2,3
再在TabControl1上建立一个NOTEBOOK1
然后再在NOTEBOOK1的PAGES属性中建立几个PAGE,例如A,B,C
然后分别在A,B,C中建立一个BUTTON,则A,B,C分别对应的BUTTON是
BUTTON1在A中
BUTTON2在B中
BUTTON3在C中
在TabControl1的OnChange中写代码
notebook1.PageIndex:=tabcontrol1.TabIndex;
然后运行你的程序看看吧
 
顶部