KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q136578: Code Samples Demonstrate How to Use the Outline Control

Article: Q136578
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0
Operating System(s): 
Keyword(s): 
Last Modified: 15-FEB-2000

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Windows, version 3.0 
-------------------------------------------------------------------------------

SUMMARY
=======

This article provides code that demonstrates how to use the Outline control.

MORE INFORMATION
================

Code Sample One
---------------

In this example, the user selects a database (.dbc file). Then all of its tables,
fields, and indexes are listed hierarchically in the outline control.

  **** BEGINNING ***
  *: TEST
  PUBLIC frm1
  frm1=CREA('Myform')
  frm1.SHOW

  FOR i=1 TO frm1.CONTROLCOUNT
     frm1.CONTROLS(i).VISIBLE=.T.
  ENDFOR

  *:*************************************************************************
  *:
  *: Class:myform  BaseClass: FORM
  *:
  *:*************************************************************************

  DEFINE CLASS myform AS FORM
     SCALEMODE=3
     WIDTH=600
     HEIGHT=600

     ADD OBJECT CtnOle AS cont1
     ADD OBJECT cmd1 AS cmdbtn

     PROCEDURE INIT
        THISFORM.CtnOle.ole1.ADDITEM('test')
        THISFORM. CtnOle.ole1.ADDITEM('test1')

        THISFORM. CtnOle.ole1.indent(0)=1
        THISFORM. CtnOle.ole1.indent(1)=2
     ENDPROC

  ENDDEFINE

  *:************************************************************************
  *:
  *: Class:Cont1 BaseClass: CONTAINER
  *:
  *:*************************************************************************

  DEFINE CLASS Cont1 AS CONTAINER
     WIDTH=400
     TOP=50
     LEFT=50
     HEIGHT=400
     ADD OBJECT ole1 AS OleCtrl
  ENDDEFINE

  *:*************************************************************************
  *:
  *: Class:OleCtrl  BaseClass: OLECONTROL
  *:
  *:*************************************************************************

  DEFINE CLASS OleCtrl AS OLECONTROL
     OLECLASS='MSoutl.outline'
     TOP=60
     LEFT=60
     WIDTH=280
     HEIGHT=250
     VISIBLE=.T.
  ENDDEFINE

  *:*************************************************************************
  *:
  *: Class:cmdbtn  BaseClass: COMMANDBUTTON
  *:
  *:*************************************************************************
  DEFINE CLASS cmdbtn AS COMMANDBUTTON
     TOP=80
     LEFT=460
     HEIGHT=30
     WIDTH=100
     VISIBLE=.T.
     CAPTION="Move"

     PROCEDURE CLICK
        THISFORM.CtnOle.ole1.MOVE(120,120,200)
     ENDPROC
  ENDDEFINE
  **** END OF EXAMPLE 1 ***

Code Sample Two
---------------

This example shows how to use the :: operator to call the Outline control's Init
event.

  **** BEGINNING ***
  PUBLIC oForm
  oForm=CREATE('form')
  oForm.ADDOBJECT('oRedOutl','out1')
  oForm.oRedOutl.VISIBLE=.T.
  oForm.oRedOutl.CLICK
  oForm.SHOW

  *:*************************************************************************
  *:
  *: Class:out  BaseClass: OLECONTROL
  *:
  *:*************************************************************************
  DEFINE CLASS out AS OLECONTROL
     TOP = 24
     LEFT = 24
     HEIGHT = 193
     WIDTH = 289
     OLECLASS='msoutl.outline'

     PROCEDURE INIT
        THIS.ADDITEM('test')
        THIS.ADDITEM('test')
        THIS.ADDITEM('test')
        THIS.ADDITEM('test')
        THIS.ADDITEM('test')
        THIS.ADDITEM('test')
        THIS.indent(0)=1
        THIS.indent(1)=2
        THIS.indent(2)=2
        THIS.indent(3)=2
        THIS.indent(4)=2
        THIS.indent(5)=2
     ENDPROC
  ENDDEFINE

  *:*************************************************************************
  *:
  *: Class:out1  BaseClass: out
  *:
  *:*************************************************************************
  DEFINE CLASS out1 AS out
  PROCEDURE INIT
        out::INIT
        THIS.OBJECT.BACKCOLOR = RGB(255,0,0)

     ENDPROC

     PROCEDURE CLICK
        WAIT WINDOW
     ENDPROC

  ENDDEFINE
  **** END OF EXAMPLE 2 ***

For an example of a form (.scx file) that uses the Outline control, please see
the Outline1.scx sample form located in the Vfp\Samples\Ole directory.

Additional query words: VFoxWin

======================================================================
Keywords          :  
Technology        : kbVFPsearch kbAudDeveloper kbVFP300
Version           : WINDOWS:3.0

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.