/*
   --------------------------------------------------------
   Filename.....: winattr32.cc
   ClassName....: Winattr32
   Purpose......: Object to set another object's window properties.
   Programmer...: Rick Miller
                  Code used from work by:
                  David Wedwick and Romain Strieff in winattr.cc.
   Date.........: May 29, 2002
   Notes........: See below.
   Written for..: dB2K 0.1 and newer.
   Rev. History.: February 10, 2005  -  renamed all external functions.
                  November 30, 2004  -  full review with revisions.
   Dependencies.: None.
   Calls........: See x_InitExterns method.
   Called by....: Any
   Usage........: set procedure to :dUFLP:winattr32.cc additive
   Example......: See below and sample file.
   SampleFile...: winattr32.wfm.
   HelpFile.....: winattr32.hlp.
   --------------------------------------------------------
   Notes:
   --------------------------------------------------------
      1) it is VERY IMPORTANT to call the
         close() or release() method
         when done using this object.
      2) use method calls after:
         form.open() or form.readmodal().
      3) changes for a form will take place when the
         form's windowstate property == 0 (Normal).
   --------------------------------------------------------
   Example:
   --------------------------------------------------------
      // create:
      form.winattr32 = new Winattr32(form)

      // to set a property:
      form.winattr32.set("caption",     [<bool>])
      form.winattr32.set("changestate", [<bool>])
      form.winattr32.set("dlgframe",    [<bool>])
      form.winattr32.set("maximize",    [<bool>])
      form.winattr32.set("minimize",    [<bool>])
      form.winattr32.set("scroolh",     [<bool>])
      form.winattr32.set("scroolv",     [<bool>])
      form.winattr32.set("thickframe",  [<bool>])
      form.winattr32.set("sysmenu",     [<bool>])
      form.winattr32.set("window",      [<oref>])

      // destroy (very important that you close it,
      // or a circular reference to your form may
      // be created, and it won't be released ...):
      form.winattr32.close()
      form.winattr32 := null
      close procedure :dUFLP:winattr32.cc

   --------------------------------------------------------
   Properties:
   --------------------------------------------------------
      None are surfaced directly.

   --------------------------------------------------------
   Methods:
   --------------------------------------------------------
      close()
         calls to release
      get(<char> Keyword)
         returns current status.
      help([<char> Topic])
         opens the winattr32.hlp file when in the IDE.
      release()
         release this object from memory.
      set(<char> Keyword, <pValu> value)
         change a property.
         returns true/false (success/fail)

   --------------------------------------------------------
   Methods compatible with winattr.cc for making a change.
   --------------------------------------------------------
   These methods return true/false (success/fail).
      border(     [<bool>])
      dlgframe(   [<bool>])
      maxbutton(  [<bool>])
      minbutton(  [<bool>])
      sysmenu(    [<bool>])
      thickframe( [<bool>])

   --------------------------------------------------------
   Keyword List used with the get and set methods:
   --------------------------------------------------------
      border, caption, changestate, dlgframe,
      maxbutton, maximize, minbutton, minimize,
      scrollh, scrollv, sysmenu, thickframe, window.
   */