看板 C_and_CPP 關於我們 聯絡資訊
請問一下,我用WINDOWS API寫了一個小程式 裡面我先Register了主視窗,接著CreatWindow 接著我有用LRESULT CALLBACK的方式來做『消息處理』 ↑不知道該怎麼稱呼這個副程式 然後我也拉了一個Dialog當作菜單裡的About 整個程式就像這樣 http://ppt.cc/m7wo 可是我想請問一下,我要如何才能在主視窗的菜單下面那一片空白放東西呢? 好比放按鈕,貼文字之類等等的東西@@ 例如如果要放按鈕,是該在Register的時候就弄好 還是CreateWindow的時候?又或者是在消息處理那邊做? 因為我的菜單就是在消息處理那邊直接WM_CREATE出來的@@ 而我Dialog的視窗是用Visual studio直接拉出來的 那我如果要在主視窗放按鈕的話,也能像Dialog的方式拉出來嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.32.47
EdisonX:何不直接 CreateDialog 就好了?就不要CreateWindow. 04/25 00:01
stupid0319:在Visual studio直接拉元件進Dialog就好了 04/25 00:17
purpose:消息處理 = Window Prodecure, WndProc, Window Proc 04/25 00:17
stupid0319:功力超強者直接寫資源表也可以 04/25 00:18
purpose:一片空白應該是客戶區 (Client Area),東西應該講 Control 04/25 00:18
purpose:只有某些 WndClass 如 Dialog 可以在客戶區內放 Control 04/25 00:20
EdisonX:耶..p大說的確實是大多情形,是有種做到像MFC-CFormView. 04/25 02:11
EdisonX:像是在WM_CREATE時再做一次CreateWindow("Button"...),消 04/25 02:11
EdisonX:息訊息用WM_COMMAND / (HWND)lParam==hBtn 方式判斷. 04/25 02:12
EdisonX:< 是有點麻煩,重點是畫出來蠻醜的 Orz > 04/25 02:13
purpose:觀點不同,這樣 CreateWindow 出來的按鈕,我是看成剛好在 04/25 02:20
purpose:主視窗上空建的另一個視窗,不看成裡面的東西 04/25 02:21
EdisonX:動作確實較像空建另一個視窗無誤。 04/25 02:25
Ting1024:上面推文都錯很大 ~_~ 04/25 02:41
EdisonX:錯在哪?請 Ting1024 不吝賜教 04/25 02:47
fanntone:你絕版書看不夠熟喔XD 04/25 02:50
EdisonX:請指點一.二 04/25 02:53
Ting1024:1. Dialog跟Form要處理的情境不一樣。不能混為一談 04/25 03:42
Ting1024:2. 非 Dialog 的WIN32 API沒資源表可用 04/25 03:42
Ting1024:3. 附著於Client Area的視窗為Child window 04/25 03:43
Ting1024:不是剛好看成空建視窗。 04/25 03:43
Ting1024:結論:自己用的工具,拉一拉就好。商業軟體,那LEVEL 04/25 03:44
Ting1024:就差很多了,用IDE去拉,跟MFC差不了多少 04/25 03:45
Ting1024:台灣會寫商業水準WINDOW AP的人,滿少的。 04/25 03:46
Ting1024:也沒啥機會寫,所以就...放輕鬆吧。 XD 04/25 03:47
purpose:抱歉我錯了。我前面推文中描述的 CreateWindow 只考慮到 04/25 04:37
purpose:WS_POPUP 特性,此時建出來的按鈕其主視窗只是 Owner 位置 04/25 04:38
purpose:不限於主視窗的客戶區。應要考慮 WS_CHILD 狀況時的特性 04/25 04:38
EdisonX:感謝 Ting1024 賜教。 04/25 05:21
gozha:我是自己看這個學的.. 04/25 12:10
yoll522:痾...感謝大家的回文,可是有點看不太懂 04/25 12:14
yoll522:是說我不需要createwindow一個視窗,只需要創出dialog 04/25 12:15
yoll522:然後在dialog裡面做我要的按鈕、文字敘述、選單之類的嗎? 04/25 12:15
yoll522:可是這樣的話,那麼主視窗的用意在哪裡呢?我下面那一大片 04/25 12:16
yoll522:的空白都不能放東西嗎? 04/25 12:16
yoll522:感謝樓上提供的網址,我研究研究看看 04/25 12:20
PRAM:樓樓上推薦的書很棒,我當年也是買他的書來學 呵呵 04/25 12:58
purpose:要怎麼做要看你具體、詳細的需求,版上的人不知道你想幹嘛 04/25 14:51
fanntone:gozha大貼的就是我講的絕版書 還有你搞錯了WindowsAPI和 04/25 23:12
fanntone:MFC之間的差別,簡單說Dialog是MFC下的CObjet衍生類別 04/25 23:15
fanntone:建議看完網路上的繁體版深入淺出MFC在開始寫Code 04/25 23:19
fanntone:之其然不知其所以然 .....是很可怕的事情 04/25 23:20
EdisonX:< 所以f大那段話是和我說的嗎? > 04/25 23:20
purpose:其實 Windows API 也有 Dialog 04/25 23:22
EdisonX:我說的 CreateDialog:http://ppt.cc/uxR8 04/25 23:25
fanntone:T大說的沒錯 這兩種情況不一樣,所以在創專案時特別分成 04/25 23:36
fanntone:consloe Dialog Formview這三種(VC6) 04/25 23:38
fanntone:所以不能都摻在一起阿!! 04/25 23:39
fanntone:至於你說的要怎麼去改屬性在裡面放東西 這書上很明確說了 04/25 23:49
fanntone:創建好的時候就決定好了 不能更改~ 04/25 23:49
fanntone:以上我講的都是MFC ,WindowsAPI怎麼搞要再找資料 04/25 23:51