Q&A

  • IE프로그램 창을 오브젝트로 해서.. 어플에 낑가 넣을수 있는지..
IE창을 구현해야 하는데.. 어럽군요..
IE프로그램 자체를 어플에 낑가 넣을수 없을까요..
그럼 즐겨찾기, 히스토리 구현 안해도 되잖지 않겠습니까..
2  COMMENTS
  • Profile
    유응철 2005.06.22 03:39
    당연히 넣을 수 있죠..

    페이지컨트롤에다 넣는건데...음... 보시면 아실거에여...ㅡ.ㅡ; 저도 걍 테스트용으로 한번 해본거라..
    procedure TForm1.Button1Click(Sender: TObject);
    var
      wlong: DWORD;
    begin
      if PageControl1.PageCount = 10 then begin
        showmessage('열개만 실행하랬지 ㅡ.ㅡ; ');
        exit;
      end;

      Button1.Enabled := False;
      ASheet:=TTabSheet.Create(Form1);
      ASheet.PageControl:=PageControl1;

      tabCnt := PageControl1.PageCount-1;
      ASheet.Name := 'tab' + intToStr(tabCnt);
      ASheet.Caption:= 'tab' + intToStr(tabCnt);
      ASheet.PageIndex := tabCnt;

      ShellExecute(tmp_Handle, 'open', pchar('http://naver.com'), '','', SW_SHOWNORMAL);
      sleep(200); // 프로그램이 로딩이 늦어서 핸들값 못 가져올까봐...ㅡ.ㅡ;
      tmp_Handle := FindWindow(PChar('IEFrame'),nil);

      if tmp_Handle = 0 then
        exit
      else begin
        Windows.SetParent(tmp_Handle, PageControl1.Pages[tabCnt].Handle);
        Handle_value[tabCnt] := tmp_Handle;
      end;

    // Title 바를 없앤다.
      wlong := GetWindowLong(tmp_Handle, GWL_STYLE);
      wlong := wlong - WS_CAPTION - WS_BORDER - WS_POPUP;;
      SetWindowLong(tmp_Handle, GWL_STYLE, wlong);

    // 위치를 조절한다.
      SetWindowPos(tmp_Handle, HWND_TOP, 0, 0, PageControl1.Pages[tabCnt].Width, PageControl1.Pages[tabCnt].Height, SWP_NOACTIVATE or SWP_NOOWNERZORDER);
      PageControl1.ActivePageIndex := tabCnt;
      Button1.Enabled := True;
    end;


  • Profile
    최용일 2005.06.17 04:04
    안녕하세요. 최용일입니다.

    델파이의 TWebBrowser를 이용해보세요.

    TWebBrowser자체에서 히스토리 되구요, 즐겨찾기는 팁란이나 강좌란 질답란 찾아보시면 목록 얻는 방법나와있습니다.

    ^^ 항상 즐코하세요...