DWebBrowserEvents24 : TDWebBrowserEvents2 를 사용하고 있습니다.
-- 위의 VCL을 이용해서 아래의 IE를 새로 띄우는 Procedure 입니다.
위를 사용하면, ScrollBar를 처리하는데( HScroll, VScroll 을 없애는데 문제점이 있습니다. )
procedure TForm1.EventPopUpOpenBrowser( sURL : string );
var
n_register_hwnd : HWND;
n_register_top, n_register_left, n_register_width, n_register_height : integer;
begin
try
Form1.EVENT_FIE := CreateOleObject('InternetExplorer.Application.1');
DWebBrowserEvents24.Connect (IUnknown (EVENT_FIE));
EVENT_FIE.Visible := False;
EVENT_FIE.MenuBar := False;
EVENT_FIE.StatusBar := False;
EVENT_FIE.ToolBar := 0;
n_register_hwnd := EVENT_FIE.HWND;
n_register_top := EVENT_FIE.top ;
n_register_left := EVENT_FIE.left;
n_register_width := Form1.mEventPopUpWidth;
n_register_height := Form1.mEventPopUpHeight;
EVENT_FIE.Navigate(sURL);
except
MessageBox( self.Handle, 'Unable to establish connection with Internet Explorer. Make sure you have IE installed!', '팍스온정보', MB_OK);
end;
SetWindowPos( n_register_hwnd, HWND_TOP, n_register_top, n_register_left, n_register_width, n_register_height, SWP_SHOWWINDOW );
EVENT_FIE.Visible := True;
end;
IE가 실행되면서 HScroll과 VScroll을 처리하는데 다음의 기법을 썼는데, 먹히지가 않습니다.
고수님들의 조언을 바랍니다.
procedure TForm1.DWebBrowserEvents24ProgressChange(Sender: TObject;
Progress, ProgressMax: Integer);
begin
if ProgressMax = Progress then
begin
try
Form1.EVENT_FIE.OleObject.Document.Body.Style.Border := 'none';
Form1.EVENT_FIE.OleObject.Document.Body.Style.OverflowX := 'hidden';
Form1.EVENT_FIE.OleObject.Document.Body.Style.OverflowY := 'hidden';
except
end;
end;
end;
위의처럼 하면 HScroll과 VScroll이 없어져야 되는데, 그게 안되는것 같습니다.