mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 09:39:43 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1266 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			1266 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
{%mainunit testallform.pp}
 | 
						|
{
 | 
						|
 ***************************************************************************
 | 
						|
 *                                                                         *
 | 
						|
 *   This source is free software; you can redistribute it and/or modify   *
 | 
						|
 *   it under the terms of the GNU General Public License as published by  *
 | 
						|
 *   the Free Software Foundation; either version 2 of the License, or     *
 | 
						|
 *   (at your option) any later version.                                   *
 | 
						|
 *                                                                         *
 | 
						|
 *   This code is distributed in the hope that it will be useful, but      *
 | 
						|
 *   WITHOUT ANY WARRANTY; without even the implied warranty of            *
 | 
						|
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
 | 
						|
 *   General Public License for more details.                              *
 | 
						|
 *                                                                         *
 | 
						|
 *   A copy of the GNU General Public License is available on the World    *
 | 
						|
 *   Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also      *
 | 
						|
 *   obtain it by writing to the Free Software Foundation,                 *
 | 
						|
 *   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.   *
 | 
						|
 *                                                                         *
 | 
						|
 ***************************************************************************
 | 
						|
}
 | 
						|
 | 
						|
//******************************************************************************
 | 
						|
//                              TestTools.inc
 | 
						|
//******************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  { TArrDummy }
 | 
						|
 | 
						|
  TArrDummy = class
 | 
						|
    arr: TArrow;
 | 
						|
    procedure OnRgTypeClick(Sender: TObject);
 | 
						|
    procedure OnRgShadowClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
 | 
						|
procedure TArrDummy.OnRgTypeClick(Sender: TObject);
 | 
						|
begin
 | 
						|
  if not Assigned(arr) then Exit;
 | 
						|
  arr.ArrowType := TArrowType(TRadioGroup(Sender).ItemIndex);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TArrDummy.OnRgShadowClick(Sender: TObject);
 | 
						|
begin
 | 
						|
  if not Assigned(arr) then Exit;
 | 
						|
  arr.ShadowType := TShadowType(TRadioGroup(Sender).ItemIndex);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TForm1.TestArrow;
 | 
						|
var
 | 
						|
  arr: TArrow;
 | 
						|
  dummy: TArrDummy;
 | 
						|
  rgtype, rgshadow: TRadioGroup;
 | 
						|
begin
 | 
						|
  debugln('TForm1.TestArrow');
 | 
						|
  Clear;
 | 
						|
  arr := TArrow.Create(nil);
 | 
						|
  dummy := TArrDummy.Create;
 | 
						|
  dummy.arr := arr;
 | 
						|
  FObjList.Add(arr);
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  ConnectStandardEvents(arr);
 | 
						|
  arr.Top := 5;
 | 
						|
  arr.Left := 5;
 | 
						|
  arr.Width := 30;
 | 
						|
  arr.Height := 30;
 | 
						|
  arr.Color := clRed;
 | 
						|
  arr.Parent := TestPnl;
 | 
						|
  rgtype := TRadioGroup.Create(nil);
 | 
						|
  FObjList.Add(rgtype);
 | 
						|
  rgtype.Items.AddStrings(['atUp', 'atDown', 'atLeft', 'atRight']);
 | 
						|
  rgtype.ItemIndex := Ord(arr.ArrowType);
 | 
						|
  rgtype.OnClick := @dummy.OnRgTypeClick;
 | 
						|
  rgtype.Left := arr.Left;
 | 
						|
  rgtype.Top := arr.Top + arr.Height + 20;
 | 
						|
  rgtype.Caption := 'ArrowType';
 | 
						|
  rgtype.Parent := TestPnl;
 | 
						|
  rgtype.AutoSize := True;
 | 
						|
  rgshadow := TRadioGroup.Create(nil);
 | 
						|
  FobjList.Add(rgshadow);
 | 
						|
  rgshadow.Items.AddStrings(['stNone', 'stIn', 'stOut', 'stEtchedIn', 'stEtchedOut', 'stFilled']);
 | 
						|
  rgshadow.ItemIndex := Ord(arr.ShadowType);
 | 
						|
  rgshadow.OnClick := @dummy.OnRgShadowClick;
 | 
						|
  rgshadow.Left := rgtype.Left + rgtype.Width + 20;
 | 
						|
  rgshadow.Top := rgtype.Top;
 | 
						|
  rgshadow.Caption := 'ShadowType';
 | 
						|
  rgshadow.Parent := TestPnl;
 | 
						|
  rgshadow.AutoSize := True;
 | 
						|
 | 
						|
end;
 | 
						|
 | 
						|
type
 | 
						|
  { TBBDummy }
 | 
						|
  TBBDummy = class
 | 
						|
    B: TBitBtn;
 | 
						|
    procedure OnRgKindClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
{ TBBDummy }
 | 
						|
procedure TBBDummy.OnRgKindClick(Sender: TObject);
 | 
						|
begin
 | 
						|
  if not assigned(B) then Exit;
 | 
						|
  B.Kind := TBitBtnKind(TRadioGroup(Sender).ItemIndex);
 | 
						|
  B.ModalResult := mrNone;
 | 
						|
  if (B.Kind = bkCustom) then
 | 
						|
  begin
 | 
						|
    B.LoadGlyphFromResourceName(hInstance,'default');
 | 
						|
    B.Caption := 'Custom';
 | 
						|
  end;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TForm1.TestBitBtn;
 | 
						|
var
 | 
						|
  Btn: TBitBtn;
 | 
						|
  dummy: TBBDummy;
 | 
						|
  rg: TRadioGroup;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  Btn := TBitBtn.Create(nil);
 | 
						|
  dummy := TBBDummy.Create;
 | 
						|
  rg := TRadioGroup.Create(nil);
 | 
						|
  FObjList.Add(Btn);
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  FObjList.Add(rg);
 | 
						|
  ConnectStandardEvents(Btn);
 | 
						|
  dummy.B := Btn;
 | 
						|
  Btn.Kind := bkOk;
 | 
						|
  Btn.ModalResult := mrNone;
 | 
						|
  Btn.AutoSize := True;
 | 
						|
  rg.Items.AddStrings(['bkCustom', 'bkOK', 'bkCancel', 'bkHelp', 'bkYes', 'bkNo',
 | 
						|
                 'bkClose', 'bkAbort', 'bkRetry', 'bkIgnore', 'bkAll',
 | 
						|
                 'bkNoToAll', 'bkYesToAll']);
 | 
						|
  rg.AutoSize := True;
 | 
						|
  rg.ItemIndex := Ord(Btn.Kind);
 | 
						|
  rg.OnClick := @dummy.OnRgKindClick;
 | 
						|
  Btn.Top := 10;
 | 
						|
  Btn.Left := 5;
 | 
						|
  rg.Top := Btn.Top + Btn.Height + 20;
 | 
						|
  rg.Left := Btn.Left;
 | 
						|
  Btn.Parent := TestPnl;
 | 
						|
  rg.Parent := TestPnl;
 | 
						|
end;
 | 
						|
 | 
						|
{---------------- TButton; ----------------}
 | 
						|
type
 | 
						|
  { TButDummy }
 | 
						|
  TButDummy = class
 | 
						|
    Btn: TButton;
 | 
						|
    Tm: TTimer;
 | 
						|
    OldClick: TNotifyEvent;
 | 
						|
    procedure OnTimer(Sender: TObject);
 | 
						|
    procedure OnBtnClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
{ TButDummy }
 | 
						|
procedure TButDummy.OnTimer(Sender: TObject);
 | 
						|
var
 | 
						|
  PW, PH, BW, BH: Integer;
 | 
						|
begin
 | 
						|
  if not Assigned(Btn) then Exit;
 | 
						|
  if not Assigned(Btn.Parent) then Exit;
 | 
						|
  PW := Btn.Parent.Width;
 | 
						|
  PH := Btn.Parent.Height;
 | 
						|
  BW := Btn.Width;
 | 
						|
  BH := Btn.Height;
 | 
						|
  Btn.Left := Random(PW-BW);
 | 
						|
  Btn.Top := Random(PH-BH);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TButDummy.OnBtnClick(Sender: TObject);
 | 
						|
begin
 | 
						|
  OldClick(Sender);
 | 
						|
  if Tm.Enabled then
 | 
						|
  begin
 | 
						|
    OnTimer(Sender); //move the button first
 | 
						|
    Btn.Caption := Btn.Caption + '...';
 | 
						|
    Tm.Interval := Tm.Interval - 100;
 | 
						|
    if Tm.Interval < 500 then
 | 
						|
    begin
 | 
						|
      Tm.Enabled := False;
 | 
						|
      Btn.Caption := 'Stop hitting me!';
 | 
						|
    end;
 | 
						|
  end
 | 
						|
  else
 | 
						|
  begin
 | 
						|
    ShowMessage('I told you NOT to hit me!'^m^m'Game''s over!');
 | 
						|
    Btn.Enabled := False;
 | 
						|
  end;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TForm1.TestButton;
 | 
						|
var
 | 
						|
  Btn: TButton;
 | 
						|
  Tm: TTimer;
 | 
						|
  dummy: TButDummy;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  Btn := TButton.Create(nil);
 | 
						|
  Tm := TTimer.Create(nil);
 | 
						|
  dummy := TButDummy.Create;
 | 
						|
  FObjList.Add(Btn);
 | 
						|
  FObjList.Add(Tm);  //Add it after Btn, so Tm will be destroyed before Btn!
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  dummy.Btn := Btn;
 | 
						|
  dummy.Tm := Tm;
 | 
						|
  Btn.Caption := 'Click me ...';
 | 
						|
  Btn.AutoSize := True;
 | 
						|
  Btn.Top := 10;
 | 
						|
  Btn.Left := 5;
 | 
						|
  Btn.Cursor := crCross;
 | 
						|
  ConnectStandardEvents(Btn);
 | 
						|
  dummy.OldClick := Btn.OnClick;
 | 
						|
  Btn.OnClick := @dummy.OnBtnClick;
 | 
						|
 | 
						|
  Btn.Parent := TestPnl;
 | 
						|
  Tm.Interval := 1000;
 | 
						|
  Tm.OnTimer := @dummy.OnTimer;
 | 
						|
  Tm.Enabled := True;
 | 
						|
end;
 | 
						|
{---------------- End of TButton; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TButtonpanel; ----------------}
 | 
						|
type
 | 
						|
  { TBPDummy }
 | 
						|
  TBPDummy = class
 | 
						|
    bp: TButtonPanel;
 | 
						|
    cg: TCheckGroup;
 | 
						|
    rg: TRadioGroup;
 | 
						|
    procedure OnCgItemClick(Sender: TObject; Index: integer);
 | 
						|
    procedure OnRgClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
 | 
						|
procedure TBPDummy.OnCgItemClick(Sender: TObject; Index: integer);
 | 
						|
var
 | 
						|
  b: TPanelButton;
 | 
						|
begin
 | 
						|
  if not assigned(bp) then Exit;
 | 
						|
  b := TPanelButton(Index);
 | 
						|
  if cg.Checked[Index] then
 | 
						|
  begin
 | 
						|
    bp.ShowButtons := bp.ShowButtons + [b];
 | 
						|
  end
 | 
						|
  else
 | 
						|
  begin
 | 
						|
    bp.ShowButtons := bp.ShowButtons - [b];
 | 
						|
  end;
 | 
						|
  if Assigned(bp.CloseButton) then bp.CloseButton.ModalResult := mrNo;
 | 
						|
end;
 | 
						|
 | 
						|
procedure TBPDummy.OnRgClick(Sender: TObject);
 | 
						|
begin
 | 
						|
  if not assigned(bp) then Exit;
 | 
						|
  bp.ButtonOrder := TButtonOrder(rg.ItemIndex);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TForm1.TestButtonpanel;
 | 
						|
var
 | 
						|
  bp: TButtonPanel;
 | 
						|
  cg: TCheckGroup;
 | 
						|
  b: TPanelButton;
 | 
						|
  dummy: TBPDummy;
 | 
						|
  rg: TRadioGroup;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  bp := TButtonPanel.Create(nil);
 | 
						|
  cg := TCheckGroup.Create(nil);
 | 
						|
  rg := TRadioGroup.Create(nil);
 | 
						|
  dummy := TBPDummy.Create;
 | 
						|
  FObjList.Add(bp);
 | 
						|
  FObjList.Add(cg);
 | 
						|
  FObjList.Add(rg);
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  dummy.bp := bp;
 | 
						|
  dummy.cg := cg;
 | 
						|
  dummy.rg := rg;
 | 
						|
  if assigned(bp.CloseButton) then bp.CloseButton.ModalResult := mrNO; //otherwise it will close the application
 | 
						|
  ConnectStandardEvents(bp);
 | 
						|
  ConnectStandardEvents(bp.OKButton);
 | 
						|
  ConnectStandardEvents(bp.CancelButton);
 | 
						|
  ConnectStandardEvents(bp.CloseButton);
 | 
						|
  ConnectStandardEvents(bp.HelpButton);
 | 
						|
  cg.Items.AddStrings(['pbOK','pbCancel','pbClose','pbHelp']);
 | 
						|
  for b := Low(TPanelButton) to High(TPanelButton) do
 | 
						|
    if (b in bp.ShowButtons) then cg.Checked[Ord(b)] := True;
 | 
						|
  cg.OnItemClick := @dummy.OnCgItemClick;
 | 
						|
  cg.AutoSize := True;
 | 
						|
  cg.Caption := 'ShowButtons';
 | 
						|
  bp.Parent := TestPnl;
 | 
						|
  cg.Left := 5;
 | 
						|
  cg.Top := 20;
 | 
						|
  cg.Parent := TestPnl;
 | 
						|
  rg.Items.AddStrings(['boDefault', 'boCloseCancelOK', 'boCloseOKCancel']);
 | 
						|
  rg.ItemIndex := Ord(bp.ButtonOrder);
 | 
						|
  rg.Caption := 'ButtonOrder';
 | 
						|
  rg.Autosize := True;
 | 
						|
  rg.OnClick := @dummy.OnRgClick;
 | 
						|
  rg.Left := cg.Left + cg.Width + 20;
 | 
						|
  rg.Top := cg.Top;
 | 
						|
  rg.Parent := TestPnl;
 | 
						|
 | 
						|
end;
 | 
						|
{---------------- End of TButtonpanel; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCalcedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCalcedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCalcedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCalendar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCalendar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCalendar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCheckbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCheckbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCheckbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCheckcombobox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCheckcombobox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCheckcombobox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCheckgroup; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCheckgroup;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCheckgroup; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TChecklistbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestChecklistbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TChecklistbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TColorbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestColorbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TColorbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TColorbutton; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestColorbutton;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TColorbutton; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TColorlistbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestColorlistbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TColorlistbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCombobox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCombobox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCombobox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TComboboxex; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestComboboxex;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TComboboxex; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TControlbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestControlbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TControlbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TCoolbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCoolbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TCoolbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TDateedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestDateedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TDateedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TDirectoryedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestDirectoryedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TDirectoryedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TEdit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestEdit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TEdit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TEditbutton; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestEditbutton;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TEditbutton; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TFilelistbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFilelistbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TFilelistbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TFilenameedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFilenameedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TFilenameedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TFiltercombobox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFiltercombobox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TFiltercombobox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TFloatspinedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFloatspinedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TFloatspinedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TGroupbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestGroupbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TGroupbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- THeadercontrol; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestHeadercontrol;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of THeadercontrol; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TImage; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestImage;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TImage; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TLabel; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestLabel;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TLabel; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TLabelededit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestLabelededit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TLabelededit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TListbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestListbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TListbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TListview; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestListview;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TListview; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TMaskedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestMaskedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TMaskedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TMemo; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestMemo;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TMemo; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TNotebook; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestNotebook;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TNotebook; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TPagecontrol; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestPagecontrol;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TPagecontrol; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TPaintbox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestPaintbox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TPaintbox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TPanel; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestPanel;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TPanel; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TProgressbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestProgressbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TProgressbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TRadiobutton; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestRadiobutton;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TRadiobutton; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TRadiogroup; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestRadiogroup;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TRadiogroup; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TShape; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestShape;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TShape; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TShelllistview; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestShelllistview;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TShelllistview; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TShelltreeview; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestShelltreeview;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TShelltreeview; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TSpeedbutton; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestSpeedbutton;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TSpeedbutton; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TSpinedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestSpinedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TSpinedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TSplitter; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestSplitter;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TSplitter; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TStacTictext; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestStacTictext;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TStacTictext; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TStatusbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestStatusbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TStatusbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TStringgrid; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestStringgrid;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TStringgrid; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTabcontrol; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTabcontrol;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTabcontrol; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTimeedit; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTimeedit;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTimeedit; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTimer; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTimer;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTimer; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTogglebox; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTogglebox;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTogglebox; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TToolbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestToolbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TToolbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTrackbar; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTrackbar;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTrackbar; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TTreeview; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestTreeview;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TTreeview; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TUpdown; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestUpdown;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TUpdown; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- TValuelisteditor; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestValuelisteditor;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of TValuelisteditor; ---------}
 | 
						|
 | 
						|
{---------------------------  End of Components -------------------------}
 | 
						|
 | 
						|
 | 
						|
{--------------------------- Start of Dialogs ---------------------------}
 | 
						|
 | 
						|
const
 | 
						|
  MsgDlgBtnStr: array[TMsgDlgBtn] of String = (
 | 
						|
    'mbYes', 'mbNo', 'mbOK', 'mbCancel', 'mbAbort', 'mbRetry', 'mbIgnore',
 | 
						|
    'mbAll', 'mbNoToAll', 'mbYesToAll', 'mbHelp', 'mbClose'
 | 
						|
    );
 | 
						|
  MsgDlgTypeStr: array[TMsgDlgType] of String = (
 | 
						|
    'mtWarning', 'mtError', 'mtInformation',
 | 
						|
    'mtConfirmation', 'mtCustom'
 | 
						|
    );
 | 
						|
 | 
						|
function ModalResultToStr(Mr: TModalResult): String;
 | 
						|
begin
 | 
						|
  case Mr of
 | 
						|
    mrNone: Result :=  'mrNone';
 | 
						|
    mrOK: Result :=  'mrOK';
 | 
						|
    mrCancel: Result :=  'mrCancel';
 | 
						|
    mrAbort: Result :=  'mrAbort';
 | 
						|
    mrRetry: Result :=  'mrRetry';
 | 
						|
    mrIgnore: Result :=  'mrInore';
 | 
						|
    mrYes: Result :=  'mrYes';
 | 
						|
    mrNo: Result :=  'mrNo';
 | 
						|
    mrAll: Result :=  'mrAll';
 | 
						|
    mrNoToAll: Result :=  'mrNoToAll';
 | 
						|
    mrYesToAll: Result :=  'mrYesToAll';
 | 
						|
    mrClose: Result :=  'mrClose';
 | 
						|
    else Result := IntToStr(Mr);
 | 
						|
  end;
 | 
						|
end;
 | 
						|
 | 
						|
{---------------- MessageDialog; ----------------}
 | 
						|
 | 
						|
type
 | 
						|
  { TMsgDlgDummmy }
 | 
						|
  TMsgDlgDummmy = class
 | 
						|
    ed: TEdit;
 | 
						|
    cg: TCheckGroup;
 | 
						|
    rg: TRadioGroup;
 | 
						|
    btn: TButton;
 | 
						|
    lbl: TLabel;
 | 
						|
    procedure OnBtnClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
{ TMsgDlgDummmy }
 | 
						|
procedure TMsgDlgDummmy.OnBtnClick(Sender: TObject);
 | 
						|
var
 | 
						|
  DT: TMsgDlgType;
 | 
						|
  Btns: TMsgDlgButtons;
 | 
						|
  i: Integer;
 | 
						|
  aMsg: TCaption;
 | 
						|
  Res: TModalResult;
 | 
						|
begin
 | 
						|
  DT := TMsgDlgType(rg.ItemIndex);
 | 
						|
  aMsg := ed.Text;
 | 
						|
  if (aMsg = '')
 | 
						|
    then aMsg := 'You did not enter a message';
 | 
						|
  Btns := [];
 | 
						|
  for i := 0 to cg.Items.Count - 1 do
 | 
						|
  begin
 | 
						|
    if cg.Checked[i] then
 | 
						|
      Btns := Btns + [TMsgDlgBtn(i)];
 | 
						|
  end;
 | 
						|
  if (Btns = []) then
 | 
						|
    Btns := [mbOk];
 | 
						|
  Res := MessageDlg('MessageDlg test', aMsg, DT, Btns, 0);
 | 
						|
  lbl.Caption := 'Dialog result = ' + ModalResultToStr(Res);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TForm1.TestMessageDialog;
 | 
						|
var
 | 
						|
  ed: TEdit;
 | 
						|
  cg: TCheckGroup;
 | 
						|
  rg: TRadioGroup;
 | 
						|
  dummy: TMsgDlgDummmy;
 | 
						|
  lbl: TLabel;
 | 
						|
  btn: TButton;
 | 
						|
  mdbtn: TMsgDlgBtn;
 | 
						|
  mdt: TMsgDlgType;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  ed := TEdit.Create(nil);
 | 
						|
  cg := TCheckGroup.Create(nil);
 | 
						|
  rg := TRadioGroup.Create(nil);
 | 
						|
  btn := TButton.Create(nil);
 | 
						|
  lbl := TLabel.Create(nil);
 | 
						|
  dummy := TMsgDlgDummmy.Create;
 | 
						|
  FObjList.Add(ed);
 | 
						|
  FObjList.Add(cg);
 | 
						|
  FObjList.Add(rg);
 | 
						|
  FObjList.Add(btn);
 | 
						|
  FObjList.Add(lbl);
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  dummy.ed := ed;
 | 
						|
  dummy.cg := cg;
 | 
						|
  dummy.rg := rg;
 | 
						|
  dummy.lbl := lbl;
 | 
						|
  btn.OnClick := @dummy.OnBtnClick;
 | 
						|
 | 
						|
  ed.TextHint := 'Type your message here';
 | 
						|
  ed.Parent := TestPnl;
 | 
						|
 | 
						|
  cg.Caption := 'Buttons';
 | 
						|
  for mdbtn := Low(TMsgDlgBtn) to High(TMsgDlgBtn) do
 | 
						|
    cg.Items.Add(MsgDlgBtnStr[mdbtn]);
 | 
						|
  cg.AutoSize := True;
 | 
						|
  cg.Parent := TestPnl;
 | 
						|
 | 
						|
  rg.Caption := 'DialogType';
 | 
						|
  for mdt := Low(TMsgDlgType) to high(TMsgDlgType) do
 | 
						|
    rg.items.Add(MsgDlgTypeStr[mdt]);
 | 
						|
  rg.AutoSize := True;
 | 
						|
  rg.ItemIndex := Ord(mtInformation);
 | 
						|
  ed.Left := 5;
 | 
						|
  ed.Top := 10;
 | 
						|
  ed.Width := TestPnl.Width - 2*5;
 | 
						|
  cg.Left := 5;
 | 
						|
  cg.Top := ed.Top + ed.Height + 10;
 | 
						|
  rg.Left := cg.Left + cg.Width + 20;
 | 
						|
  rg.Top := cg.Top;
 | 
						|
  rg.Parent := TestPnl;
 | 
						|
 | 
						|
  btn.Caption := 'Show dialog';
 | 
						|
  btn.AutoSize := True;
 | 
						|
  btn.Top := rg.Top + rg.Height + 20;
 | 
						|
  btn.Left := rg.Left;
 | 
						|
  btn.Parent := TestPnl;
 | 
						|
 | 
						|
  lbl.Caption := '';
 | 
						|
  lbl.Top := btn.Top + btn.Height + 20;
 | 
						|
  lbl.Left := btn.Left;
 | 
						|
  lbl.Parent := TestPnl;
 | 
						|
end;
 | 
						|
{---------------- End of MessageDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- CalculatorDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCalculatorDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of CalculatorDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- CalendarDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestCalendarDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of CalendarDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- ColorDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestColorDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of ColorDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- FindDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFindDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of FindDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- FontDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestFontDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of FontDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- OpenDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestOpenDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of OpenDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- OpenpictureDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestOpenpictureDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of OpenpictureDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- ReplaceDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestReplaceDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of ReplaceDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- SaveDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestSaveDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of SaveDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- SavepictureDialog; ----------------}
 | 
						|
 | 
						|
procedure TForm1.TestSavepictureDialog;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
end;
 | 
						|
{---------------- End of SavepictureDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- SelectdirectoryDialog; ----------------}
 | 
						|
type
 | 
						|
{ TSelDirDlgDummmy }
 | 
						|
 TSelDirDlgDummy = class
 | 
						|
  cg : TCheckGroup;
 | 
						|
  btn: TButton;
 | 
						|
  ed: TEdit;
 | 
						|
  lbl: TLabel;
 | 
						|
  Sdd: TSelectDirectoryDialog;
 | 
						|
  Procedure OnBtnClick(sender:TObject);
 | 
						|
end;
 | 
						|
 | 
						|
procedure TSelDirDlgDummy.OnBtnClick(sender: TObject);
 | 
						|
var
 | 
						|
  Opts:TOpenOptions;
 | 
						|
  i: Integer;
 | 
						|
begin
 | 
						|
  Opts:= [];
 | 
						|
  for i := 0 to cg.Items.Count - 1 do
 | 
						|
    if cg.Checked[i] then
 | 
						|
       Opts := Opts + [TOpenOption(i)];
 | 
						|
  if Opts = [] then
 | 
						|
    Opts := sdd.Options;
 | 
						|
  sdd.Options:=Opts;
 | 
						|
  if sdd.Execute then
 | 
						|
    lbl.Caption := 'Selected: ' + {ExtractFileDir}(sdd.FileName)
 | 
						|
  else
 | 
						|
    lbl.Caption := 'Dialog was canceled';
 | 
						|
end;
 | 
						|
 | 
						|
 | 
						|
procedure TForm1.TestSelectdirectoryDialog;
 | 
						|
var
 | 
						|
  dummy: TSelDirDlgDummy;
 | 
						|
  cg : TCheckGroup;
 | 
						|
  btn: TButton;
 | 
						|
  ed: TEdit;
 | 
						|
  lbl:TLabel;
 | 
						|
  Sdd: TSelectDirectoryDialog;
 | 
						|
  i: Integer;
 | 
						|
  opt: TOpenOption;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  ed := TEdit.Create(nil);
 | 
						|
  sdd := TSelectDirectoryDialog.Create(nil);
 | 
						|
  btn := TButton.Create(nil);
 | 
						|
  cg := TCheckGroup.Create(nil);
 | 
						|
  lbl := TLabel.Create(nil);
 | 
						|
  FObjList.Add(ed);
 | 
						|
  FObjList.Add(sdd);
 | 
						|
  FObjList.Add(btn);
 | 
						|
  FObjList.Add(cg);
 | 
						|
  FObjList.Add(lbl);
 | 
						|
  dummy := TSelDirDlgDummy.Create;
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  dummy.ed := ed;
 | 
						|
  dummy.Sdd := Sdd;
 | 
						|
  dummy.btn := btn;
 | 
						|
  dummy.cg :=cg;
 | 
						|
  dummy.lbl := lbl;
 | 
						|
 | 
						|
  ed.TextHint := 'Enter a Start-Directory here';
 | 
						|
  ed.Parent := TestPnl;
 | 
						|
  ed.Top:=7;
 | 
						|
  ed.left:=5;
 | 
						|
  ed.width := TestPnl.Width - 120;
 | 
						|
  ed.Anchors:=ed.Anchors + [akRight];
 | 
						|
 | 
						|
  btn.Caption:= 'Select Directory';
 | 
						|
  btn.AutoSize:=true;
 | 
						|
  btn.Top:=ed.top -2;
 | 
						|
  btn.left:=ed.Left + ed.Width + 4;
 | 
						|
  btn.parent := TestPnl;
 | 
						|
  btn.onclick := @dummy.OnBtnClick;
 | 
						|
  btn.Anchors:=ed.Anchors + [akRight]-[akLeft];
 | 
						|
 | 
						|
  for opt := Low(TOpenOption) to High(TOpenOption) do
 | 
						|
    cg.Items.Add(DbgS(opt));
 | 
						|
  cg.Caption := 'OpenOptions';
 | 
						|
  cg.ColumnLayout:=clVerticalThenHorizontal;
 | 
						|
  cg.Columns:=2;
 | 
						|
  cg.Parent := TestPnl;
 | 
						|
  cg.Left := 5;
 | 
						|
  cg.AutoSize := True;
 | 
						|
  cg.Top := btn.Top + btn.Height + 10;
 | 
						|
  cg.Anchors:=cg.Anchors + [akRight,akBottom];
 | 
						|
  for i := 0 to cg.Items.Count - 1 do
 | 
						|
    cg.Checked[i]:= TOpenOption(i) in sdd.Options;
 | 
						|
 | 
						|
  lbl.Top := cg.Top + cg.Height + 10;
 | 
						|
  lbl.Left := cg.Left;
 | 
						|
  lbl.Caption := '';
 | 
						|
  lbl.Parent := TestPnl;
 | 
						|
end;
 | 
						|
{---------------- End of SelectdirectoryDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
{---------------- QuesionDialog; ----------------}
 | 
						|
type
 | 
						|
  TQRange = 1..3;
 | 
						|
const
 | 
						|
  QAnsStrings: array[TQRange] of String = (
 | 
						|
    'Appels', 'Pears', 'Programmers');
 | 
						|
  QAnsResults: array[TQRange] of Integer = (
 | 
						|
    -1, -2, -3);
 | 
						|
type
 | 
						|
  { TQuesionDlgDummmy }
 | 
						|
  TQuesionDlgDummmy = class
 | 
						|
    qed, a1ed, a2ed, a3ed: TEdit;
 | 
						|
    rg: TRadioGroup;
 | 
						|
    btn: TButton;
 | 
						|
    lbl: TLabel;
 | 
						|
    procedure OnBtnClick(Sender: TObject);
 | 
						|
  end;
 | 
						|
 | 
						|
procedure TQuesionDlgDummmy.OnBtnClick(Sender: TObject);
 | 
						|
var
 | 
						|
  DT: TMsgDlgType;
 | 
						|
  aMsg: TCaption;
 | 
						|
  Res: TModalResult;
 | 
						|
  Ans: Array[TQRange] of String;
 | 
						|
  i: TQRange;
 | 
						|
begin
 | 
						|
  DT := TMsgDlgType(rg.ItemIndex);
 | 
						|
  aMsg := qed.Text;
 | 
						|
  Ans[1] := a1ed.Text;
 | 
						|
  Ans[2] := a2ed.Text;
 | 
						|
  Ans[3] := a3ed.Text;
 | 
						|
  if (aMsg = '') then
 | 
						|
  begin
 | 
						|
    if (Ans[1]='') and (Ans[2]='') and (Ans[3]='') then
 | 
						|
    begin
 | 
						|
      aMsg := 'Which fruit do you prefer?';
 | 
						|
      for i := Low(TQRange) to High(TQRange) do Ans[i] := QAnsStrings[i];
 | 
						|
    end
 | 
						|
    else
 | 
						|
      aMsg := 'The question is undefined: answer as best as you can anyway ...';
 | 
						|
  end;
 | 
						|
  for i := Low(TQRange) to High(TQRange) do
 | 
						|
    if (Ans[i] = '') then Ans[i] := Format('Undefined answer [%d]',[i]);
 | 
						|
  //Res := QuestionDlg('QuestionDlg test', aMsg, DT, [mrYes,'&Yes','isDefault',mrNo, '&No'], 0);
 | 
						|
  Res := QuestionDlg('QuestionDlg test', aMsg, DT,
 | 
						|
                     [QAnsResults[1], Ans[1],
 | 
						|
                      QAnsResults[2], Ans[2],
 | 
						|
                      QAnsResults[3], Ans[3] ], 0);
 | 
						|
  if (-Res in [-QAnsResults[Low(QAnsResults)]..-QAnsResults[High(QAnsResults)]]) then
 | 
						|
    lbl.Caption := Format('You chose: "%s"',[Ans[-Res]])
 | 
						|
  else
 | 
						|
    lbl.Caption := 'You chose nothing';
 | 
						|
end;
 | 
						|
 | 
						|
 | 
						|
procedure TForm1.TestQuestionDialog;
 | 
						|
var
 | 
						|
  dummy: TQuesionDlgDummmy;
 | 
						|
  qed, a1ed, a2ed, a3ed: TEdit;
 | 
						|
  btn: TButton;
 | 
						|
  rg: TRadioGroup;
 | 
						|
  mdt: TMsgDlgType;
 | 
						|
  lbl: TLabel;
 | 
						|
begin
 | 
						|
  Clear;
 | 
						|
  qed := TEdit.Create(nil);
 | 
						|
  a1ed := TEdit.Create(nil);
 | 
						|
  a2ed := TEdit.Create(nil);
 | 
						|
  a3ed := TEdit.Create(nil);
 | 
						|
  rg := TRadioGroup.Create(nil);
 | 
						|
  btn := TButton.Create(nil);
 | 
						|
  lbl := TLabel.Create(nil);
 | 
						|
  FObjList.Add(btn);
 | 
						|
  FObjList.Add(qed);
 | 
						|
  FObjList.Add(a1ed);
 | 
						|
  FObjList.Add(a2ed);
 | 
						|
  FObjList.Add(a3ed);
 | 
						|
  FObjList.Add(rg);
 | 
						|
  FObjList.Add(lbl);
 | 
						|
  dummy := TQuesionDlgDummmy.Create;
 | 
						|
  FObjList.Add(dummy);
 | 
						|
  dummy.qed := qed;
 | 
						|
  dummy.a1ed := a1ed;
 | 
						|
  dummy.a2ed := a2ed;
 | 
						|
  dummy.a3ed := a3ed;
 | 
						|
  dummy.btn := btn;
 | 
						|
  dummy.rg := rg;
 | 
						|
  dummy.lbl := lbl;
 | 
						|
  qed.TextHint := 'Type your question here';
 | 
						|
  qed.Left := 5;
 | 
						|
  qed.Top := 10;
 | 
						|
  qed.Width := TestPnl.Width - 2*5;
 | 
						|
  qed.Parent := TestPnl;
 | 
						|
 | 
						|
  a1ed.Left := qed.Left;
 | 
						|
  a1ed.Width := qed.Width;
 | 
						|
  a1ed.Top := qed.Top + qed.Height + 10;
 | 
						|
  a1ed.MaxLength := 40;
 | 
						|
  //a1ed.Text := QAnsStrings[1];
 | 
						|
  a1ed.TextHint := 'Type the first answer here';
 | 
						|
  a1ed.Parent := TestPnl;
 | 
						|
 | 
						|
  a2ed.Left := a1ed.Left;
 | 
						|
  a2ed.Width := qed.Width;
 | 
						|
  a2ed.Top := a1ed.Top + a1ed.Height + 10;
 | 
						|
  a2ed.MaxLength := 40;
 | 
						|
  //a2ed.Text := QAnsStrings[2];
 | 
						|
  a2ed.TextHint := 'Type the second answer here';
 | 
						|
  a2ed.Parent := TestPnl;
 | 
						|
 | 
						|
  a3ed.Left := a2ed.Left;
 | 
						|
  a3ed.Width := qed.Width;
 | 
						|
  a3ed.Top := a2ed.Top + a2ed.Height + 10;
 | 
						|
  a3ed.MaxLength := 40;
 | 
						|
  //a3ed.Text := QAnsStrings[3];
 | 
						|
  a3ed.TextHint := 'Type the third answer here';
 | 
						|
  a3ed.Parent := TestPnl;
 | 
						|
 | 
						|
  rg.Caption := 'DialogType';
 | 
						|
  for mdt := Low(TMsgDlgType) to high(TMsgDlgType) do
 | 
						|
    rg.items.Add(MsgDlgTypeStr[mdt]);
 | 
						|
  rg.AutoSize := True;
 | 
						|
  rg.ItemIndex := Ord(mtConfirmation);
 | 
						|
  rg.Left := qed.Left;
 | 
						|
  rg.Top := a3ed.Top + a3ed.Height + 10;
 | 
						|
  rg.Parent := TestPnl;
 | 
						|
 | 
						|
  btn.OnClick := @dummy.OnBtnClick;
 | 
						|
  btn.Caption := 'Show dialog';
 | 
						|
  btn.AutoSize := True;
 | 
						|
  btn.Top := rg.Top + rg.Height + 20;
 | 
						|
  btn.Left := rg.Left;
 | 
						|
  btn.Parent := TestPnl;
 | 
						|
 | 
						|
  lbl.Top := btn.Top;
 | 
						|
  lbl.Left := btn.Left + btn.Width + 10;;
 | 
						|
  lbl.Caption := '';
 | 
						|
  lbl.Parent := TestPnl;
 | 
						|
end;
 | 
						|
{---------------- End of QuesionDialog; ---------}
 | 
						|
 | 
						|
 | 
						|
 |