最近的用VB+Webbrowser做了一个应用程序框架,webbrowser完全覆盖了VB主窗体(无边框无标题栏),所有的操作全部都是通过javascript控制,包括窗体移动、缩放。呵呵,费了九牛二虎之力,研究了一通API才搞定。有没有有相关经验的大虾指点指点,这种框架有些什么要注意的问题?为了避免IE的默认设置的影响,Webbbrowser的废弃了statusTextChange,用titleChange完成一些数据返回。就是这一类的问题很头痛,发现了问题再去解决的话,web代码就要大幅修改。
解决方案 »
- 急救啊 VB+access 做的考试系统评分一直做不好
- VB6.0添加控件却无效果的问题
- VB里做加法运算 有问题,一时忘记怎么做了!!
- 谁有VB写的软键盘源程序?有这方面的资料也行?
- 关于listview,vc,java,delphi我都以经解决的问题,而vb中不知怎么去解决
- 怎样用VB制作一个下级文件(Foxpro.vbp)?
- 没有人会http://www.csdn.net/expert/topic/983/983340.xml?temp=.1515924 的问题吗?那大家来讨论一下,来者有分!!把这两个贴子的100
- 自由落体位移公式编程
- 如何把几页的内容输完再一次打出,
- 如何设置listview在详细资料模式中列头的宽度?
- vb 怎么把汉字转换成gbk编码呢?
- vb調用TLB文件問題?
在这个框架中一个关键问题是,IE的默认设置可能会产生灾难性的后果,毕竟强制用户更改IE设置,是非常不尊重用户的。至于为什么一定要用这个框架,我的理由是:1、就是想在UI方面做得像MSN一样漂亮;2、网页换肤很好控制;3、做一下实验,webbrowser加载的网页中有1000个文本框和一个VB窗体的添加了1000个文本框,且不说工作量,就比试一下这两种方式在内存占用和响应速度,我选择用webbrowser;4、当然,一些很复杂的控件,比如datagrid、treeview,在网页中很难完全实现,但一些基本功能,比如排序、滚动、拖放还是能做做到的,而且通CSS控制他们的样式,效果非常好,其实你看看本网站论坛左边的树结构,相信无论是C++还是C#,想将treeview更换一个样式绝没有CSS容易。5、将网页代码放在本地,执行速度看起来和普通的EXE没什么区别(这一点不敢保证,好像IE的有些设置会影响到本地文件的读取)。
有没有做过类似工作的大虾,给我一些建议。
http://blog.csdn.net/vansoft/archive/2008/12/18/3547261.aspx
VB6实现界面与功能代码分离
在网页中用javascript构造函数创建了一个对象,在VB中通过webbrowser引用。如果直接用document.script.对象变量名,得到的结果用varType检查,显示为8,即字符串,但是用document.script.对象变量名.对象属性名,则可以得到在javascipt中相应的数据类型。
想直接在VB中引用javascript中的对象,但如此
dim abc as object
set object=web.document.script.对象变量名
然后abc.网页对象属性名。失败了,因为“web.document.script.对象变量名”是字符串。
但是,用Type定义一个结构myabc,,然后
dim abc as new myabc
set abc =web.document.script.对象变量名
再abc.网页对象属性名,居然成功了。
不过,我不知道这是什么道理。而且,即使所Type的结构,可以与javascript的对象的结构完全不同,而abc.网页对象属性名都是正确的。生成的EXE中也能正常运行,但是不知道道理所在,很担心什么时候突然会崩溃。
以上是我在另一个帖子中问到的问题,但至今没人回。事实上确实遇到了一个可怕的问题:使用上述方法获取javascript结构体变量后,VB中不能再定义其它任何结构体,否则永远不能成功。这里所谓的永远是指:生成的EXE测试失败后,回头修改VB代码,将后来定义的结构体代码删除,很不幸,生成的测试EXE中,在读取javascript结构体变量时失败。所幸的是听了某位大虾的建议,备份勤奋,能用备份还原了。