home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v1.zip / IBMCPP / IBMCLASS / ICTLEVT.HPP < prev    next >
C/C++ Source or Header  |  1993-10-22  |  4KB  |  70 lines

  1. #ifndef _ICTLEVT_
  2.   #define _ICTLEVT_
  3. /*******************************************************************************
  4. * FILE NAME: ictlevt.hpp                                                       *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class(es):                                              *
  8. *     IControlEvent - encapsulation of WM_CONTROL event                        *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   (C) Copyright IBM Corporation 1992                                         *
  12. *   All Rights Reserved                                                        *
  13. *   Licensed Materials = Property of IBM                                       *
  14. *                                                                              *
  15. *******************************************************************************/
  16. #ifndef _IEVENT_
  17.   #include <ievent.hpp>
  18. #endif
  19.  
  20. /*----------------------------------------------------------------------------*/
  21. /* Align classes on four byte boundary.                                       */
  22. /*----------------------------------------------------------------------------*/
  23. #pragma pack(4)
  24.  
  25. // Forward declarations for other classes:
  26.  
  27. class IControlEvent : public IEvent {
  28. typedef IEvent Inherited;
  29. /*******************************************************************************
  30. * The IControlEvent class represents a notification event from a control.      *
  31. * Instances of this class are constructed and processed in many control event  *
  32. * handler classes, such as IEditHandler.  These notification events are first  *
  33. * dispatched to the handlers attached to the control itself, then to the       *
  34. * handlers attached to the owner window of the control.                        *
  35. *******************************************************************************/
  36. public:
  37. /*------------------------- Constructor ----------------------------------------
  38. | The only way to construct instances of this class is from an IEvent object   |
  39. | or another IControlEvent object.                                             |
  40. ------------------------------------------------------------------------------*/
  41.   IControlEvent ( IEvent& evt );
  42.   IControlEvent ( const IControlEvent& evt );
  43.  ~IControlEvent ( );
  44.  
  45. /*--------------------------- Control Information ------------------------------
  46. | These functions provide means of querying information about the control      |
  47. | that the event deals with:                                                   |
  48. |   controlWindow - Returns a pointer to the control object that the event     |
  49. |                   applies to.                                                |
  50. |   controlId     - Returns the window ID of the control that the event        |
  51. |                   applies to.                                                |
  52. ------------------------------------------------------------------------------*/
  53. IWindow*
  54.   controlWindow ( ) const;
  55. unsigned long
  56.   controlId     ( ) const;
  57. };
  58.  
  59. /*----------------------------------------------------------------------------*/
  60. /* Resume compiler default packing.                                           */
  61. /*----------------------------------------------------------------------------*/
  62. #pragma pack()
  63.  
  64. /*----------------------------- Inline Functions -----------------------------*/
  65. #ifndef I_NO_INLINES
  66.   #include <ictlevt.inl>
  67. #endif
  68.  
  69. #endif /* _ICTLEVT_ */
  70.