WebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ
WebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ
ÓÉÓÚÏîÄ¿ÐèÒª£¬½üÀ´Ñо¿ÁËÒ»ÏÂWebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ,ÕûÀíÁËÒ»ÏÂÕâ¶Îʱ¼äÑо¿µÄ½á¹û,дÏÂÀ´Ò»ÊÇ·½±ã´ó¼Ò²éÔÄ,¶þÒ²¿ÉÒÔ¼ÓÉîÎÒ×Ô¼ºµÄ¼ÇÒä.Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú… …,ͬʱ,Èç¹ûÓиüºÃµÄ´¦Àí·½Ê½»òÕßÎÒûÓÐÌáµ½µÄÎÊÌâ,Çë´ó¼ÒÒ²¸æËßÎÒŶ, ÔÛÃÇÒ»¿é½ø²½… ...,ÆäÖÐÒ»²¿·ÖÊÇÎÒ´ÓÍøÂçÖÐËѼ¯µÄ×ÊÁÏ,ллÄÇЩÐÖµÜÃÇ… …
MSHTML°ÑHTMLÒ³ÃæÖеÄÔªËØ·â×°³ÉÁËIHTMLInputElement¡¢ IHTMLInputButtonElement¡¢IHTMLInputTextElement¡¢IHTMLTextAreaElement¡¢IHTMLTitleElement¡¢IHTMLFormElementµÈµÈ×é¼þ½Ó¿Ú¡£
ÔÚ³ÌÐòÖпÉÒÔͨ¹ýMSHTMLÌṩµÄIHTMLDocument2½Ó¿ÚµÃµ½Õû¸öDocument¶ÔÏó£¬IHTMLElementCollection½Ó¿ÚµÃµ½ËùÓÐÒ³ÃæÔªËØµÄ¼¯ºÏ,ͨ¹ý¸Ã½Ó¿ÚµÄItem·½·¨¿ÉÒԵõ½¾ßÌåµÄij¸ö×é¼þ,È»ºóÉèÖúͶÁÈ¡¸Ã×é¼þµÄÊôÐÔÖµ¡£
ÏÂÃæÊÇһЩ³£Óù¦ÄܵÄÊÂÀý´úÂë.
1£® ´ò¿ªÄ³¸öÒ³Ãæ£º
web.Navigate(ExtractFilePath(Application.ExeName) + 'Template/login.html');
2£® È¡³öÒ³ÃæÖÐij¸öHtmlElementµÄValueÊôÐÔÖµ£º
function GetValueByElementName(web: TWebBrowser; elementName: string; index: integer): string;
begin
result := (((web.Document as IHTMLDocument2).body.all as
IHTMLElementCollection).item(elementName, index) as IHTMLInputElement
).value
end;
3£® ¸øHtmlElementÉèÖÃValueÊôÐÔ
procedure SetValueTextAreaName(web: TWebBrowser; elementName, value: string;index: integer);
begin
(((web.Document as IHTMLDocument2).body.all as
IHTMLElementCollection).item(elementName, index) as IHTMLTextAreaElement
).value := value;
end;
4£® ÅжÏÒ³ÃæÖ´Ðнá¹ûÊÇ·ñ³É¹¦
ÒòΪWebÓ¦ÓÃÖÐÈç¹û³ö´íµÄÒ»°ãÊDzÉÓôíÎóÒ³ÃæµÄ·½Ê½³ÊÏÖ¸ø×îÖÕÓû§,ËùÒÔÎÒÃÇÒ²ÎÞ·¨×¥µ½Http´íÎó,Ö»ÄÜͨ¹ýÔÚwebBeforeNavigate2ʼþÖн«URL²ÎÊý¼Ç¼µ½È«¾Ö±äÁ¿ÖÐ, È»ºóÔÚwebDocumentCompleteʼþÖиù¾ÝURL²ÎÊýºÍÈ«¾Ö±äÁ¿ÖеÄURL²ÎÊýÀ´ÅжÏÖ´Ðнá¹ûÊÇ·ñÕýÈ·.µ±È»,ÕâÑùÐèÒª½«Ò³ÃæµØÖ·±àÂëµ½´úÂëÖÐ,½µµÍÁËÁé»îÐÔ,µ«ÊÇÕâÒ²ÊÇÎÒÄÜÏëµ½µÄΨһµÄ·½·¨,Èç¹û´ó¼ÒÓÐʲôºÃµÄ·½·¨,Çë¸æËßÎÒŶ.
5£® ÆÁ±ÎÊó±êÓÒ¼üºÍijЩ¿ì½Ý¼ü
±¾¹¦ÄÜÐèÒªÔÚwebBrowserµÄ´°¿ÚÖмÓÈëApplicationEvents×é¼þ,ÉèÖÃËüµÄOnMessageʼþ´úÂëÈçϼ´¿É.
procedure TwebAdapterForm.ApplicationEvents1
Ïà¹ØÎĵµ£º
ÒýÓÃ×Ô£ºhttp://develop.csai.cn/delphi/NO000001.htm
×Ô¶¯Íê³É¼ò½é
¡¡¡¡´ó¼ÒÒ»¶¨¶¼·Ç³£ÊìϤIEä¯ÀÀÆ÷µÄµØÖ·ÊäÈë±à¼¿ò£¬ËüÌṩÁË×Ô¶¯Íê³ÉµÄ¹¦ÄÜ¡£×Ô¶¯Íê³É£¨Auto Complete£©¹¦Äܼò»¯Á˱༿òµÄÊäÈ빦ÄÜ£¬Ëü¿ÉÒÔ¸ù¾ÝÒѾÊäÈëµÄ²¿·Ö×Ö·û´®½øÐÐÔ¤²âºÍÆ¥Å䡣ͼ2.7µÄÀý×Ó£¬ÑÝʾÁË×Ô¶¯Íê³É¿ÉÒÔÒÀ¾ÝÊäÈëµÄ“pro”£¬¸ø³ ......
ÔÚDELPHIΪ±à³ÌÕßÌṩÁËÒ»¸öÁé»îµÄ»æÍ¼³¡Ëù,¼´±¾ÎÄËùÊöµÄ
CANVASÀà,ÔÚDELPHIÖÐµÄºÜ¶à¿Ø¼þ¶¼¾ßÓдËÊôÐÔ,ʹ±à³ÌÕß¿ÉÒÔ
ÔÚÕâЩµÄ¿Ø¼þµÄ±íÃæËæÐÄËùÓûµÄ»æÍ¼,Õâ¶ÔÍêÉÆÓû§½çÃæ»òÕßÖÆ
×÷һЩÆÁÄ»ÌØ¼¼¶¼ÓÐ×Å·Ç·²µÄ×÷ÓÃ,ÏÂÃæ¾ÙÀý˵Ã÷¼¸ÖÖÌØÊâÆÁÄ»
......
procedure TForm1.Button1Click(Sender: TObject);
Var
Num: Integer;
Begin
Try
Num:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Num*Num);
Except
On EConvertError Do ShowMessage(Edit1.Text+'ÎÞ·¨×ª³ÉÕûÊý!');
......
ǰÑÔ
¾¡ÈýÄêÀ´£¬±¾ÈËÂ½ÐøÐ´ÁËÁùÊ®¶àƪBOLOÎÄÕ£¬ÆäÖоø´ó²¿·ÖÊÇÓйØÍ¼Ïñ´¦ÀíµÄ£¬Òò´Ë£¬ÓÐÈËÏ·³ÆÎÒΪͼÏñ´¦Àíר¼Ò£¨»òGDI+ר¼Ò£©£¬´ËÏ·³Æµ±È»ÊǶÔÎÒµÄÔÞÑµ«ÎÒ×Ô¼ºÈ´¾õµÃÂÔº¬Ò»Ë¿Ë¿±áÒ壬¼´³ýÁËͼÏñ´¦Àí£¬±ðµÄ·½Ã棨ÈçÍøÂç¡¢Êý¾Ý¿âµÈ£©¶¼²»Õ¦µÄ£¬ÊÂʵҲȷʵÈç´Ë¡£
ÎÒÊÇÒ»Ãû»ú¹Ø¹¤ ......