/*---------------------------------------------------------*/ /* */ /* Turbo Vision 1.0 */ /* TVGUID03 Demo Source File */ /* Copyright (c) 1991 by Borland International */ /* */ /*---------------------------------------------------------*/ #define Uses_TApplication #define Uses_TKeys #define Uses_TRect #define Uses_TMenuBar #define Uses_TSubMenu #define Uses_TMenuItem #define Uses_TStatusLine #define Uses_TStatusItem #define Uses_TStatusDef #define Uses_TDeskTop #include const int cmMyFileOpen = 200; // assign new command values const int cmMyNewWin = 201; class TMyApp : public TApplication { public: TMyApp(); static TStatusLine *initStatusLine( TRect r ); static TMenuBar *initMenuBar( TRect r ); // new for tvguid03 }; TMyApp::TMyApp() : TProgInit( &TMyApp::initStatusLine, &TMyApp::initMenuBar, &TMyApp::initDeskTop ) { } TStatusLine *TMyApp::initStatusLine(TRect r) { r.a.y = r.b.y - 1; // move top to 1 line above bottom return new TStatusLine( r, *new TStatusDef( 0, 0xFFFF ) + // set range of help contexts *new TStatusItem( 0, kbF10, cmMenu ) + *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) + // define an item *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose ) // and another one ); } // new for tvguid03: TMenuBar *TMyApp::initMenuBar( TRect r ) { r.b.y = r.a.y + 1; // set bottom line 1 line below top line return new TMenuBar( r, *new TSubMenu( "~F~ile", kbAltF )+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+ newLine()+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+ *new TSubMenu( "~W~indow", kbAltW )+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" ) ); } int main() { TMyApp myApp; myApp.run(); return 0; }