1. Delphi에서 WebBrowser을 이용하여 popup을 띄우기
//새창을 띄울경우 원하는폼에 팝업을 띄울수 있다.
procedure TfrmMain.WebBrowser1NewWindow2(ASender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
Form2: TForm1;
begin
Form2 := TfrmNotice.Create( nil );
ppDisp := Form2.WebBrowser1.DefaultInterface;
Form2.Show;
end;
1-1. Delphi에서 WebBrowser을 이용하여 popup을 띄운후 닫히는 시점알기
1) HTML 에서 window.close();를 찾아내어
window.status='close';를 적용한다.
...
.....
<script language="javascript">
function XXXXXXXX
{
window.status='close';
window.close();
}
</script>
.....
...
2) Delphi 에서 WebBrowser 의 StatusTextChange event에 작성한다.
procedure TfrmNotice.WebBrowser1StatusTextChange(ASender: TObject; const Text: WideString);
var
sWindowResult : string;
begin
if sWindowResult = 'close' then
begin
Close
end;
end;
cf) 특정pc에서 작동이 잘 안된다..
아래 WebBrowser1WindowClosing에다 작업하는것이 훨씬 수월함
1-2. Delphi에서 WebBrowser을 이용하여 popup을 띄운후 닫히는 시점알기
procedure TfrmZipHelp.WebBrowser1WindowClosing(ASender: TObject;IsChildWindow: WordBool; var Cancel: WordBool);
begin
//주소 자료 끌어오는 코딩 작업한다.
end;
ps. WebBrowser1 강제죵료하기
procedure ParentNotify(var Msg: TMessage); message WM_PARENTNOTIFY;
implementation of message handler:
procedure TMyForm.ParentNotify(Var Msg: TMessage);
begin
if (msg.WParamLo = WM_DESTROY) and (msg.LParam = WebBrowser1.Handle) then close;
end;
--------------------------------------------------------------------------------------
2. Delphi에서 WebBrowser을 이용하여 popup을 띄우기
1) html에서 아래와 같이 name 설정이 되어 있어야 한다.
<input type="button" name='btn' value="주소검색" onclick="goPopup();">
2) Delphi 에서 WebBrowser에서 name='btn' 로 설정된 값을 찾아 click event를 실행한다.
procedure TfrmMain.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; const URL: OleVariant);
var
i : integer;
begin
for i := 0 to WebBrowser1.OleObject.document.body.getelementsbytagname('INPUT').Length - 1 do
begin
if (WebBrowser1.OleObject.document.body.getelementsbytagname('INPUT').Item(i).NAME = 'btn') then begin
WebBrowser1.OleObject.document.body.getelementsbytagname('INPUT').Item(i).Click;
break;
end;
end;
end;
[출처] 웹페이지(html) 메뉴이벤트 델파이와 연동하기|작성자 김동학
'program' 카테고리의 다른 글
Ethernet 랜카드의 MAC adress 구하기 (0) | 2016.01.20 |
---|---|
delphi + xml 만들기, 읽기 (0) | 2016.01.08 |
pgsql 암호화 복호화 (0) | 2015.06.26 |
이미지 빠지지 않는 QuickReport 용 TQRImage 호환 (0) | 2015.06.18 |
pssql 일괄 업데이트 쿼리 예 (0) | 2014.12.26 |