在WebBrowser中打开应用程序中的一个窗体(100分)

  • 主题发起人 主题发起人 jasonking
  • 开始时间 开始时间
J

jasonking

Unregistered / Unconfirmed
GUEST, unregistred user!
今天看到一个软件Crm软件,菜单界面用html来实现,估计可能是用了TWebBrowser.我想问一下,在WebBrowser中打开一个网页后,又如何点击这个连接弹出应用程序的一个from或者打开一个应用程序?
谢谢!
另外附加一段pb的代码,来实现同样的功能:
string ls_tagname,ls_name,ls_a
ls_tagName=ole_1.object.document.activeElement.tagName
if upper(trim(left(ls_tagName,1)))="A" then //同理可以对INPUT等响应
//ls_name = ole_1.object.document.activeElement.id
ls_a=ole_1.object.Document.activeElement.href
//然后在这里根据链接的id或者href choosecase
ls_name=right(ls_a,5)
if left(ls_name,1)='#' then
CHOOSE CASE right(ls_name ,4)
CASE "1234"
//do something
open(w_test)
END CHOOSE
end if
end if
 
各位大虾帮帮忙,如何在WebBrowser中点一个连接打开一个from(该from不是浏览网页)???
 
方法一:写一个OCX,放在网页中。这个OCX的作用是调用本地EXE(我是这么做的)
方法二:在网页中直接用VBScript使用WshShell:

Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%/notepad" & Wscript.ScriptFullName)

' This fragment returns the error code from the executed application
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)


 
上面我说的两种办法适用于从网页中调用程序,也就是说,你的网页可以不在你的Delphi程序中,可以在IE浏览器中调用位于本地的应用程序。
 
谢谢,如果在程序中用TWebBrowser打开一个网页,在该网页中如何点一个连接来打开一个窗体。查了半天也没找到delphi相关的代码与资料,反而用pb给实现了。
 
编写的应用程序做成以浏览器为界面,通过打开浏览器的方式来使用应用程序,其实在delphi中实现起来很简单,我们以用delphi6.0为例把实现的完整步骤写出如下:
1、选择“file/new/other”于new items对话框中选择activex选项,在其中选择建立activex form。此时会弹出一个对话框用于输入你所建立activex组件的名称、object pascal程序单元名称、项目名称等。还有一些activex包含版本控制编号等可选项,可以按缺省的设置直接点击ok即可。
2、现在你可以在打开的工程中来设计你的程序了,这里和一般的应用程序的设计一样,可以根据自己的需要来创建不同的form来实现自己的功能。但需要注意一点的是各form之间的调用不能用form.showmodal来实现了,需要动态调用form来实现,如以下定义过程:
Procedure Tform1.ShowForm(AFormClass:TFormClass);
Begin
With AFormClass.Create(Self) do
try
ShowModal;
finally
Free;
end;
End;
调用form2可以用:showform(Tform2),程序设计完成后,保存单元文件和工程文件到相应的目录下。假设保存在“c:/my documents”。
3、程序设计完成之后,可以准备生成你所想要的应用程序了,但这里不是点击运行,而是首先选择“project/web deployment options” 在project选项中的“Target dir”中添入“./”, “Target URL”中添入“./”, “HTML dir”中添入“./”来设置一些文件存放路径。最后选择“project/web deploy”,点击“yes to all”即可。
此时打开 “c:/my documents”会看到已生成的htm文件,打开htm文件你会看到你所设计的应用程序已经可以在浏览器中使用了。你可以用网页编辑器来修改所生成的htm文件使它更符合你的要求。至此完整的实现过程结束。实际上Delphi是把编写的应用程序编译成了activex组件,在浏览器中调用activex组件,所以只适用于一些小的应用程序。
 
TWebBrowser的onnavigator事件
根據連接的url來判斷點那個連接


小意思啦
 
zealothasu说的没错,用这个就行了 。
 
后退
顶部