小弟做了個小練習,想用SendMessage()傳遞一個CArray<CString> 型別的引數,該如何做啊,對MFC的WPARAM和LPARAM一點都不熟悉,我發現我做MFC的東西一半時間都在糾結 型別轉換的事情...
而且感覺MFC的訊息相應機制沒有QT的信號和槽靈活啊,用起來不是特別適應。
uj5u.com熱心網友回復:
SendMessage 后兩個引數可以發送指標uj5u.com熱心網友回復:
發的是指標啊,但是各種報cannot convert啊。這倆引數到底咋用啊。
uj5u.com熱心網友回復:
msdn查視窗訊息uj5u.com熱心網友回復:
試試;::SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)(LPCSTR)symbols.GetAt(i));//symbols是CArray型別,i是回圈變數
ps:俺 是新手,最好別追問哈。
uj5u.com熱心網友回復:
把CArray指標強制轉換成WPARAM接收的時候又強制轉換成CArray指標
uj5u.com熱心網友回復:
SendMessage() 可以通過lparam或wparam傳資料或指標,你的資料可以定義為一個結構體,然后將結構體的指標通過wparam或者lapram傳出,uj5u.com熱心網友回復:
::SendMessage(hwnd,WM_CHAR,1,0);利用WM_CHAR系統訊息,
變數內容通過靜態變數傳遞,不就可以了嗎?
uj5u.com熱心網友回復:
請那些喜歡將陣列作為函式引數傳來傳去或作為函式回傳值的碼農思考一下為什么不把整個互聯網內容當作函式引數傳來傳去或作為函式回傳值呢?
uj5u.com熱心網友回復:
一般傳遞的都是地址而已,比如一個int變數int n = 10;
SendMessage(xxx,(WPARAM)&n ,0);
接收方就是
int *p = (int*)wl;
PostMessage就不可以傳遞區域變數的地址了
uj5u.com熱心網友回復:
訊息傳遞引數只能做指標轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/98246.html
標籤:基礎類
上一篇:MFC 實作行程調度 斷言
