[問題] win32 關於proc函式
請教各位
我一直很不解
假如我有個"主視窗" 和一個 "button"
主視窗我利用wc.lpfnWndProc = MainWndProc; 註冊這callback函式
hWnd = CreateWindowEx(...) <=這邊有個hWndParent參數設定NULL
我理解上應該就是主視窗沒有parent 所以傳入null...
而在button的視窗註冊如以下
wc.lpfnWndProc = BtnWndProc; // Callback function
而我在他的WM_CREATE 會呼叫的函式中寫
CreateWindow(...) 這邊的hWndParent我填上BtnWndProc收到的 hwnd
不解的是 這個hwnd 是哪來的???
我一直想不透 每個視窗都有Proc
函式 而他是以什麼方式定義說我要呼叫哪一個Proc函式
是哪個函式有跟系統說 我現在這視窗的message是送給哪個proc function
我認為是createWindow(裡面填的hwnd) 但是這hwnd是從 上面講的Proc函式傳進來的(傳
進來是啥??)
讓我百思不解....
而且為啥createWindow要再WM_CREATE裡面做呢?
如果我填了hWndParent 而沒有標上WS_CHILD又會怎麼樣= =
現在有點混亂~~
主要就是想問 到底是怎麼知道我該處發哪個Proc函式@@
另外又有一個疑惑...
wc.lpszClassName 有設定class name
可是...CreateWindow( LPCTSTR lpClassName,
怎麼又設定一次class name了.....
整個架構好混亂 請指點迷津...
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.64.222
※ 編輯: QQ29 來自: 122.147.15.66 (12/28 20:01)
→
12/28 20:57, , 1F
12/28 20:57, 1F
→
12/28 20:58, , 2F
12/28 20:58, 2F
→
12/28 20:59, , 3F
12/28 20:59, 3F
→
12/28 21:02, , 4F
12/28 21:02, 4F
→
12/28 21:07, , 5F
12/28 21:07, 5F
→
12/28 21:07, , 6F
12/28 21:07, 6F
→
12/28 21:08, , 7F
12/28 21:08, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):