virtools_BB与vc交互开发.docVIP

  • 4
  • 0
  • 约 12页
  • 2016-12-29 发布于重庆
  • 举报
用VC++6.0来写Buliding Blocks的方法 使用Virtools的朋友都知道,Building Blocks是很重要的.在VT中提供了几百个BB供我们来使用.使用Virtools的SDK,我们可以开发出自己需要的Buliding Blocks,利用它很容易对我们的Virtools供能进行扩展.在这里我写一篇教程,来介绍一下用Virtools SDK和VC++6.0来写Building Blocks的过程和方法.   这里要用到一些Win32和API编程的方法,不会的赶快恶补一下了,否则看不懂可别怪我在这个实例中,我们要开发一个这样的Building Blocks.它可以完成以下三个功能: 1:可以把当前系统的时间以不同格式在Virtools中显示; 2:它可以是你的Building Blocks对应的主窗口永远处于最上层; 3:通过关闭进程的方法,它可以关闭你想要关闭程序和进程.   要先完成准备工作,在SDK中提供给我们了一个开发Building Blocks的向导文件Virtools Behaviors AppWizard.awx,位于\SDK\Utils\目录下。你把它拷贝到你的\Microsoft Visual Studio\Common\MSDev98\Template目录下。完成以后启动的VC++,执行File--New...,在Project中可以看到Virtools BB新建这一项,选中它。   在Project Name中填入你的名称,比如My Building Blocks,同时要设置好你的项目保存路径.如图 单击OK进入下一步.   勾选Behavior和Manager这两个选项。   说明:开发Buliding Blocks,Behavior选项一定要选择的,否则不能继续了。   由于我们在这个实例中要用到Enum类型变量,也就是枚举类型的变量.在Behavior中要用到你自己声明的新类型变量,必须要在CKERROR InitInstance(CKContext* context)接口中先注册,才能使用.所以我们要用到ParameterManager,必须勾选Manager这一项。按下Next,继续。   在这个窗口中填入你的Buliding Blocks的名字,要注意,这个名字不要和你的先前Project名字相同,否则编译时会报错。实现的类名称,我们不错修改,Next,继续。   在这个窗口中,我们在Behavior栏目中输入你的BB的类别名称“MyBBs”描述中填入你的描述“Show time Set Windows Always Top Exit Your proceeding”为了简化我们Code,在Behavior Flags中我们不作勾选,需要的时侯我们自己加上代码来实现。这个实例中我们不用到Behavior的回调函数,所以CallBacks也不选择。Next,继续。   填入你的Manager的名字,其他的选项不作勾选。Next,继续。用这个方法完全可以实现你的目的。在这个窗口设置你的SDK目录和VT程序目录,插件名称等。单击Finish,完成。   执行Build---Rebuild all。即可生成你的Buliding Blocks,它已经自动编译到你你的Virtools\BuildingBlocks目录中。你启动你的Virtools,在BulidingBlocks列表中可以看到MyBBs这一项,里边已经有了我们编写的Time_Top_Exit BB了。   你在Vritools写一段小程序或用VC写一个BB,很容易实现你的要求。在你的项目文件中可以看到一些接口函数。我们先声明一个枚举变量,然后注册它。用它来做我们的Time Type下拉列表(4个选项)。打开你的MyBB.h文件,在顶部加入以下Code: typedef enum SHOWTIMETYPENUM { OSTIME =0 //24小时显示时间 OSDATE =0 //显示当前日期 UNIX_TIME_AND_DATE= 0//完整显示日期,时间 HOUR_TIME_12= 0//以12小时方式显示 }Enumeration; 这里有四个枚举值。然后用define宏来设置这个变量: #define GUID_SHOWTIMETYPENUM MyBBGUID 在CKERROR InitInstance(CKContext* context)接口中加入注册新类型变量的Code: CKParameterManager* pm = context-GetParameterManager(); pm-Register

文档评论(0)

1亿VIP精品文档

相关文档