請教sendmessage用法 |
答題得分者是:ray24
|
bcb902146
一般會員 發表:67 回覆:33 積分:22 註冊:2002-07-20 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 誰能交我sendmessage用法呢 劉維翔SendMessage() 是 Windows 的 API 在裝 BCB 時要把 MS Help 的選項打勾才會安裝,只要有安裝 MS Help ,在 BCB 內打個 SendMessage 再按個 F1 說明就出來了。 語法: LRESULT SendMessage( HWND hWnd, // handle of destination window UINT Msg, // message to send WPARAM wParam, // first message parameter LPARAM lParam // second message parameter );而 Msg 則是系統內定或是自定的訊息 ID,如果是系統的訊息,一樣可以在 MS Help 中查到那個訊息的作用。 而 wParam,lParam 則是對應的訊息所需的參數,會在訊息 ID 的那一頁說明中看到這兩個參數應該放什麼及其用途。
------
http://www.ViewMove.com |
ray24
中階會員 發表:18 回覆:88 積分:56 註冊:2002-07-24 發送簡訊給我 |
引言: 誰能交我sendmessage用法呢 劉維翔轉載自 C Builder 編程文集 在C Builder中,如何響應消息及自定義消息? 在 Borland C Builder 中,也可以象在 Delphi 中一樣響應消息,只是看起來要稍復雜一點。 對于系統已定義的消息,可以直接響應,而對于非系統消息可以照如下自定義︰ //以下代碼寫在頭文件中︰ #define WM_MY_OPEN_CMDLINE_FILE (WM_USER 1) //進程間通訊的自定義消息 #define WM_MY_SEARCH_NODE (WM_USER 2) //查找命令的自定義消息 class TSomeForm : public TForm {//某窗體的類定義 //...類中的其它代碼 protected: //消息的響應過程 void __fastcall OpenCmdLineFile(TMessage Message); void __fastcall SearchDocumentNode(TMessage Message); void __fastcall GetWindowMinMaxInfo(TWMGetMinMaxInfo Message); //通過以下宏定義實現消息的正確響應 BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_MY_OPEN_CMDLINE_FILE, TMessage, OpenCmdLineFile) MESSAGE_HANDLER(WM_MY_SEARCH_NODE, TMessage, SearchDocumentNode) MESSAGE_HANDLER(WM_GETMINMAXINFO , TWMGetMinMaxInfo, GetWindowMinMaxInfo) END_MESSAGE_MAP(TForm) };//end class -------------------------------------------------------------------------------- //以下為實現代碼,寫在模塊文件中︰ void __fastcall TSomeForm::OpenCmdLineFile(TMessage Message) {//直接通過消息結構傳遞參數 LPSTR lpCmdLine=(LPSTR)Message.LParam;//從Message中取得參數 this->HandleCmdLineFile(lpCmdLine);//處理命令行的參數 return; } -------------------------------------------------------------------------------- void __fastcall TSomeForm::SearchDocumentNode(TMessage Message) {//響應查找消息 //Message中的參數在此處不需要。 this->SearchNode(); return; } -------------------------------------------------------------------------------- void __fastcall TSomeForm::GetWindowMinMaxInfo(TWMGetMinMaxInfo Message) {//設置主窗口的最小尺寸 MINMAXINFO *MinMaxInfo=Message.MinMaxInfo; MinMaxInfo->ptMinTrackSize.x=400; MinMaxInfo->ptMinTrackSize.y=300; return; } 其中︰TMessage和TWMGetMinMaxInfo類型的定義可參見︰C:\Program Files\Borland\CBuilder\inlucde\vcl\Messages.hpp;其它的消息響應方法與此相同。 另外,可以為自定義的消息也定義一個對應的消息結構(如︰TSearchNode_Message),至于如何定義消息結構, 可以參考 Borland 的源代碼︰C:\Program Files\Borland\CBuilder\inlucde\vcl\Messages.hpp
------
台上一分鐘,台下十年功 |
gleo
一般會員 發表:3 回覆:9 積分:7 註冊:2004-01-08 發送簡訊給我 |
|
CuteBabyBoy
初階會員 發表:18 回覆:97 積分:48 註冊:2003-07-11 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |