Microsoft KB Archive/138979

= How to Create a Builder That Changes the Font of Form Objects =

Article ID: 138979

Article Last Modified on 8/20/1999

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition

-



This article was previously published under Q138979



SUMMARY
This article shows by example how to create a builder that you can use to change change the font of several selected form objects at once.



MORE INFORMATION
Use the following steps to create a builder that will change the font of all the selected form objects on the current form. The builder will use the standard Windows font dialog by using the GETFONT function.

 Create a new program named Fntbldr.prg.  Add the following code to the new builder: ** Builders must accept three parameters PARAMETERS a,b,c

** Create an array of object references for the selected objects numobjs=ASELOBJ(aobjlist)

** Bring up the standard Windows font dialog newfont=GETFONT

** Make sure that the user chose a font IF ! EMPTY(newfont)

** Parse the string returned by GETFONT to get name, size, and style newname=SUBSTR(newfont,1,AT(',',newfont,1)-1) newsize=VAL(SUBSTR(newfont,AT(',',newfont,1)+1,AT(',',newfont,2)-1)) newstyle=SUBSTR(newfont,AT(',',newfont,2)+1)

** Loop through the array FOR i=1 TO numobjs

** Make sure the current object has font properties =AMEMBERS(aobjprops,aobjlist(i)) IF ASCAN(aobjprops,'FONTNAME')>0

** Change the current object's font properties aobjlist(i).FontName=newname aobjlist(i).FontSize=newsize DO CASE CASE newstyle=="N" aobjlist(i).FontBold=.F.              aobjlist(i).FontItalic=.F.          CASE newstyle=="B" aobjlist(i).FontBold=.T.              aobjlist(i).FontItalic=.F.          CASE newstyle=="I" aobjlist(i).FontBold=.F.              aobjlist(i).FontItalic=.T.          CASE newstyle=="BI" aobjlist(i).FontBold=.T.              aobjlist(i).FontItalic=.T.          ENDCASE ENDIF ENDFOR ENDIF  Save the program Fntbldr.prg in the \Vfp\Wizards directory. Open and browse the Builder.dbf table in the \Vfp\Wizards directory. Append a new record to the Builder.dbf table. Enter the following text in the appropriate fields:

Name -  Descript - <enter a description for the builder> Type - MULTISELECT Program - Fntbldr.prg

</li> Close the Builder.dbf table.</li></ol>

To test the builder:


 * 1) Create a new form, and add several objects to the form.
 * 2) Select several objects on the form, and click the Builder button on the Properties sheet.
 * 3) Select the new builder from the Builder Selection dialog box, and click OK.
 * 4) Select the font you want to apply from the font dialog box, and click OK. All the selected objects that have font properties will change to the font you chose in the font dialog box.

Additional query words: vfoxwin

Keywords: kbcode KB138979

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.