home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / OBJ20D.ZIP / WINDOW.PRG < prev    next >
Text File  |  1993-08-13  |  2KB  |  69 lines

  1. // Implementación de la Clase TWindow para la creación de ventanas
  2.  
  3. #include "Objects.ch"
  4. #include "Box.ch"
  5.  
  6. //----------------------------------------------------------------------------//
  7.  
  8. CLASS TWindow
  9.  
  10.    DATA   nTop, nLeft, nBottom, nRight
  11.    DATA   cBack, cColor, cFrame, cTitle
  12.  
  13.    METHOD New( nTop, nLeft, nBottom, nRight, cTitle, cColor ) CONSTRUCTOR
  14.    METHOD Display()
  15.    METHOD Hide()
  16.    METHOD Say( nRow, nCol, cText, cColor )
  17.  
  18. ENDCLASS
  19.  
  20. //----------------------------------------------------------------------------//
  21.  
  22. METHOD New( nTop, nLeft, nBottom, nRight, cTitle, cColor ) CLASS TWindow
  23.  
  24.    DEFAULT cColor := "W+/B, B/W", cTitle := "Window"
  25.  
  26.    ::nTop    = nTop
  27.    ::nLeft   = nLeft
  28.    ::nBottom = nBottom
  29.    ::nRight  = nRight
  30.    ::cBack   = ""
  31.    ::cColor  = cColor
  32.    ::cFrame  = B_SINGLE + " "
  33.    ::cTitle  = cTitle
  34.  
  35. return
  36.  
  37. //----------------------------------------------------------------------------//
  38.  
  39. METHOD Display() CLASS TWindow
  40.  
  41.    ::cBack = SaveScreen( ::nTop, ::nLeft, ::nBottom + 1, ::nRight + 2 )
  42.    @ ::nTop, ::nLeft, ::nBottom, ::nRight BOX ::cFrame COLOR ::cColor
  43.    @ ::nTop, ::nLeft SAY PadC( ::cTitle, ::nRight - ::nLeft + 1 ) ;
  44.      COLOR SubStr( ::cColor, At( ",", ::cColor ) + 1 )
  45.    Shadow( ::nBottom + 1, ::nLeft + 2, ::nBottom + 1, ::nRight + 2 )
  46.    Shadow( ::nTop + 1, ::nRight + 1, ::nBottom, ::nRight + 2 )
  47.  
  48. return
  49.  
  50. //----------------------------------------------------------------------------//
  51.  
  52. METHOD Hide() CLASS TWindow
  53.  
  54.    RestScreen( ::nTop, ::nLeft, ::nBottom + 1, ::nRight + 2, ::cBack )
  55.    ::cBack = ""
  56.  
  57. return
  58.  
  59. //----------------------------------------------------------------------------//
  60.  
  61. METHOD Say( nRow, nCol, cText, cColor ) CLASS TWindow
  62.  
  63.    @ ::nTop + nRow, ::nLeft + nCol SAY cText ;
  64.      COLOR If( cColor == nil, ::cColor, cColor )
  65.  
  66. return
  67.  
  68. //----------------------------------------------------------------------------//
  69.