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

  1. /*
  2.   Program which uses tests dialog resources with grouped controls
  3. */
  4.  
  5. #include <owl\applicat.h>
  6. #include <owl\framewin.h>
  7. #include <owl\dialog.h>
  8. #include "rwdlg3.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 Find menu option
  31.    void CMFind();
  32.  
  33.    // handle the Replace menu option
  34.    void CMReplace();
  35.  
  36.    // handle confirming closing the window
  37.    virtual BOOL CanClose();
  38.  
  39.    // declare the response table
  40.    DECLARE_RESPONSE_TABLE(TMainWindow);
  41.  
  42. };
  43.  
  44. DEFINE_RESPONSE_TABLE1(TMainWindow, TWindow)
  45.   EV_COMMAND(CM_FIND, CMFind),
  46.   EV_COMMAND(CM_REPLACE, CMReplace),
  47. END_RESPONSE_TABLE;
  48.  
  49. void TMainWindow::CMFind()
  50. {
  51.   TDialog* pDlg = new TDialog(this, TResId(IDD_FIND_DLG));
  52.  
  53.   pDlg->Execute();
  54. }
  55.  
  56. void TMainWindow::CMReplace()
  57. {
  58.   TDialog* pDlg = new TDialog(this, TResId(IDD_REPLACE_DLG));
  59.  
  60.   pDlg->Execute();
  61. }
  62.  
  63. BOOL TMainWindow::CanClose()
  64. {
  65.   return MessageBox("Want to close this application?",
  66.                     "Query", MB_YESNO | MB_ICONQUESTION) == IDYES;
  67. }
  68.  
  69. void TWinApp::InitMainWindow()
  70. {
  71.   MainWindow = new TFrameWindow(0,
  72.                 "Grouped Controls Tester",
  73.                 new TMainWindow);
  74.   // load the menu resource
  75.   MainWindow->AssignMenu(TResId(EXITMENU));
  76.   EnableBWCC(); // Enable Borland controls
  77. }
  78.  
  79. int OwlMain(int /* argc */, char** /*argv[] */)
  80. {
  81.   TWinApp app;
  82.   return app.Run();
  83. }
  84.  
  85.