什麼是WindowProc? |
尚未結案
|
hornacek
一般會員 發表:29 回覆:76 積分:21 註冊:2004-02-02 發送簡訊給我 |
void __fastcall TMyListBoxDescendant::SubClassWndProc(Messages::TMessage &Message) { if (Message.Msg == WM_STYLEMESSAGE) Style = (TListBoxStyle)Message.WParam; else WndProc(Message); } void __fastcall TMyListBoxDescendant::ToggleSubClass(bool On) { if (On) WindowProc = SubClassWndProc; else WindowProc = WndProc; } void __fastcall TForm1::SubClassRadioGroup1Click(TObject *Sender) { MyListBoxDescendant1->ToggleSubClass(SubClassRadioGroup1->ItemIndex == 0); }想請教一下,什麼是WindowProc?它有什麼作用? 上面的code是擷取於BCB Help,請教一下,它的用意是什麼?謝謝! |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
hornacek
一般會員 發表:29 回覆:76 積分:21 註冊:2004-02-02 發送簡訊給我 |
引言: hornacek:請參考MS$網站,一堆資料! http://search.microsoft.com/search/results.aspx?st=b&na=88&View=zh-tw&qu=WindowProc 請參考! Andy Chang感謝Andy chang幫我找到一些我可以參考的資料。 我之前有看過BCB Help檔的說明,大概可以模糊的猜測它的意思,但是就是不知道這是做什麼用的?它的使用時機是什麼?好處是什麼?為什麼有這個東西?我之前寫的程式似乎都沒有用到這個東西?我是看了別人的程式才知道有這個東西存在,卻不知道為什麼要加這個? |
jimchung
一般會員 發表:0 回覆:2 積分:0 註冊:2004-09-18 發送簡訊給我 |
剛好我跟同事有用到WindowProc寫了一個程式,是要用來偵測電腦 USB device的插拔,稍微試了一下,跟看了MSDN的心得是,WindowProc可以用來在OS執行系統內的程式之前,你可以用WindowProc來攔截與設定一些其程式的動作,譬如說我跟同事就用WindowProc所發送出的系統訊息如,WM_DEVICECHANGE來得知目前電腦上的硬體有更動,也就可以得知有USB Device的插拔了,這是目前的作法,不過我們又發現好像可以用另一個方法得知,總言之,就是系統是發出一些訊息給所有的Application,而你可以在系統執行程式前做攔截做指定的動作。
MSDN中的參考:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/WindowProcedures/WindowProcedureReference/WindowProcedureFunctions/CallWindowProc.asp
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |