home *** CD-ROM | disk | FTP | other *** search
- {
-
- This program is an example that will display static text
- in a static menubar above the active menubar.
-
- }
- program ExtraMenuBar;
-
- uses Objects, Drivers, Views, Menus, App;
-
- const
- cmFileOpen = 100;
- cmNewWin = 101;
-
- type
- PExtraMenuBar = ^TExtraMenuBar;
- TExtraMenuBar = object(TMenuBar)
- procedure Draw;virtual;
- end;
-
- TMyApp = object(TApplication)
- ExtraMenuBar : PExtraMenuBar;
- procedure InitMenuBar; virtual;
- procedure InitStatusLine; virtual;
- end;
-
-
- procedure TExtraMenuBar.Draw;
- const
- ProgName : String = ' Program Name'+
- ' ';
- begin
- TMenuBar.Draw;
- WriteStr(0,0,ProgName,$06);
- end;
-
- { TMyApp }
- procedure TMyApp.InitMenuBar;
- var R: TRect;
- begin
- GetExtent(R);
- ExtraMenuBar := New(PExtraMenuBar,Init(R,nil));
- Insert(ExtraMenuBar);
- R.B.Y := R.A.Y + 2;
- R.A.Y := 1;
- MenuBar := New(PMenuBar, Init(R, NewMenu(
- NewSubMenu('~F~ile', hcNoContext, NewMenu(
- NewItem('~O~pen', 'F3', kbF3, cmFileOpen, hcNoContext,
- NewItem('~N~ew', 'F4', kbF4, cmNewWin, hcNoContext,
- NewLine(
- NewItem('E~x~it', 'Alt-X', kbAltX, cmQuit, hcNoContext,
- nil))))),
- nil))));
- end;
-
- procedure TMyApp.InitStatusLine;
- var R: TRect;
- begin
- GetExtent(R);
- R.A.Y := R.B.Y - 1;
- StatusLine := New(PStatusLine, Init(R,
- NewStatusDef(0, $FFFF,
- NewStatusKey('', kbF10, cmMenu,
- NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit,
- NewStatusKey('~F4~ New', kbF4, cmNewWin,
- NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose,
- nil)))),
- nil)
- ));
- end;
-
- var
- MyApp: TMyApp;
-
- begin
- MyApp.Init;
- MyApp.Run;
- MyApp.Done;
- end.