大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 在VC++中借助DHTML增加特效

在VC++中借助DHTML增加特效

时间: 2021-07-31 作者:daque

消息财产部电子第二十二接洽所青岛分所 郎锐 弁言 跟着搜集本领的兴盛,网页的实行谈话也由首先停止的超文本标识谈话(html)兴盛到了此刻普遍运用的动静超文本标识谈话(dhtml),因为在这种新标识谈话中不妨运用css(层叠格局式表单)、javascript和vbscript等剧本谈话以及其余的少许外部com控件所以其可编制程序本领获得大大的巩固,更加是java谈话的兴盛更起到火上浇油的效率。因为java是一种功效特殊宏大的搜集谈话,所以在网页安排时常常借助其来实行少许实行起来颇为搀杂但却格外场面新颖的网页殊效。固然在另一种功效宏大且素有"windows 五官科手术钳"之称的vc++下对于某些殊效也不妨经过编制程序实行,但实行进程常常比拟搀杂,比方 模仿烽火或烟雾的疏通进程(动画)就须要用到directdraw等高档编制程序本领,本来现难度宏大于网页殊效的实行进程。正因如许,正文就对怎样把实行起来较大略的用dhtml开拓的网页殊效移植到vc++下打开计划。 1 dhtml实行的网页殊效 编写网页的html/dhtml谈话辨别于往常的编制程序谈话的一个最大特性即是源码公然,当看到一个好的网页时不妨经过"察看源文献"看到作家是怎样构造、安排该网页的,并且不妨从代码级上对其举行领会。当咱们看到其余少许好的运用步调时只能按照本人的编制程序体味和步调的实行功效来对步调的安排思绪和实行本领举行探求,而不少好的功效在无源码的情景下没辙再次编制程序实行觉得我所用,而那些在网页安排上则不生存任何题目,不妨经过参考他人写的比拟好的代码来普及本人的安排程度。 前方仍旧提到过,dhtml谈话的实行不妨经过css、百般剧本谈话、控件和javaapplet等给予实行,个中javaapplet不妨简单安排出少许特殊令人叹服的网页殊效。下图所示的网页即是一个用javaapplet插件实行的特殊传神的模仿烽火疏通进程的殊效网页。不妨经过察看源文献来查看本来新颖码: …… …… 个中firework.class是所有模仿进程的中心,其局部重要源码如次: …… public class firework extends java.applet.applet { public void init() { int width,height; symantec.itools.lang.context.setapplet(this); //{{init_controls setlayout(null); width = this.size().width; height = this.size().height; setsize(width,height); setforeground(new color(16711935)); setbackground(new color(0)); firework1 = new symantec.itools.multimedia.firework(); firework1.setbounds(0,0,width,height); add(firework1); //}} } //{{declare_controls symantec.itools.multimedia.firework firework1; //}} } …… 其须要有ie 4.0、netscape 4.03或更高本子欣赏器的扶助。 2 在vc++中引入殊效网页 在dhtml下不妨借助.class文献以插件的情势轻快实行对烽火的如实模仿,而如要经过vc++来实行一致的功效,固然也不妨经过directx本领中的directdraw本领加以实行,但仅对于该本领自己而言就足以使一个普遍步调员感触劳累,更而且此时髦没有把火苗的模仿算法商量在前!既是用dhtml实行网页殊效比拟简单,那么不妨构想:先经过dhtml做好一含有指定殊效的网页,而后想方法把该网页经过编制程序的本领将其嵌入到vc++安排的步调中,即用搀和编制程序的本领实行在vc++下的殊效安排。 搀和编制程序不妨很好的把两种或更多谈话的便宜融洽在一道,经过上风互补实行简单谈话所不许实行的特出功效。vc++依附其宏大的编制程序本领不妨很好地同vb、delphi以至汇编举行搀和编制程序,以期能到达最好功效。对于html/dhtml谈话,vc++ 6.0在mfc(微软基础类库)中供给有一个从cview派生出来的子类chtmlview。在用vc++进路途序安排时不妨将视类从chtmlview中派生,以接受其对html/dhtml的扶助个性,进而能很简单办法实行对网页的嵌入。 2.1 步调框架的创造 在创造步调框架时不妨按照须要采用各别的情势,但必需保护在结果一步选则以chtmlview为基类。即使没有采用,或要使已有步调完备上述功效也不妨经过搜罗与替代将视类头文献和源文献中一切的cview替代成chtmlview,以实行基类的变换。 2.2 殊效网页的嵌入 经过msdn扶助察看其分子因变量不妨得悉navigate2();因变量不妨在存户区表露指定的网页(搜集上的或当地的)该因变量的究竟如次: void navigate2( lpitemidlist pidl, dword dwflags = 0, lpctstr lpsztargetframename = null ); void navigate2( lpctstr lpszurl, dword dwflags = 0, lpctstr lpsztargetframename = null, lpctstr lpszheaders = null, lpvoid lpvpostdata = null, dword dwpostdatalen = 0 ); void navigate2( lpctstr lpszurl, dword dwflags, cbytearray& baposteddata, lpctstr lpsztargetframename = null, lpctstr lpszheader = null ); 纵然究竟各不沟通,但最重要的参数是第一个参数,它指定了搜集上钩页的url(一致资源定位符)或是当地机上的网页的寄存路途,须要更加指出,这边的寄存路途必需是完备的一致路途,对立路途将会引导波折。所以为了保护步调在路途变换后能平常处事,须要在表露网页之前经过getmodulefilename()因变量动静确定步调的暂时寄存路途。底下将殊效网页嵌入局部的重要实行代码引见如次: …… //获得到暂时运用步调寄存的全路途,如c:\windows\nope.exe情势 char exefullpath[max_path]; getmodulefilename(null,exefullpath,max_path); //将路途辨别出来,获得如c:\windows\的情势 cstring string; string.format("%s",exefullpath); exefullpath[string.getlength()-9]='\0'; string.format("%s",exefullpath); //在路途后增添殊效网页的路途,获得如c:\windows\test.html的情势 string+="test.html"; //在存户区表露具备殊效的网页 navigate2(string,null,null); …… 过程dhtml网页嵌入后的vc++步调的运转功效如上海图书馆所示,在步调中符合的运用网页殊效不妨起到粉饰界面,加 强者机和睦水平等较好的功效。 3 总结 正文经过对chtmlview的派生接受实行了在vc++下嵌入dhtml谈话,并可借助所嵌入的dhtml谈话实行少许在vc++中难以做到的或是实行起来颇为搀杂的殊效,并以此充分步调的人机界面。正文所述思维具备较好的通用性。步调在windows 98下,由microsoft visual c++ 6.0编写翻译经过,欣赏器为ie 6.0。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.