home *** CD-ROM | disk | FTP | other *** search
/ DOS Wares / doswares.zip / doswares / DATABASE / DBASE5 / CUA_SAMP.ZIP / MARY.PRG < prev    next >
Encoding:
Text File  |  1994-06-24  |  2.1 KB  |  60 lines

  1. *****************************************************************
  2. * FILE: MARY.PRG
  3. * Shows how to use the OnMove and OnSize properties of a form
  4. * window to control another form window. Accompanies Chapter 22
  5. * of the "Programmer's Guide."
  6. *****************************************************************
  7. DEFINE FORM Mary ;
  8.    PROPERTY ;
  9.       Sizeable .T., ;
  10.       Left 2, Width 25, Top 2, Height 10, ;
  11.       OnOpen MaryOpen, ;
  12.       OnMove MaryMove, ;
  13.       OnSize MaryMove, ;
  14.       OnClose MaryClose
  15.       
  16. DEFINE FORM LittleLamb ;
  17.    PROPERTY ;
  18.       Top Mary.Top + 5, ;
  19.       Width 20, ;
  20.       Left Mary.Left + Mary.Width + 2, ;
  21.       Height 5, ;
  22.       Text " ", ;
  23.       Moveable .F.
  24.  
  25. DEFINE TEXT Text1 OF LittleLamb ;
  26.    AT 0,3 ;
  27.    PROPERTY ;
  28.       Text "little lamb", ;
  29.       ColorNormal "W+/B"
  30.  
  31. lVoid = Mary.Open()           && Open form window Mary.
  32.  
  33. PROCEDURE MaryOpen            && OnOpen event handler for form window Mary.
  34.    SET TALK OFF
  35.    SET ECHO OFF
  36.    lVoid = LittleLamb.Open()  && Open attached form window.
  37.    lVoid = Mary.SetFocus()    && Give focus back to form window Mary.
  38. RETURN
  39.  
  40. *----------------------------------------------------------------------------
  41. * MaryMove
  42. * OnMove event handler for form window Mary. Changes Top, Height, Width,
  43. * and Left properties of LittleLamb form window so it changes size and 
  44. * position along with Mary. Tries to center Text1 obj. in LittleLamb as well.
  45. *-----------------------------------------------------------------------------
  46. PROCEDURE MaryMove
  47.    LittleLamb.Top = this.Top + INT(this.height / 1.5)
  48.    LittleLamb.Height = INT(this.height / 2.5) 
  49.    LittleLamb.Width = INT(this.width / 1.35)  
  50.    LittleLamb.Text1.Left = INT(this.width / 2 - 11)
  51.    LittleLamb.Left = this.Left + this.Width + 2 
  52. RETURN
  53.  
  54. PROCEDURE MaryClose           && OnClose event handler for form window Mary
  55.    lVoid = LittleLamb.Release()  && Release attached form window from memory
  56.    RELEASE LittleLamb            && and delete its now null object reference var.
  57.    SET TALK ON
  58.    SET ECHO ON
  59. RETURN
  60.