home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 August
/
VPR9608A.BIN
/
del20try
/
install
/
data.z
/
TOOLBAR.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-05-08
|
4KB
|
168 lines
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.