mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-23 08:41:38 +02:00
added taborder example
git-svn-id: trunk@6664 -
This commit is contained in:
parent
bef9bc5c13
commit
e96bcfac7c
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -631,6 +631,7 @@ examples/selectionform.pp svneol=native#text/pascal
|
||||
examples/speedtest.pp svneol=native#text/pascal
|
||||
examples/synchronize.pp svneol=native#text/pascal
|
||||
examples/synedit1.pas svneol=native#text/pascal
|
||||
examples/taborder.pas svneol=native#text/pascal
|
||||
examples/testall.pp svneol=native#text/pascal
|
||||
examples/testallform.pp svneol=native#text/pascal
|
||||
examples/testtools.inc svneol=native#text/pascal
|
||||
|
1390
examples/Makefile
1390
examples/Makefile
File diff suppressed because it is too large
Load Diff
@ -26,6 +26,7 @@ units=hello \
|
||||
scrollbar \
|
||||
speedtest \
|
||||
synedit1 \
|
||||
taborder \
|
||||
testall \
|
||||
toolbar \
|
||||
trackbar
|
||||
|
155
examples/taborder.pas
Normal file
155
examples/taborder.pas
Normal file
@ -0,0 +1,155 @@
|
||||
program TabOrder;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
Interfaces, Classes, SysUtils, Forms, Controls, Buttons, StdCtrls, ExtCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
NoteBook: TNotebook;
|
||||
Page1: TPage;
|
||||
Page2: TPage;
|
||||
Page3: TPage;
|
||||
CloseButton: TButton;
|
||||
Edit1: TEdit;
|
||||
Edit2: TEdit;
|
||||
Label1: TLabel;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
procedure WriteTabOrder;
|
||||
end;
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
constructor TForm1.Create(TheOwner: TComponent);
|
||||
|
||||
procedure CreatePage1;
|
||||
begin
|
||||
Label1:=TLabel.Create(Self);
|
||||
with Label1 do begin
|
||||
Name:='Label1';
|
||||
Parent:=Page1;
|
||||
SetBounds(10,10,250,Height);
|
||||
Caption:='TabOrder: First Edit below, then Edit above';
|
||||
end;
|
||||
|
||||
Edit1:=TEdit.Create(Self);
|
||||
with Edit1 do begin
|
||||
Name:='Edit1';
|
||||
Parent:=Page1;
|
||||
SetBounds(10,40,100,Height);
|
||||
end;
|
||||
|
||||
Edit2:=TEdit.Create(Self);
|
||||
with Edit2 do begin
|
||||
Name:='Edit2';
|
||||
Parent:=Page1;
|
||||
SetBounds(10,70,100,Height);
|
||||
end;
|
||||
|
||||
// define Taborder
|
||||
Edit2.TabStop:=true;
|
||||
Edit2.TabOrder:=0;
|
||||
Edit1.TabStop:=true;
|
||||
Edit1.TabOrder:=1;
|
||||
end;
|
||||
|
||||
procedure CreatePage2;
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure CreatePage3;
|
||||
begin
|
||||
end;
|
||||
|
||||
begin
|
||||
inherited Create(TheOwner);
|
||||
Name:='Form1';
|
||||
Position:=poScreenCenter;
|
||||
SetInitialBounds(0,0,400,300);
|
||||
|
||||
NoteBook:=TNotebook.Create(Self);
|
||||
with NoteBook do begin
|
||||
Name:='NoteBook';
|
||||
Parent:=Self;
|
||||
Align:=alTop;
|
||||
Height:=Parent.ClientHeight-40;
|
||||
|
||||
Pages.Add('Page1');
|
||||
Page1:=Page[0];
|
||||
Page1.Name:='Page1';
|
||||
|
||||
Pages.Add('Page2');
|
||||
Page2:=Page[1];
|
||||
Page2.Name:='Page2';
|
||||
|
||||
Pages.Add('Page3');
|
||||
Page3:=Page[2];
|
||||
Page3.Name:='Page3';
|
||||
|
||||
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||
PageIndex:=0;
|
||||
end;
|
||||
|
||||
CloseButton:=TButton.Create(Self);
|
||||
with CloseButton do begin
|
||||
Name:='CloseButton';
|
||||
Parent:=Self;
|
||||
Caption:='Close';
|
||||
Anchors:=[akRight,akBottom];
|
||||
SetBounds(Parent.ClientWidth-110,Parent.ClientHeight-35,100,Height);
|
||||
ModalResult:=mrCancel;
|
||||
end;
|
||||
|
||||
CreatePage1;
|
||||
CreatePage2;
|
||||
CreatePage3;
|
||||
|
||||
// define TabOrder
|
||||
CloseButton.TabStop:=true;
|
||||
CloseButton.TabOrder:=0;
|
||||
NoteBook.TabStop:=true;
|
||||
NoteBook.TabOrder:=1;
|
||||
Page1.TabStop:=true;
|
||||
Page1.TabOrder:=2;
|
||||
Page2.TabStop:=true;
|
||||
Page2.TabOrder:=3;
|
||||
Page3.TabStop:=true;
|
||||
Page3.TabOrder:=4;
|
||||
|
||||
WriteTabOrder;
|
||||
end;
|
||||
|
||||
procedure TForm1.WriteTabOrder;
|
||||
|
||||
procedure WriteTabOrderTree(const Prefix: string; AControl: TControl);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
write(Prefix,AControl.Name);
|
||||
if AControl is TWinControl then
|
||||
write(' TabOrder=',TWinControl(AControl).TabOrder,
|
||||
' TabStop=',TWinControl(AControl).TabStop);
|
||||
writeln('');
|
||||
if AControl is TWinControl then
|
||||
for i:=0 to TWinControl(AControl).ControlCount-1 do begin
|
||||
WriteTabOrderTree(Prefix+' ',TWinControl(AControl).Controls[i]);
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
WriteTabOrderTree('',Self);
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TForm1,Form1);
|
||||
Application.Run;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user