首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi嵌套一个webbrowser 怎么去掉它的边框

2012-02-22 
delphi嵌套一个webbrowser 如何去掉它的边框delphi嵌套一个webbrowser,在网页设置样式后,只能去掉横的滚动

delphi嵌套一个webbrowser 如何去掉它的边框
delphi嵌套一个webbrowser,在网页设置样式后,只能去掉横的滚动条,无法去掉竖的滚动条,请问如何去掉竖的,不要改动<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。因为看见别人在没有改动这个标签的情况下,也可以实现这个功能。



[解决办法]
unit WebEventUnit;

interface

uses
Windows,OleCtrls ,ActiveX,SHDocVw;

const
DOCHOSTUIFLAG_DIALOG = 1;
DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2;
DOCHOSTUIFLAG_NO3DBORDER = 4;
DOCHOSTUIFLAG_SCROLL_NO = 8;

DOCHOSTUIDBLCLK_DEFAULT = 0;

type
TDocHostUIInfo = packed record
cbSize: ULONG;
dwFlags: DWORD;
dwDoubleClick: DWORD;
end;

TObjectProcedure = procedure of object;

TEventObject = class(TInterfacedObject, IDispatch)
private
FOnEvent : TObjectProcedure;
protected
function GetTypeInfoCount(out Count: Integer): HResult; stdcall;
function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; stdcall;
function GetIDsOfNames(const IID: TGUID; Names: Pointer; NameCount, LocaleID: Integer;
DispIDs: Pointer): HResult; stdcall;
function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer; Flags: Word;
var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;
public
constructor Create(const OnEvent: TObjectProcedure) ;
property OnEvent: TObjectProcedure read FOnEvent write FOnEvent;
end;

IDocHostUIHandler = interface(IUnknown)
['{bd3f23c0-d43e-11cf-893b-00aa00bdce1a}']
function ShowContextMenu(const dwID: DWORD; const ppt: PPOINT;
const pcmdtReserved: IUnknown; const pdispReserved: IDispatch): HRESULT;stdcall;
function GetHostInfo(var pInfo: TDOCHOSTUIINFO): HRESULT; stdcall;
function ShowUI(const dwID: DWORD; const pActiveObject:IOleInPlaceActiveObject;
const pCommandTarget: IOleCommandTarget;const pFrame: IOleInPlaceFrame;
const pDoc: IOleInPlaceUIWindow):HRESULT; stdcall;
function HideUI: HRESULT; stdcall;
function UpdateUI: HRESULT; stdcall;
function EnableModeless(const fEnable: BOOL): HRESULT; stdcall;
function OnDocWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
function OnFrameWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
function ResizeBorder(const prcBorder: PRECT; const pUIWindow: IOleInPlaceUIWindow;
const fRameWindow: BOOL): HRESULT; stdcall;
function TranslateAccelerator(const lpMsg: PMSG; const pguidCmdGroup:PGUID;
const nCmdID: DWORD): HRESULT; stdcall;
function GetOptionKeyPath(var pchKey: POLESTR; const dw: DWORD): HRESULT;stdcall;
function GetDropTarget(const pDropTarget: IDropTarget; out ppDropTarget:
IDropTarget): HRESULT; stdcall;
function GetExternal(out ppDispatch: IDispatch): HRESULT; stdcall;
function TranslateUrl(const dwTranslate: DWORD; const pchURLIn: POLESTR;
var ppchURLOut: POLESTR): HRESULT; stdcall;
function FilterDataObject(const pDO: IDataObject; out ppDORet:IDataObject): HRESULT; stdcall;
end;

TWebBrowser = class(SHDocVw.TWebBrowser,IDocHostUIHandler)
function ShowContextMenu(const dwID: DWORD; const ppt: PPOINT;
const pcmdtReserved: IUnknown; const pdispReserved: IDispatch): HRESULT;stdcall;
function GetHostInfo(var pInfo: TDOCHOSTUIINFO): HRESULT; stdcall;
function ShowUI(const dwID: DWORD; const pActiveObject:IOleInPlaceActiveObject;
const pCommandTarget: IOleCommandTarget;const pFrame: IOleInPlaceFrame;
const pDoc: IOleInPlaceUIWindow):HRESULT; stdcall;


function HideUI: HRESULT; stdcall;
function UpdateUI: HRESULT; stdcall;
function EnableModeless(const fEnable: BOOL): HRESULT; stdcall;
function OnDocWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
function OnFrameWindowActivate(const fActivate: BOOL): HRESULT; stdcall;
function ResizeBorder(const prcBorder: PRECT; const pUIWindow: IOleInPlaceUIWindow;
const fRameWindow: BOOL): HRESULT; stdcall;
function TranslateAccelerator(const lpMsg: PMSG; const pguidCmdGroup:PGUID;
const nCmdID: DWORD): HRESULT; stdcall;
function GetOptionKeyPath(var pchKey: POLESTR; const dw: DWORD): HRESULT;stdcall;
function GetDropTarget(const pDropTarget: IDropTarget; out ppDropTarget:
IDropTarget): HRESULT; stdcall;
function GetExternal(out ppDispatch: IDispatch): HRESULT; stdcall;
function TranslateUrl(const dwTranslate: DWORD; const pchURLIn: POLESTR;
var ppchURLOut: POLESTR): HRESULT; stdcall;
function FilterDataObject(const pDO: IDataObject; out ppDORet:IDataObject): HRESULT; stdcall;
end;


implementation

{ TEventObject }

constructor TEventObject.Create(const OnEvent: TObjectProcedure);
begin
inherited Create;
FOnEvent := OnEvent;
end;

function TEventObject.GetIDsOfNames(const IID: TGUID; Names: Pointer; NameCount,
LocaleID: Integer; DispIDs: Pointer): HResult;
begin
Result := E_NOTIMPL;
end;

function TEventObject.GetTypeInfo(Index, LocaleID: Integer;
out TypeInfo): HResult;
begin
Result := E_NOTIMPL;
end;

function TEventObject.GetTypeInfoCount(out Count: Integer): HResult;
begin
Result := E_NOTIMPL;
end;

function TEventObject.Invoke(DispID: Integer; const IID: TGUID;
LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo,
ArgErr: Pointer): HResult;
begin
if (DispID = DISPID_VALUE) then
begin
if Assigned(FOnEvent) then FOnEvent;
Result := S_OK;
end
else
Result := E_NOTIMPL;
end;



{ TWebBrowser }
function TWebBrowser.EnableModeless(const fEnable: BOOL): HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.FilterDataObject(const pDO: IDataObject;
out ppDORet: IDataObject): HRESULT;
begin
Result := S_FALSE;
end;

function TWebBrowser.GetDropTarget(const pDropTarget: IDropTarget;
out ppDropTarget: IDropTarget): HRESULT;
begin
Result := E_NOTIMPL;
end;

function TWebBrowser.GetExternal(out ppDispatch: IDispatch): HRESULT;
begin
Result := S_FALSE;
end;

function TWebBrowser.GetHostInfo(var pInfo: TDOCHOSTUIINFO): HRESULT;
begin
pInfo.cbSize := sizeof(TDOCHOSTUIINFO);
pInfo.dwFlags := DOCHOSTUIFLAG_DIALOG or DOCHOSTUIFLAG_DISABLE_HELP_MENU or DOCHOSTUIFLAG_NO3DBORDER;
pInfo.dwFlags := pInfo.dwFlags or DOCHOSTUIFLAG_SCROLL_NO;

pInfo.dwDoubleClick := DOCHOSTUIDBLCLK_DEFAULT;
Result := S_OK;
end;

function TWebBrowser.GetOptionKeyPath(var pchKey: POLESTR;
const dw: DWORD): HRESULT;
begin
Result := S_FALSE;
end;

function TWebBrowser.HideUI: HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.OnDocWindowActivate(const fActivate: BOOL): HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.OnFrameWindowActivate(const fActivate: BOOL): HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.ResizeBorder(const prcBorder: PRECT;
const pUIWindow: IOleInPlaceUIWindow; const fRameWindow: BOOL): HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.ShowContextMenu(const dwID: DWORD; const ppt: PPOINT;
const pcmdtReserved: IInterface; const pdispReserved: IDispatch): HRESULT;


begin
Result := S_OK;
end;

function TWebBrowser.ShowUI(const dwID: DWORD;
const pActiveObject: IOleInPlaceActiveObject;
const pCommandTarget: IOleCommandTarget; const pFrame: IOleInPlaceFrame;
const pDoc: IOleInPlaceUIWindow): HRESULT;
begin
Result := S_OK;
end;

function TWebBrowser.TranslateAccelerator(const lpMsg: PMSG;
const pguidCmdGroup: PGUID; const nCmdID: DWORD): HRESULT;
begin
Result := S_FALSE;
end;

function TWebBrowser.TranslateUrl(const dwTranslate: DWORD;
const pchURLIn: POLESTR; var ppchURLOut: POLESTR): HRESULT;
begin
Result := S_FALSE;
end;

function TWebBrowser.UpdateUI: HRESULT;
begin
Result := S_OK;
end;

end.

以前写的去掉滚动条,DELPHI2007下可以用,别的没有测试过

[解决办法]
换EmbeddedWB,这些都跟你封装好了
[解决办法]
给你个妖哥的代码
需要自己转换成Delphi的
很简单
http://topic.csdn.net/u/20090810/16/3af8c31b-2cc8-4b9c-9c6c-5e80f5a63c3b.html?95955
注意15楼的代码即可
[解决办法]
不光是body有,div,textarea,iframe之类的都有…… 
 

热点排行