home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / MRU.PAK / MRU.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  1.5 KB  |  62 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows
  3. // Copyright (c) 1995, 1995 by Borland International, All Rights Reserved
  4. //
  5. //----------------------------------------------------------------------------
  6. #include <owl/pch.h>
  7. #include <owl/rcntfile.h>
  8. #include <owl/opensave.h>
  9. #include <classlib/pointer.h>
  10. #include <owl/docview.rh>
  11.  
  12. //
  13. // Class TSampleApp
  14. // ~~~~~ ~~~~~~~~~~
  15. class TSampleApp : public TApplication, public TRecentFiles {
  16.   public:
  17.     TSampleApp() : TApplication(), TRecentFiles(".\\Test.ini", 4) {}
  18.  
  19.   protected:
  20.     void InitMainWindow();
  21.  
  22.     void CmOpen();
  23.     TResult EvFileSelected(TParam1 p1, TParam2)
  24.     {
  25.       char text[80];
  26.       GetMenuText(p1, text, sizeof text);
  27.       GetMainWindow()->MessageBox(text, "You've selected", MB_OK);
  28.       return 0;
  29.     }
  30.  
  31.   DECLARE_RESPONSE_TABLE(TSampleApp);
  32. };
  33.  
  34. DEFINE_RESPONSE_TABLE2(TSampleApp, TRecentFiles, TApplication)
  35.   EV_REGISTERED(MruFileMessage, EvFileSelected),
  36.   EV_COMMAND(CM_FILEOPEN, CmOpen),
  37. END_RESPONSE_TABLE;
  38.  
  39. void
  40. TSampleApp::InitMainWindow()
  41. {
  42.   TFrameWindow* frame = new TFrameWindow(0, 0, new TWindow(0,0,0));
  43.   frame->AssignMenu("IDM_TEST");
  44.   SetMainWindow(frame);
  45. }
  46.  
  47. void
  48. TSampleApp::CmOpen()
  49. {
  50.   TOpenSaveDialog::TData data(OFN_NOVALIDATE|OFN_NOCHANGEDIR, "All Files (*.*)|*.*|");
  51.   TFileOpenDialog dialog(GetMainWindow(), data);
  52.   if (dialog.Execute() == IDOK) {
  53.     SaveMenuChoice(data.FileName);
  54.   }
  55. }
  56.  
  57. int
  58. OwlMain(int /*argc*/, char* /*argv*/[])
  59. {
  60.   return TSampleApp().Run();
  61. }
  62.