DOCUMENT:Q194833 21-AUG-1999 [foxpro] TITLE :HOWTO: Using the Supermover Foundation Class PRODUCT :Microsoft FoxPro PROD/VER:WINDOWS:6.0 OPER/SYS: KEYWORDS:kbvfp600 kbFFC ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, version 6.0 ------------------------------------------------------------------------------- SUMMARY ======= This article describes how to use the SuperMover Foundation Class that shipped with Visual FoxPro. The SuperMover class is located in the _movers.vcx class library. MORE INFORMATION ================ In order to set up a SuperMover Foundation Class in an application, here are some basic properties and methods that you need to understand: - aChoices[1,0] array property - This array property contains available choices that is in the left list box. - aSelections[1,0] array property - This array property contains selected items in the right list box. - UseArray property - This property specifies whether to use arrays for the left list box. When the UseArray property is set to .T., a property array is created and the property array can be reference from any object on the form. However, when UseArray is set to .F., it basically using the list box's AddItem method to add the items to the list box. The default value for this property is .T. - SortLeft property - This property sorts items in the left list box, the default value is .F. - InitChoices method - This method initializes the aChoices array and populate the initial content of the aChoices array into the list box. The syntax for this method is: Object.InitChoices(@choicearrayname) - choicearrayname specifies the array of initial choices. When the UserArray property is set to .F., the choicearrayname array will use as the source for the list box Additem method to add the item to the list box and no aChoices array will be created. - InitSelections method - This method initializes the aSelections array. The syntax for this method is: Object.InitSelections(@selectionarrayname) - Selectionarrayname specifics the array of initial selections. - GetSelections method - The method retrieves the selected items. The syntax for this method is: Object.GetSelections(@targetarrayname) - Targetarrayname specifies the name of the array containing the target selections. Example: -------- 1. Create a form, name mymover.scx. 2. Add the SuperMover class, located in _movers.vcx in \Ffc directory, to the form. 3. In the Init event of the form, put in the following code: DIMENSION aMyChoice[6] LOCAL iCount FOR iCount = ALEN(aMyChoice) to 1 STEP -1 aMyChoice[(ALEN(aMyChoice)+1)-iCount] = CHR(64+iCount) ENDFOR && To initialize the aChoice array property and populate && the left list box Thisform._supermover1.InitChoices(@aMyChoice) 4. Add two command buttons to the form and change the following properties as shown: Command1.Caption = "Display selected items" Command2.Caption = "Display aChoice array" 5. In the Click event of Command1, place the following code: DIMENSION aMySelection[1] Thisform._supermover1.GetSelections(@aMySelection) LOCAL iCount FOR iCount = 1 TO ALEN(aMySelection) WAIT WINDOW aMySelection[iCount] ENDFOR 6. In the Click event of Command2, place the following code: FOR I = 1 to ALEN(Thisform._supermover1.aChoices) WAIT WINDOW thisform._supermover1.aChoices[i] ENDFOR 7. Save and run the form. The left list box displays F,E,D,C,B,A. Click on the right arrow button to move a few items to the right list box. Click the "Display selected items" button and the selected items will display in the Wait Window. Now, click the "Display aChoice array" button, only the items left in the left list box will display in the Wait Window. 8. Modify the mymover form again, change the _supermover's SortLeft property to .T. 9. Save and run the form again. The left list box now displays A,B,C,D,E,F. Additional query words: ====================================================================== Keywords : kbvfp600 kbFFC Technology : kbVFPsearch kbAudDeveloper kbVFP600 Version : WINDOWS:6.0 Issue type : kbhowto ============================================================================= 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 1999.