ATLÓëJavaScript½»»¥
ÔÌûµØÖ·£ºhttp://www.followman.com/bbs/Topic-B11-T262.aspx
JavaScript¶¯Ì¬ÏìÓ¦ATLʼþ
Ïà¹ØÌÖÂÛ:http://topic.csdn.net/t/20061012/21/5078729.html
ÖØ
µã£º½Å±¾´«¹ýÀ´µÄ¶ÔÏóÊÇIDispatch½Ó¿Ú£¬Ó¦¸ÃÓÃIDispatch::InvokeÀ´µ÷Óá£Èç¹û´«¹ýÀ´µÄÊǸöfunction£¬ÄÇôDISPID
Ϊ0£¬Èç¹ûÊǸö¶ÔÏó£¬ÄÇôҪÏÈÓÃGetIDsOfNamesµÃµ½DISPID£¬ÔÙInvoke¡£
Ïà¹ØÌÖÂÛ2:http://topic.csdn.net/u/20080418/12/3c09eb2c-fbb4-419f-8a6e-50d78ba8ff2d.html
¿Ø¼þҪʵÏÖʼþÀ´µ÷ÓÃJS½Å±¾£¬Ó¦¸ÃʹÓÃÊôÐÔ£¬ÒòΪJSÓïÑÔ±¾Éí²¢²»Ö§³ÖÁ¬½Óµã¡£¼ÙÉèÄãµÄ¿Ø¼þÊÇICtrl£¬ÒªÌí¼ÓÒ»¸öFirstEventʼþ£¬
ÏñÏÂÃæÕâÑù×ö£º
IDL£º
[propput]HRESULT FirstEvent(VARIANT* pEvent);
.h:
class CCtrl : public ICtrl
{
__stdcall HRESULT
put_FirstEvent(VARIANT* pEvent);
CComQIPtr <IDispatch>
m_spEvent;
void Fire_FirstEvent(VARIANT sType, VARIANT Msg);
}
.cpp:
HRESULT __stdcall CCtrl::put_FirstEvent(VARIANT*
pEvent)
{
assert(pEvent->vt == VT_DISPATCH);
m_spEvent = V_DISPATCH(pEvent);
return S_OK;
}
void
CCtrl::Fire_FirstEvent(VARIANT sType, VARIANT Msg)
{
if
(m_spEvent)
{
CComVariant args[2] = {sType, Msg};
DISPPARAMS dp = {args, NULL, 2, 0};
m_spEvent->Invoke(0,
IID_NULL, LOCALE_USE_DEFAULT, DISPATCH_METHOD, &dp, NULL, NULL,
NULL);
}
}
³É¹¦ÊµÀý:
IDL²¿·Ö:
[propget, id(2), helpstring("ÊôÐÔ OnShowText")]
HRESULT OnShowText([out, retval] IDispatchEx** pVal);
[propput,
id(2), helpstring("ÊôÐÔ OnShowText")] HRESULT OnShowText([in] IDispatchEx*
newVal);
JS²¿·Ö:
function
CreateATL()
{
this
.vv
=
"
ok
"
;
m
=
new
ActiveXObject(
"
ATLPro.AControl
"
);
m.OnShowText
=
function
()
//
OnShowText ÔÚATLÖÐÊÇÒ»¸ö IDispatchEx ¶ÔÏó
{
 
Ïà¹ØÎĵµ£º
javascript
µÄ±àÂëÄÜÁ¦±È½ÏÈõ£¬µ«²¢²»´úÂëËü²»ÄÜ×ö£¬Ö»²»¹ý£¬ÐèÒªÄ㻨һµã¹¦·ò£¬Ç°¶Îʱ¼äÔÚ×öÈÕÀúµÄʱºò£¬ÐèÒª´Ótextbox¶ÁÈ¡ÈÕÆÚ£¬ÎÊÌâµÄ¹Ø¼üÊÇtextbox
µÄÈÕÆÚ¿ÉÄÜÊÇÃÀ¹ú±ê×¼£¬¿ÉÄÜÊÇÖйú±ê×¼µÈµÈ£¬Ã»Óа취½«Ö®×ª³ÉÈÕÆÚ¸ñʽ£¬Ò²¾Í²»Äܽ«ÈÕÆÚÔÚÈÕÀúÖж¨Î»µ½µ±Ìì¡£ÔÚcsdnÉÏÎÊÁËÒ»¸öÎÊÌ⣬½á¹ûûÓÐÈË´ðµÃºÏ
ÊÊ£¬ÎÒÒ»ÅÖ ......
ÏÖÔÚµÄRIA£¨Rich Internet
applications)Ô½À´Ô½Á÷ÐУ¬JavascriptÔÚÕâÖмäÆðµ½Á˲»¿ÉºöÊÓµÄ×÷Óã¬Õâ¸öÊÀ½çÉÏ£¬ÍêÈ«²»ÓÃJSµÄÍøÕ¾Ó¦¸ÃºÜÉÙÁË£¬Ò»Ð©Óû§ÌåÑéºÃ
µÄÍøÕ¾£¬´ó¶à²ÉÓÃÁËFlash»òÕßJS£¬¶øÒÔJS¾Ó¶à¡£±ÈÈçÏñQunar£¬¾ÍÊÇÒÔJavascript +
AjaxΪÖ÷µÄÍøÕ¾£¬Ç°Ì¨Ò³ÃæÖ÷ÒªÊÇHTML£¬ºǫ́Éú³ÉJSONÊý¾Ý¡£ÔÙ±ÈÈç˵Ajax×îÔç´ó¹ ......
<html>
<body>
<mce:script language=javascript><!--
todayDate = new Date();
date = todayDate.getDate();
month= todayDate.getMonth() +1;
year= todayDate.getYear();
document.write("½ñÌìÊÇ")
document.write("<br>")
if(navigator.appName == "Netscape")
{
document.w ......
click() ¶ÔÏó.click() ʹ¶ÔÏó±»µã»÷¡£
closed ¶ÔÏó.closed ¶ÔÏó´°¿ÚÊÇ·ñÒѹرÕtrue/false
clearTimeout(¶ÔÏó) Çå³ýÒÑÉèÖõÄsetTimeout¶ÔÏó
clearInterval(¶ÔÏó) Çå³ýÒÑÉèÖõÄsetInterval¶ÔÏó
confirm("ÌáʾÐÅÏ¢") µ¯³öÈ·ÈÏ¿ò£¬È·¶¨·µ»ØtrueÈ¡Ïû·µ»Øfalse
cursor:Ñùʽ ¸ü¸ÄÊó±êÑùʽ hand crosshair text wait help defa ......
<html>
<head>
<script language="javascript">
function overlay() {
xyz = document.getElementById("overlay");
&n ......