home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / tybc4 / bug.cpp < prev    next >
C/C++ Source or Header  |  1994-05-26  |  2KB  |  92 lines

  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <owl\applicat.h>
  4. #include <owl\dialog.h>
  5. #include <owl\framewin.h>
  6. #include <owl\listbox.h>
  7. #include <owl\window.h>
  8. #include <owl\window.rh>
  9.  
  10. class TMyDialog : public TDialog
  11. {
  12. public:
  13.    TMyDialog(TWindow *parent, TModule *module = 0);
  14.  
  15.    void SetupWindow();
  16.  
  17. private:
  18.    TListBox *numbers;
  19. };
  20.  
  21. TMyDialog::TMyDialog(TWindow *parent, TModule *module)
  22.    : TDialog(parent, "TheDialog", module)
  23. {
  24. }
  25.  
  26. void fill_lb(TListBox *plb, int count)
  27. {
  28.    for (int ix = 0; ix < count; ++count)
  29.       {
  30.       char str[25];
  31.       sprintf(str, "%d", ix + 1);
  32.       plb->AddString(str);
  33.       }
  34. }
  35.  
  36. void TMyDialog::SetupWindow()
  37. {
  38.    fill_lb(numbers, 20);
  39. }
  40.  
  41. class TMyWindow : public TWindow
  42. {
  43. public:
  44.    TMyWindow(TWindow *parent = 0);
  45.  
  46. protected:
  47.    void CmExit();
  48.    void CmDialog();
  49.  
  50. private:
  51.    DECLARE_RESPONSE_TABLE(TMyWindow);
  52. };
  53. DEFINE_RESPONSE_TABLE1(TMyWindow, TWindow)
  54.    EV_COMMAND(CM_EXIT, CmExit),
  55.    EV_COMMAND(100, CmDialog),
  56. END_RESPONSE_TABLE;
  57.  
  58. TMyWindow::TMyWindow(TWindow *parent)
  59.    : TWindow(parent)
  60. {
  61. }
  62.  
  63. void TMyWindow::CmExit()
  64. {
  65.    SendMessage(WM_CLOSE);
  66. }
  67.  
  68. void TMyWindow::CmDialog()
  69. {
  70.    TMyDialog(this).Execute();
  71. }
  72.  
  73. class TDialogApp : public TApplication
  74. {
  75. public:
  76.    TDialogApp() : TApplication()
  77.       { nCmdShow = SW_SHOWMAXIMIZED; }
  78.  
  79.    void InitMainWindow()
  80.       {
  81.       SetMainWindow(new TFrameWindow(  0,
  82.                            "Dialog Testers, Inc.",
  83.                            new TMyWindow ));
  84.       GetMainWindow()->AssignMenu("MainMenu");
  85.       }
  86. };
  87.  
  88. int OwlMain(int, char *[])
  89. {
  90.    return TDialogApp().Run();
  91. }
  92.