InvokeHelper函式的用法

2021-06-18 12:07:11 字數 1731 閱讀 1822

(注:第乙個引數在vs2008就可以通過檢視的屬性,方法id看到,但在vc6就看不到,不知如何解決?)

當在專案中插入activex控制項classwizard生成的cwnd的派生類c++類中,可以看到其成員函式的**中都有對invokehelper函式的呼叫,invokehelper函式的第乙個引數都和對應的屬性或方法在activex控制項中的分發(dispatch)id(標識activex控制項的方法或屬性的)相對應。通過檢視activex控制項hlp檔案可以發現,activex控制項的方法在生存的c++類中都有同名的成員函式與之對應,activex控制項的屬性都有一組get和set函式對其操作,其中activex控制項的方法和屬性操作與生成的c++類成員函式相關聯都是通過invokehelper函式的呼叫來完成的,invokehelper函式的第乙個引數是由component gallery(控制項提供者)提供的。因為經過這樣的處理,所以我們如果要呼叫activex控制項的方法或對其屬性進行取和設定操作,只需呼叫生成的c++類對應的成員函式便可。

void cactivemovie3::run()

invokehelper(0x60020001, dispatch_method, vt_empty, null, null);

invokehelper(0x60020002, dispatch_method, vt_empty, null, null);

invokehelper(0x60020003, dispatch_method, vt_empty, null, null);

5、獲得檔案的函式: cstring cactivemovie3::getfilename()

cstring result;

invokehelper(0xb, dispatch_propertyget, vt_bstr, (void*)&result, null);

return result;

6、設定檔案的函式: void cactivemovie3::setfilename(lpctstr lpsznewvalue)

static byte parms = vts_bstr;

invokehelper(0xb, dispatch_propertyput, vt_empty, null, parms,

lpsznewvalue);

double result;

invokehelper(0xd, dispatch_propertyget, vt_r8, (void*)&result, null);

return result;

static byte parms = vts_r8;

invokehelper(0xd, dispatch_propertyput, vt_empty, null, parms, newvalue);

9、獲得音量的函式: long cactivemovie3::getvolume()

long result;

invokehelper(0x13, dispatch_propertyget, vt_i4, (void*)&result, null);

return result;

10、設定音量的函式: void cactivemovie3::setvolume(long nnewvalue)

static byte parms = vts_i4;

invokehelper(0x13, dispatch_propertyput, vt_empty, null, parms, nnewvalue);

函式的用法 Excel函式TREND函式的用法

trend函式是乙個線性趨勢的 函式,在已知y值 x值的條件下,x對應的y值 trend共有4個引數,三個必選引數,乙個可選引數 同樣的一組資料第四引數不同,結果也是有區別的 灰色曲線是由第四引數為false時得到的結果生成的曲線。通過斜率與截距函式我們計算出這兩條曲線的斜率與截距,可以看出,第四引...

main函式的入口函式

作業系統裝載程式之後,首先執行的 並不是main的第一行,而是某些別的 這些 負責準備好main函式執行所需要的環境,並且負責呼叫main函式,執行這些 的函式稱為入口函式或入口點 entry point 視平台的不同而有不同的名字。程式的入口點實際上是乙個程式的初始化和結束部分,它往往是執行庫的一...

返回函式的函式

廖雪峰python課程裡的 作業的兩種實現方法 1.def createcounter a 0 def counter nonlocal a nonlocal 函式是 引用外部函式 的函式 a 1 a 1等同於a a 1 return a return counter countera create...