网上找了个,它是显示的资源文件里的内容,不知道怎么改成显示自己的HTMLunit HTMLDlgMain;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OLE2, OleAuto;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}//{$R html.res}type
TShowHTMLDialogFn = function( const hwndParent : HWND; const pmk : IMoniker;
const pvarArgIn : Variant; const pchOptions : POleStr;
var pvarArgOut : Variant ):HResult stdcall;var
hInstHTML : THandle;
ShowHTMLDialog : TShowHTMLDialogFn;
function CreateURLMoniker( const pmkContext : IMoniker; const szURL : POleStr;
var ppmk : IMoniker ):HResult stdcall; external 'URLMON.DLL';procedure TForm1.Button1Click(Sender: TObject);
const
ASTR = 'ABCD<br>EFGH';
var
ResURLStr : POleStr;
pmk : IMoniker;
HRes : HResult;
InParam : Variant;
OutParam : Variant;
ModuleName : array[0..100] of char;begin
GetModuleFileName(hInstance,ModuleName,100);
ResURLStr:=StringToOleStr('res://'+StrPas(ModuleName)+'/RT_HTML/HTML_RESOURCE');
OleCheck(CreateURLMoniker( nil, ResURLStr, pmk));
SysFreeString(ResURLStr); TVarData(InParam).VType:=varOleStr;
TVarData(InParam).VOleStr:=StringToOleStr('Argument 1;Argument 2;Argument 3;Argument 4; Pleasant discussion 1');
OleCheck(ShowHTMLDialog( Handle , pmk, InParam, nil, OutParam));
InParam:=Unassigned;
if VarType(OutParam)=varOleStr then
MessageDlg('Dialog returned '+OutParam,mtInformation,[mbOK],0)
else
MessageDlg('Dialog canceled!',mtInformation,[mbOK],0);
end;initialization
hInstHTML:=LoadLibrary('MSHTML.DLL');
if hInstHTML=0 then
MessageDlg('Unable to LoadLibrary(''MSHTML.DLL'') - Nothing will work!',mtError,[mbOK],0); if hInstHTML>0 then
@ShowHTMLDialog:=GetProcAddress(hInstHTML,'ShowHTMLDialog')
else
@ShowHTMLDialog:=nil;finalization
FreeLibrary(hInstHTML);
end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OLE2, OleAuto;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}//{$R html.res}type
TShowHTMLDialogFn = function( const hwndParent : HWND; const pmk : IMoniker;
const pvarArgIn : Variant; const pchOptions : POleStr;
var pvarArgOut : Variant ):HResult stdcall;var
hInstHTML : THandle;
ShowHTMLDialog : TShowHTMLDialogFn;
function CreateURLMoniker( const pmkContext : IMoniker; const szURL : POleStr;
var ppmk : IMoniker ):HResult stdcall; external 'URLMON.DLL';procedure TForm1.Button1Click(Sender: TObject);
const
ASTR = 'ABCD<br>EFGH';
var
ResURLStr : POleStr;
pmk : IMoniker;
HRes : HResult;
InParam : Variant;
OutParam : Variant;
ModuleName : array[0..100] of char;begin
GetModuleFileName(hInstance,ModuleName,100);
ResURLStr:=StringToOleStr('res://'+StrPas(ModuleName)+'/RT_HTML/HTML_RESOURCE');
OleCheck(CreateURLMoniker( nil, ResURLStr, pmk));
SysFreeString(ResURLStr); TVarData(InParam).VType:=varOleStr;
TVarData(InParam).VOleStr:=StringToOleStr('Argument 1;Argument 2;Argument 3;Argument 4; Pleasant discussion 1');
OleCheck(ShowHTMLDialog( Handle , pmk, InParam, nil, OutParam));
InParam:=Unassigned;
if VarType(OutParam)=varOleStr then
MessageDlg('Dialog returned '+OutParam,mtInformation,[mbOK],0)
else
MessageDlg('Dialog canceled!',mtInformation,[mbOK],0);
end;initialization
hInstHTML:=LoadLibrary('MSHTML.DLL');
if hInstHTML=0 then
MessageDlg('Unable to LoadLibrary(''MSHTML.DLL'') - Nothing will work!',mtError,[mbOK],0); if hInstHTML>0 then
@ShowHTMLDialog:=GetProcAddress(hInstHTML,'ShowHTMLDialog')
else
@ShowHTMLDialog:=nil;finalization
FreeLibrary(hInstHTML);
end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货