1、s work one step further with an MFC-like C+ class called CScriptEngine that implements the ActiveX scripting interfaces in the context of a sample MFC application.You should be familiar with MFC and automation. If not, read up on both in the Visual C+ online documentation.Note that for ActiveX scrip
2、ting to work in your MFC applications, your Visual C+ environment must be version 4.2b. The 4.2b upgrade patch is available from Microsoft at under Downloads and Patches. You must also have the VBScript and JScript DLLs that come with Internet Explorer. You can download the DLLs from Microsoft at Wh
3、y ActiveX scripting?-Automation enables automation clients such as Visual Basic to use your applications. But why would you want your application to support ActiveX scripting as well? The answer depends on your application. The answer depends on your application.For example, if your application is a
4、n ActiveX control container your users will likely want to write scripts that access the controls automation events, properties, and methods. Your users may also want their scripts stored within the applications documents. And finally, they likely want a choice in scripting languages. By adding supp
5、ort for ActiveX scripting, your applications can do all of these things. Lets examine a sample application called ScriptTest to see how.The ScriptTest application from the users perspectiveScriptTest is a Hello, World!type application. Its a simple Single Document Interface (SDI) application generat
6、ed using the MFC AppWizard. Heres what ScriptTest looks like in action:To edit and run a ScriptTest script, you invoke the Enter Script dialog by selecting Run from the Script menu. Heres what the Enter Script dialog looks like:In the Script Type box, you choose VBScript or JScript. You enter the sc
7、ripts text in the Script edit control.To give it a try, download the ScriptTest application from the VCDJ web-site and run it. From the menu bar, select Script and Run, and enter the following VBScript:Sub SayGoodbye Document.Text = Goodbye, World!End SubSayGoodbye Press OK to run the script.This VB
8、Script declares a SayGoodbye subroutine that simply sets the documents Text property (described shortly) to The script then calls the SayGoodbye subroutine. After running the script, ScriptTest displays ScriptTest from a programmerWe enabled ActiveX scripting in ScriptTest in two steps: first, we ad
9、d an automation method, and a property in ScriptTests document class, CScriptTestDoc, gave a script something to do; second, two C+ classes enabled ScriptTest to create and use an ActiveX scripting engine.Step 1: automating the ScriptTest application. Before adding support for ActiveX scripting, we
10、use the Visual C+ ClassWizard to add an automation property called Text and a method called MsgBox() to ScriptTests CScriptTestDoc class. The Text property is held in a CString variable within ScriptTests document class. Its value is what you see written in ScriptTests window.In VBScript, you can ge
11、t and set the documents Text property like so: get the Text propertystrText = Document.Text set the Text propertyDocument.Text = The MsgBox() method takes one string parameter containing the message text. For example, the VBScript statement Document.MsgBox() causes the ScriptTest to display the foll
12、owing message:Step 2: creating and using a scripting engine. To create and use an ActiveX scripting engine, ScriptTest includes the classes CScriptEngine and CScriptTestScriptEngine.The CScriptEngine class is an MFC-like wrapper around an ActiveX scripting engine. Its general enough that you should be able to reuse it in other MFC applications.-s general enough that you should be able to reuse it in other MFC applications
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1