home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / tybc4 / rwdlg2.cpp < prev    next >
C/C++ Source or Header  |  1997-07-29  |  1KB  |  73 lines

  1. /*
  2.   Program which uses tests simple dialog resources
  3. */
  4.  
  5. #include <owl\applicat.h>
  6. #include <owl\framewin.h>
  7. #include <owl\dialog.h>
  8. #include "rwdlg2.h"
  9.  
  10. // declare the custom application class as
  11. // a subclass of TApplication
  12.  
  13. class TWinApp : public TApplication
  14. {
  15. public:
  16.   TWinApp() : TApplication() {}
  17.  
  18. protected:
  19.   virtual void InitMainWindow();
  20. };
  21.  
  22. // expand the functionality of TWindow by deriving class TMainWindow
  23. class TMainWindow : public TWindow
  24. {
  25.  public:
  26.    TMainWindow() : TWindow(0, 0, 0) {}
  27.  
  28.  protected:
  29.  
  30.    // handle the Calc menu
  31.    void CMCalc();
  32.  
  33.    // handle confirming closing the window
  34.    virtual BOOL CanClose();
  35.  
  36.    // declare the response table
  37.    DECLARE_RESPONSE_TABLE(TMainWindow);
  38.  
  39. };
  40.  
  41. DEFINE_RESPONSE_TABLE1(TMainWindow, TWindow)
  42.   EV_COMMAND(CM_CALC, CMCalc),
  43. END_RESPONSE_TABLE;
  44.  
  45. void TMainWindow::CMCalc()
  46. {
  47.   TDialog* pDlg = new TDialog(this, TResId(IDD_CALC_DLG));
  48.  
  49.   pDlg->Execute();
  50. }
  51.  
  52. BOOL TMainWindow::CanClose()
  53. {
  54.   return MessageBox("Want to close this application?",
  55.              "Query", MB_YESNO | MB_ICONQUESTION) == IDYES;
  56. }
  57.  
  58. void TWinApp::InitMainWindow()
  59. {
  60.   MainWindow = new TFrameWindow(0,
  61.                 "Dummy Dialog Box Calculator Tester",
  62.                 new TMainWindow);
  63.   // load the menu resource
  64.   MainWindow->AssignMenu(TResId(EXITMENU));
  65. }
  66.  
  67. int OwlMain(int /* argc */, char** /*argv[] */)
  68. {
  69.   TWinApp app;
  70.   return app.Run();
  71. }
  72.  
  73.