要使用這一技巧,你就需要聲明用於剪切、復制和粘貼的常數:
PrivateConstWM_COPY=&H301
PrivateConstWM_CUT=&H300
PrivateConstWM_PASTE=&H302
然後,聲明對SendMessageAPI的調用:
PrivateDeclareFunctionSendMessageLib"user32"_
Alias"SendMessageA"(ByValhWndAsLong,_
ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong
HWnd自變量能夠接受消息發送的目的控件的句柄,而wMsg自變量會接受一個表明要被發送的是哪個對象的常數。WParam和lParam自變量被用來把其他信息同消息一起傳遞,但是不對WM_CUT、WM_COPY或者WM_PASTE使用。
下面是從菜單點擊事件調用SendMessageAPI的代碼:
PrivateSubmnuCopy_Click()
CallSendMessage(Me.ActiveControl.hwnd,WM_COPY,0,0)
EndSub
PrivateSubmnuCut_Click()
CallSendMessage(Me.ActiveControl.hwnd,WM_CUT,0,0)
EndSub
PrivateSubmnuPaste_Click()
CallSendMessage(Me.ActiveControl.hwnd,WM_PASTE,0,0)
EndSub
這個技巧能夠用於任何實現hWnd屬性,並能夠響應WM_CUT、WM_COPY和WM_PASTE消息的控件。還應該實現錯誤處理,以處理不帶hWnd屬性的控件。->