在vb中如何调用ie的dlgHelper啊?-----------在线等!

zcm123 2005-05-06 04:58:14
<OBJECT id=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px">
</OBJECT>

......
var a=dlgHelper.fonts.count;《---------如何在VB中对该对象进行操作啊?
在网上找了好半天都没有结果郁闷...
我想得到这个值dlgHelper.blockFormats.count


var fArray = new Array();
var oDropDown = oToolBar.createDropDownListAt("4");
oDropDown.setAttribute("id","FontNameList");
......
...全文
261 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
关于dhtml在js和vbs是有很多不同的,一般msdn两种都有介绍的,你需要查一下,这个dhtml的,有很多细微的差别,我用的时候也是先查msdn的
zcm123 2005-05-12
  • 打赏
  • 举报
回复
呵呵 你的用createRange的方法和我找的到的一样啊;只不过方法有些变化而已。

最近在写用表格的一些操作 就是获得鼠标所在处的TD 这个如何获得阿?
相关的例程是这样的;


// 光标是否在表格中
var selectedTD
var selectedTR
var selectedTBODY
var selectedTable

........

function isCursorInTableCell() {
if (eWebEditor.document.selection.type != "Control") {
var elem = eWebEditor.document.selection.createRange().parentElement()
while (elem.tagName.toUpperCase() != "TD" && elem.tagName.toUpperCase() != "TH"){

elem = elem.parentElement <<----这里转化成VB程序后错误


if (elem == null)
break
}
if (elem) { //这里什么意思啊?
selectedTD = elem
selectedTR = selectedTD.parentElement
selectedTBODY = selectedTR.parentElement
selectedTable = selectedTBODY.parentElement
return true
}
}
}

*******************************
* 请问各位大侠这里如何实现阿?*
*******************************




  • 打赏
  • 举报
回复
不要把js写成这样,你用webbrowser又不用firefox的,尽量用dom的你可以用createElement

insertbefore多种方法啊,比innerhtml更容易写出有结构性的东西,否则你这么个代码你不觉得乱啊??

还有为什么不用vbs写客户端的,webbrowser对vbs的支持比对js的支持要好的多
zcm123 2005-05-10
  • 打赏
  • 举报
回复
我的意思是说在可编辑的webbrowser1中任意一个地方(比如两个表的中间)插入HTML比如下例插入Flash



function ReturnValue(){
var sFromUrl = d_fromurl.value;
var sWidth = d_width.value;
var sHeight = d_height.value;

var sHTML = "<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
if (sWidth!="") sHTML+=" width="+sWidth;
if (sHeight!="") sHTML+=" height="+sHeight;
sHTML+="><PARAM NAME=movie VALUE='"+sFromUrl+"'><PARAM NAME=quality VALUE=high><embed src='"+sFromUrl+"' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash'";
if (sWidth!="") sHTML+=" width="+sWidth;
if (sHeight!="") sHTML+=" height="+sHeight;
sHTML+=">"+sFromUrl+"</embed></OBJECT>";

dialogArguments.insertHTML(sHTML); <<-------------------这里不知道如何实现

window.returnValue = null;
window.close();
}
  • 打赏
  • 举报
回复
createRange是另外一种方法的,这个,我也是以前从msdn上找到的

set ttt=document.getElementById("sele1")
For i = 1To 50
Set oOption = document.createElement("OPTION")
oOption.Value = i
oOption.text = i

ttt.Add oOption
Set oOption = Nothing
Next


<select id="sele1">
</select>
以前写的了
zcm123 2005-05-10
  • 打赏
  • 举报
回复
终于从MSDN中找到了

这是我写的

'在当前位置插入基本对象
Public Function insertHTML(html As String)

Dim doc As IHTMLDocument2
Set doc = WebEditFrm.web.Document

If LCase(doc.selection.Type) <> "none" Then
doc.selection.Clear
End If

doc.selection.createRange.pasteHTML (html)


Set doc = Nothing

End Function
zcm123 2005-05-10
  • 打赏
  • 举报
回复
当Document.execCommand "editMode" 时 即为 可编辑状态;可以任意位置插入table 修改table ; 您有这方面的资料吗^_^ 我快郁闷死了
zcm123 2005-05-10
  • 打赏
  • 举报
回复
那个只是我仿照的例程;我的目的是写一个编辑HTML的编辑器而已.由于手头只有这些资料;所以才这样写的-_-|||

createElement 您能给一个实例吗 插入 table的 和 插入 div的 谢谢 ^_^ 为了答谢你 我将令开个200分贴
  • 打赏
  • 举报
回复
set ttt=webbrowser1.document
set nnn=ttt.createElement("div")

给你个vbs的例子

function init()

set ttt=document.getElementById("sele1")
For i = 1To 50
Set oOption = document.createElement("OPTION")
oOption.Value = i
oOption.text = i

ttt.Add oOption
Set oOption = Nothing
Next
zcm123 2005-05-09
  • 打赏
  • 举报
回复
问题又来了
如何插入DIV 或者 TABLE 阿?就是如何获得当前鼠标所在元素的id啊?
zcm123 2005-05-09
  • 打赏
  • 举报
回复
这段已经搞定了。^_^ 调用自带的调色板然后把色彩赋给
'颜色相关执行
Public Function callColorDlg(sColorType As String, scolor As Long)

WebEditFrm.web.Document.execCommand sColorType, False, scolor

End Function
这个函数就ok了


  • 打赏
  • 举报
回复
这个我能翻译的,我比较懒现在,你能把你翻译的给出来我给你改怎么样啊??*^_^*
supergreenbean 2005-05-08
  • 打赏
  • 举报
回复
不懂迷糊ing......
  • 打赏
  • 举报
回复
我知道了,是没有加载的缘故,这样就没有问题了,所以建议用documentcomplete事件去做这个的调用

现在用这个按钮就不会出错了

Private Sub Command1_Click()
Set ttt = WebBrowser1.Document
Set nnn = ttt.getElementById("dlgHelper")
a = nnn.Fonts.Count
End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "about: blank" '设置空白页
WebBrowser1.Document.Open '写入当前可编辑内容
WebBrowser1.Document.write "<HTML><HEAD><TITLE>ZCM's PRM</TITLE></HEAD><BODY STYLE='overflow:hidden; margin:0px'><OBJECT ID='dlgHelper' CLASSID='clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b' WIDTH='200px' HEIGHT='200px'></OBJECT></BODY></HTML>"

End Sub
  • 打赏
  • 举报
回复
Private Sub Form_Load()
WebBrowser1.Navigate "about: blank" '设置空白页
WebBrowser1.Document.Open '写入当前可编辑内容
WebBrowser1.Document.write "<HTML><HEAD><TITLE>ZCM's PRM</TITLE></HEAD><BODY STYLE='overflow:hidden; margin:0px'><OBJECT ID='dlgHelper' CLASSID='clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b' WIDTH='0px' HEIGHT='0px'></OBJECT></BODY></HTML>"
Set ttt = WebBrowser1.Document
Set nnn = ttt.getElementById("dlgHelper")

End Sub

测试通过,我晕,你是什么地方出问题了??
zcm123 2005-05-07
  • 打赏
  • 举报
回复
Add the object element at the top of the BODY section to create the Dialog Helper object. You must have Internet Explorer 6 or later to complete this step and subsequent steps.


<OBJECT ID=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"
WIDTH="0px" HEIGHT="0px"></OBJECT>

据说ie6上自带的
  • 打赏
  • 举报
回复
你这个ocx是什么东东啊??

从哪能下来的??我试验一下的
zcm123 2005-05-07
  • 打赏
  • 举报
回复
那如何加载呢? 我就是按照如上方式书写的啊? 结果产生自动化错误
  • 打赏
  • 举报
回复
Private Sub Form_Load()
WebBrowser1.Navigate "about: blank" '设置空白页
WebBrowser1.Document.Open '写入当前可编辑内容
WebBrowser1.Document.write "<HTML><HEAD><TITLE>ZCM's PRM</TITLE></HEAD><BODY STYLE='overflow:hidden; margin:0px'><object classid='clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6' id='WindowsMediaPlayer1'></object></BODY></HTML>"
Set ttt = WebBrowser1.Document
Set nnn = ttt.getElementById("WindowsMediaPlayer1")
End Sub

这个也能通过,能不能用getElementbyid是看你加没加载的,我是怀疑你几次都没加载成功
zcm123 2005-05-07
  • 打赏
  • 举报
回复
我在做的是网页编辑器,所以无法用静态页转向,我是这样认为的,在初始化时直接建立一个固有的htm页面和先写个静态的页面是一样的道理啊-_-
加载更多回复(14)

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧