>PUBLIC oForm >oForm = CREATEOBJECT('form1') >oForm.SHOW() > >DEFINE CLASS form1 AS FORM > TOP = 0 > LEFT = 0 > HEIGHT = 530 > WIDTH = 800 > CAPTION = "HTML sample" > NAME = "Form1" > browserfontsize = 1 *-- here: add object oRules as collection > ADD OBJECT cmdGrow AS COMMANDBUTTON WITH ; > TOP = 0, ; > LEFT = 0, ; > width = 20, ; > CAPTION = "A" > > ADD OBJECT cmdShrink AS COMMANDBUTTON WITH ; > TOP = 0, ; > LEFT = 30, ; > width = 20, ; > CAPTION = "a" > > PROCEDURE cmdGrow.Click > thisform.BrowserSetFontSize(1.1) > ENDPROC > > PROCEDURE cmdShrink.Click > thisform.BrowserSetFontSize(0.9) > ENDPROC > > ADD OBJECT htmlviewer AS OLECONTROL WITH ; > TOP = 30, ; > LEFT = 0, ; > HEIGHT = 500, ; > WIDTH = 800, ; > VISIBLE = .T., ; > NAME = "HTMLViewer", ; > OLECLASS = 'Shell.Explorer.2' > > PROCEDURE INIT > WITH THISFORM.htmlviewer > .Navigate2('http://levelextreme.com') > DO WHILE .ReadyState # 4 && Wait for ready state > ENDDO > ENDWITH > ENDPROC > > PROCEDURE BrowserSetFontSize(tnSize) > *-- dn 06/03/2007 > LOCAL loBrowser AS "Shell.Explorer.2" > loBrowser=THIS.htmlviewer > loDoc=loBrowser.DOCUMENT > > FOR EACH loStyle IN loDoc.stylesheets > FOR i=0 TO loStyle.rules.LENGTH-1 > loRule=loStyle.rules(i) > loRuleStyle=loRule.STYLE > lcTag=loRule.selectorText > IF EMPTY(THIS.oRules.GETKEY(lcTag)) > oRule=CREATEOBJECT("empty") > ADDPROPERTY(oRule, "cSize", EVL(loRuleStyle.FONTSIZE, "10px")) > ADDPROPERTY(oRule, "nSize", VAL(oRule.cSize)) > ADDPROPERTY(oRule, "cUnits", CHRTRAN(oRule.cSize,"0123456789.","")) > THIS.oRules.ADD(oRule, lcTag) > ELSE > oRule=THIS.oRules.ITEM(lcTag) > ENDIF > oRule.nSize=oRule.nSize* tnSize > THIS.browserfontsize=oRule.nSize > IF NOT oRule.cUnits = "%" > lcSize=ALLTRIM(TRANSFORM(oRule.nSize,"99999.99"))+oRule.cUnits > loRuleStyle.FONTSIZE=lcSize > ENDIF > ENDFOR > ENDFOR > ENDPROC >ENDDEFINE > >