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.