home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / TODO.PAK / TODODLGS.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  3KB  |  139 lines

  1. #if !defined( __TODODLGS_H )
  2. #define __TODODLGS_H
  3.  
  4. //---------------------------------------------------------------------
  5. //
  6. //  TODODLGS.H
  7. //
  8. //      Copyright (c) 1991, 1993 by Borland International
  9. //      All Rights Reserved.
  10. //
  11. //  Defines the following classes, which handle all the dialog boxes for
  12. //  the Todo program.
  13. //
  14. //      AboutBox
  15. //
  16. //      FileBox     - provides a an interface to the Windows common
  17. //                    dialogs for selecting a file name.
  18. //
  19. //      EditBox     - provides a dialog box for editing an entry in the
  20. //                    Todo list.
  21. //
  22. //---------------------------------------------------------------------
  23.  
  24. #if !defined( STRICT )
  25. #define STRICT
  26. #endif
  27.  
  28. #include <windows.h>
  29. #include <commdlg.h>
  30. #include <dir.h>
  31. #include <strstrea.h>
  32.  
  33. #include "todowin.h"
  34. #include "todolist.h"
  35.  
  36. //---------------------------------------------------------------------
  37. //
  38. //  class AboutBox
  39. //
  40. //      draws and manages the About dialog.
  41. //
  42. //---------------------------------------------------------------------
  43.  
  44. class AboutBox : public ModalDialog
  45. {
  46.  
  47. public:
  48.  
  49.     AboutBox( HWND );
  50.  
  51. private:
  52.  
  53.     virtual LPSTR GetDialogName();
  54.  
  55.     virtual BOOL Dispatch( HWND, UINT, WPARAM, LPARAM );
  56.  
  57. };
  58.  
  59. //---------------------------------------------------------------------
  60. //
  61. //  class FileBox
  62. //
  63. //      draws and manages a dialog box for selecting a file.
  64. //
  65. //---------------------------------------------------------------------
  66.  
  67. class FileBox
  68. {
  69.  
  70. public:
  71.  
  72.     static BOOL GetOpenFileName( HWND handle, char *fileName, char *titleName );
  73.     static BOOL GetSaveFileName( HWND handle, char *fileName, char *titleName );
  74.  
  75. private:
  76.  
  77.     static OPENFILENAME ofn;
  78.     static char *filters[];
  79.  
  80. };
  81.  
  82. //---------------------------------------------------------------------
  83. //
  84. //  class EditBox
  85. //
  86. //      draws and manages a dialog box to edit an entry in the Todo list.
  87. //
  88. //---------------------------------------------------------------------
  89.  
  90. class TodoEntry;
  91.  
  92. class EditBox : public ModalDialog
  93. {
  94.  
  95. public:
  96.  
  97.     EditBox( HWND, TodoEntry& );// constructor for the EditBox.
  98.                                 //
  99.                                 // Arguments:
  100.                                 //
  101.                                 // HWND owner - handle of the owner
  102.                                 //              of this dialog
  103.                                 // TodoEntry& td - the entry to be edited
  104.  
  105. private:
  106.  
  107.     virtual LPSTR GetDialogName();
  108.  
  109.     virtual BOOL Dispatch( HWND, UINT, WPARAM, LPARAM );
  110.  
  111.     TodoEntry& Current;         // the entry being edited
  112.  
  113.     int Button;                 // current selection among the radio
  114.                                 // buttons that set the priority
  115.  
  116.     void InitDlg( HWND );       // used internally
  117.     void CheckButton( HWND, WPARAM );  // used internally
  118.     void OkCmd( HWND );         // used internally
  119.     void CancelCmd( HWND );     // used internally
  120. };
  121.  
  122. //---------------------------------------------------------------------
  123. //
  124. //  inline functions
  125. //
  126. //---------------------------------------------------------------------
  127.  
  128. inline AboutBox::AboutBox( HWND hOwner ) : ModalDialog( hOwner )
  129. {
  130. }
  131.  
  132. inline EditBox::EditBox( HWND hOwner, TodoEntry& td ) :
  133.     ModalDialog( hOwner ), Current( td )
  134. {
  135. }
  136.  
  137. #endif  // __TODODLGS_H
  138.  
  139.