home *** CD-ROM | disk | FTP | other *** search
- unit Toolbar;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- ExtCtrls, DBCtrls, Menus, DB;
- {Note: DB unit manually added above to give us access to the TDataSource type
- for the SetNavigator procedure declared below.}
-
- type
- TfmToolbar = class(TForm)
- MainMenu1: TMainMenu;
- File1: TMenuItem;
- Close1: TMenuItem;
- Record1: TMenuItem;
- First1: TMenuItem;
- Next1: TMenuItem;
- Prior1: TMenuItem;
- Last1: TMenuItem;
- About1: TMenuItem;
- About2: TMenuItem;
- Messages1: TMenuItem;
- N1: TMenuItem;
- Delete1: TMenuItem;
- Insert1: TMenuItem;
- Cancel1: TMenuItem;
- Window1: TMenuItem;
- Tile1: TMenuItem;
- Cascade1: TMenuItem;
- Panel1: TPanel;
- DBNavigator1: TDBNavigator;
- procedure First1Click(Sender: TObject);
- procedure Next1Click(Sender: TObject);
- procedure Prior1Click(Sender: TObject);
- procedure Last1Click(Sender: TObject);
- procedure About1Click(Sender: TObject);
- procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
- procedure Messages1Click(Sender: TObject);
- procedure Delete1Click(Sender: TObject);
- procedure Insert1Click(Sender: TObject);
- procedure Cancel1Click(Sender: TObject);
- procedure Tile1Click(Sender: TObject);
- procedure Cascade1Click(Sender: TObject);
- procedure Close1Click(Sender: TObject);
- public
- procedure UpdateMenu;
- procedure SetNavigator(const ds: TDataSource);
- end;
-
- var
- fmToolbar: TfmToolbar;
-
- implementation
-
- uses DM, About;
-
- {$R *.DFM}
-
- { Menu choices to navigate create a BtnClick event on the
- Navigator, so that these choices don't need to be
- directly tied to a Dataset, and so that the properties
- you have set for the DBNavigator, such as ConfirmDelete,
- apply throughout the application. }
-
- procedure TfmToolbar.First1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbFirst);
- end;
-
- { The dbNavigator's datasource is set on OnEnter and OnActivate
- of forms with multiple data aware controls (CustOrds) or
- OnActivate of forms with single data aware controls (Customer). }
-
- procedure TfmToolbar.Next1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbNext);
- end;
-
- procedure TfmToolbar.Prior1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbPrior);
- end;
-
- procedure TfmToolbar.Last1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbLast);
- end;
-
- procedure TfmToolbar.Delete1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbDelete);
- end;
-
- procedure TfmToolbar.Insert1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbInsert);
- end;
-
- procedure TfmToolbar.About1Click(Sender: TObject);
- var
- fmAboutBox: TFmAboutBox;
- begin
- fmAboutBox := TFmAboutBox.Create(Self);
- fmAboutBox.ShowModal;
- end;
-
- procedure TfmToolbar.DBNavigator1Click(Sender: TObject;
- Button: TNavigateBtn);
- begin
- UpdateMenu;
- end;
-
- { Update the Record menu's choices to reflect current state
- of navigational controls. }
- procedure TfmToolbar.UpdateMenu;
- begin
- with DBNavigator1.Datasource.DataSet do
- begin
- First1.Enabled := not BOF;
- Next1.Enabled := not BOF;
- Prior1.Enabled := not BOF;
- Last1.Enabled := not BOF;
- Insert1.Enabled := State in [dsBrowse];
- Delete1.Enabled := State in [dsBrowse];
- Cancel1.Enabled := State in [dsEdit,dsInsert];
- end;
- end;
-
- procedure TfmToolbar.Messages1Click(Sender: TObject);
- begin
- { Used to display messages on change of focus. }
- Messages1.Checked := not Messages1.Checked;
- end;
-
- procedure TfmToolBar.SetNavigator(const ds: TDataSource);
- begin
- if DBNavigator1.DataSource <> ds then
- begin
- if Messages1.Checked then
- ShowMessage('Changing DBNavigator''s datasource to ' + ds.Name);
- dbNavigator1.DataSource := ds;
- UpdateMenu;
- end;
- end;
-
- procedure TfmToolbar.Cancel1Click(Sender: TObject);
- begin
- dbNavigator1.BtnClick(nbCancel);
- end;
-
- procedure TfmToolbar.Tile1Click(Sender: TObject);
- begin
- Tile;
- end;
-
- procedure TfmToolbar.Cascade1Click(Sender: TObject);
- begin
- Cascade;
- end;
-
- procedure TfmToolbar.Close1Click(Sender: TObject);
- begin
- Application.Terminate;
- end;
-
- end.