1 / 17
文档名称:

javascript第十九讲:JavaScript与插件.ppt

格式:ppt   大小:253KB   页数:17页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

javascript第十九讲:JavaScript与插件.ppt

上传人:plm860108 2018/6/18 文件大小:253 KB

下载得到文件列表

javascript第十九讲:JavaScript与插件.ppt

文档介绍

文档介绍:第十九讲:JavaScript与插件
讲师:杨贵
e-mail:jtclass@
/
课程内容安排
创建ActiveX控件
使用ActiveX控件
创建Flash
使用FLASH
提示:JavaApplet与Flash的使用方法相似,在此只讲当前十分流行的Flash
创建ActiveX控件
ActiveX是微软公司提出的一套二进制组件发布方案、实现规范和工具集合的总称。
规范的软件都能相互访问并且实现二进制组件的复用。
服务器,自动化语言运行时库就是自动化客户机。
Visual Basic、JavaScript等脚本语言是使用ActiveX控件的最佳选择
开始创建ActiveX
创建ActiveX控件
开始创建ActiveX控件
在VS2005主界面窗口中,选择菜单栏“新建”|“项目”命令,打开“新建项目”对话框。
在“项目类型”列表框中单击“Visual C++”|“ATL”项目。选择“模板”视图中单击“ATL项目”,在“名称”编辑框中输入项目名称“MessageBoard”,在“位置”编辑框中输入项目保存的路径。单击“确定”按钮,打开“ATL项目向导”对话框。
单击“应用程序设置”标签,勾选“允许合并代理/存根(stub)代码”复选框,单击“完成”按钮完成项目的创建。
添加ATL控件
选择菜单栏“视图”|“类视图”命令,打开“类视图”列表框。在其中右击“MessageBoard”项目,选择右键菜单“添加”|“类”命令,打开“添加类”对话框。
选择“类别”列表框中的“ATL”项目,选择“模板”列表框中的“ATL控件”项目,如图19-3所示。单击“添加”按钮,打开“ATL控件向导”对话框。
单击“名称”标签,在“简称”编辑框中输入“MsgBoardCtl”(不包括引号)。
单击“选项”标签,勾选“连接点”复选框。单击“外观”标签,勾选“可插入”复选框,单击“完成”按钮完成控件的添加操作。
为控件添加属性
右击“类视图”列表框中的“IMsgBoardCtl”项目,选择右键菜单“添加”|“添加属性”命令,打开“添加属性向导”窗口。
单击“属性类型”下拉列表框的下三角按钮,选择“BSTR”项目。在“属性名”编辑框中输入“msgText”,单击“完成”按钮完成操作。
为实现类添加成员变量
右击“类视图”列表框中的“CMsgBoardCtl”项目,选择若键菜单“添加”|“添加变量”命令,随即打开“添加成员变量向导”对话框。
在“变量类型”列表框中填写“BSTR”,在“变量名”编辑框中填写“m_bstrMessage”,单击“完成”按钮退出向导。
创建ActiveX控件
改写相关函数
在“类视图”列表框中找到“OnDraw”方法并双击它。
此时代码编辑器中的光标定位到OnDraw方法的代码中,将OnDraw方法中原有的代码全删除,然后添加下列代码,使OnDraw方法看起来如下:
创建ActiveX控件
HRESULT OnDraw(ATL_DRAWINFO& di) // 绘图函数
{
RECT& rc = *(RECT*); // 获取ActiveX对象所占区域大小
Rectangle( , , , , ); // 画出矩形框
HFONT hfont = CreateFont( 14, 7, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH|FF_SWISS,"宋体"); // 创建字体
SelectObject( , hfont ); // 将字体选入设备上下文
RECT msgRc; // 文字输出区域
= + 5; // 设置区域大小
= + ( - )/2; // 上
= - 5; // 右
= - 5; // 下
char *pcmsg = ConvertBSTRToString( this->m_bstrMessage ); // 将COM字符串转为多字节字符串
DrawText( , pcmsg, strlen( pcmsg ), &msgRc, 0 ); // 输出字符消息
return S_OK; // 返回成功代码
}
创建ActiveX控件