Q&A

  • DWebBrowserEvents24 : TDWebBrowserEvents2 의 사용법에서 궁금한점.
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이 없어져야 되는데, 그게 안되는것 같습니다.
0  COMMENTS