Logo New book: Delphi 2007 Handbook
My blog in online
Delphi tech support service: support.marcocantu.com
Google
  Web www.marcocantu.com

Menu for Development

Site Menu
Delphi 2007 Handbook
Mastering Borland Delphi 2005
Essential Pascal
Essential Delphi
Buy Books Online
Code Repository
Newsgroups
White Papers
Tools
Conferences
Training
Delphi Links
Contact Marco

My Other Sites
Italian Site (www.marcocantu.it)
Developers Newsgroups Browser (dev.newswhat.com)
My town (www.piazzacavalli.net)
the delphi search
Wintech Italia (my company)

Breaking News
Buy Mastering Borland Delphi 2005 from Amazon
Free ebook: Mastering Delphi Update for Delphi 2006

Advertising
Home My Blog Books My Bookstore Development Links Marco


Home: Code Repository: Mastering Delphi 6

Chapter 10 - Project Frames2

Project Structure

Frames2.dpr
program Frames2;

uses
  Forms,
  FramesForm in 'FramesForm.pas' {FormFrames},
  ListFrame in 'ListFrame.pas' {FrameList: TFrame};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TFormFrames, FormFrames);
  Application.Run;
end.
FramesForm.pas
unit FramesForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ListFrame, StdCtrls;

type
  TFormFrames = class(TForm)
    FrameList1: TFrameList;
    FrameList2: TFrameList;
    btnLeft: TButton;
    btnRight: TButton;
    procedure FrameList2btnClearClick(Sender: TObject);
    procedure btnLeftClick(Sender: TObject);
    procedure btnRightClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormFrames: TFormFrames;

implementation

{$R *.DFM}

procedure TFormFrames.FrameList2btnClearClick(Sender: TObject);
begin
  if MessageDlg ('OK to empty the list box?',
      mtConfirmation, [mbYes, mbNo], 0) = idYes then
    // execute standard frame code
    FrameList2.btnClearClick(Sender);
end;

procedure TFormFrames.btnLeftClick(Sender: TObject);
begin
  FrameList1.ListBox.Items.AddStrings (
    FrameList2.ListBox.Items);
end;

procedure TFormFrames.btnRightClick(Sender: TObject);
begin
  FrameList2.ListBox.Items.AddStrings (
    FrameList1.ListBox.Items);
end;

end.
ListFrame.pas
unit ListFrame;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ToolWin, ComCtrls, StdCtrls, ExtCtrls;

type
  TFrameList = class(TFrame)
    ListBox: TListBox;
    Edit: TEdit;
    btnAdd: TButton;
    btnRemove: TButton;
    btnClear: TButton;
    Bevel: TBevel;
    procedure btnAddClick(Sender: TObject);
    procedure btnRemoveClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.DFM}

procedure TFrameList.btnAddClick(Sender: TObject);
begin
  ListBox.Items.Add (Edit.Text);
end;

procedure TFrameList.btnRemoveClick(Sender: TObject);
begin
  if ListBox.ItemIndex >= 0 then
    ListBox.Items.Delete (ListBox.ItemIndex);
end;

procedure TFrameList.btnClearClick(Sender: TObject);
begin
  ListBox.Clear;
end;

end.
FramesForm.dfm
object FormFrames: TFormFrames
  Left = 201
  Top = 131
  Width = 507
  Height = 350
  Caption = 'Frames2'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  inline FrameList1: TFrameList
    Left = 8
    Top = 8
    inherited ListBox: TListBox
      Sorted = True
    end
    inherited btnClear: TButton
      OnClick = nil
    end
  end
  inline FrameList2: TFrameList
    Left = 288
    Top = 8
    TabOrder = 1
    inherited btnClear: TButton
      OnClick = FrameList2btnClearClick
    end
  end
  object btnLeft: TButton
    Left = 224
    Top = 120
    Width = 49
    Height = 25
    Caption = '&<<'
    TabOrder = 2
    OnClick = btnLeftClick
  end
  object btnRight: TButton
    Left = 224
    Top = 152
    Width = 49
    Height = 25
    Caption = '&>>'
    TabOrder = 3
    OnClick = btnRightClick
  end
end
ListFrame.dfm
object FrameList: TFrameList
  Left = 0
  Top = 0
  Width = 202
  Height = 306
  TabOrder = 0
  object Bevel: TBevel
    Left = 0
    Top = 0
    Width = 202
    Height = 306
    Align = alClient
    Shape = bsFrame
  end
  object ListBox: TListBox
    Left = 8
    Top = 64
    Width = 185
    Height = 233
    ItemHeight = 13
    TabOrder = 0
  end
  object Edit: TEdit
    Left = 8
    Top = 40
    Width = 185
    Height = 21
    TabOrder = 1
    Text = 'Some text'
  end
  object btnAdd: TButton
    Left = 24
    Top = 8
    Width = 49
    Height = 25
    Caption = '&Add'
    TabOrder = 2
    OnClick = btnAddClick
  end
  object btnRemove: TButton
    Left = 76
    Top = 8
    Width = 49
    Height = 25
    Caption = '&Remove'
    TabOrder = 3
    OnClick = btnRemoveClick
  end
  object btnClear: TButton
    Left = 128
    Top = 8
    Width = 49
    Height = 25
    Caption = '&Clear'
    TabOrder = 4
    OnClick = btnClearClick
  end
end