[問題] MFC新手問題

看板C_and_CPP作者 (kerker)時間12年前 (2011/11/18 11:56), 編輯推噓3(3023)
留言26則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 最近幾天才剛接觸 MFC 之前都沒寫過視窗程式.. 所以很多問題都問辜狗.. 但以下這個問題我實在不知道怎麼問QQ 我有一個 Dialog 的 class 這個 Dialog 下有一個 group box 的元件 然後這個 group box 下我放了幾個編輯方塊、文字、按鈕之類的(動態產生的) 類似這樣: ┌ Groupbox ───────────────┐ │ │ │┌─┐┌──────────┐┌───┐│ │└─┘└──────────┘└───┘│ │┌─┐┌──────────┐┌───┐│ │└─┘└──────────┘└───┘│ └────────────────────┘ 我為了定位方便, 把他們的 parent 都設成那個 groupbox 這樣我就可以以 groupbox 的左上角當作原點 可是我在做訊息的時候就無法 work 了 (因為他們的 parent 是 group box 而不是 dialog) 我對每一個元件 setOwner 為 dialog 也沒用 請問版上的大大 我應該怎麼做比較好呢? 1. 放棄這樣定位,改用別種方式 2. 有別種方法可以處理 child 的訊息? 或是內部元件可以指定處理訊息的 class? 3. 或是為 group box 建立一個 class 此 class 負責 forward message 給 parent? 謝謝 :D -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.63.100.2 ※ 編輯: weitsun 來自: 210.63.100.2 (11/18 12:32) ※ 編輯: weitsun 來自: 210.63.100.2 (11/18 12:34) ※ 編輯: weitsun 來自: 210.63.100.2 (11/18 14:16)

11/18 17:19, , 1F
你要處理什麼樣的訊息?
11/18 17:19, 1F

11/18 17:21, , 2F
ON_CONTROL_RANGE 的 BTN_CLICKED
11/18 17:21, 2F

11/18 17:21, , 3F
我是想問有經驗的大大都怎麼寫比較好,關於定位..
11/18 17:21, 3F

11/18 17:22, , 4F
不過我後來放棄,直接絕對位置定位了 噗
11/18 17:22, 4F

11/18 17:33, , 5F
我以前一個作法供參考:
11/18 17:33, 5F

11/18 17:34, , 6F
把定位的座標點都寫在header file裡面,用程式定位
11/18 17:34, 6F

11/18 17:34, , 7F
遇到客戶的圖片layout位置改變的時候,只要改header
11/18 17:34, 7F

11/18 17:34, , 8F
這樣dialog上面怎麼亂拉就沒差了
11/18 17:34, 8F

11/18 21:10, , 9F
priv 大的意思是先拉元件,亂放位置,再統一由ap定位嗎??
11/18 21:10, 9F

11/18 21:11, , 10F
(是的話我感到佩服,子控制多的時候算距離,位置很累!!)
11/18 21:11, 10F

11/18 22:21, , 11F
沒辦法,當ui設計來的是一張圖的時候...
11/18 22:21, 11F

11/18 22:22, , 12F
而且每星期改一次,不這樣會拉到死
11/18 22:22, 12F

11/18 22:29, , 13F
有時候更麻煩是不同語言字串寬度不同
11/18 22:29, 13F

11/18 22:29, , 14F
所以與其手拉,最後還是程式控制方便
11/18 22:29, 14F

11/18 22:47, , 15F
要是我元件數量不一定,而是動態產生的呢?
11/18 22:47, 15F

11/18 22:47, , 16F
例如每按一個按鈕,就跑出一個文字欄位跟一個按鈕
11/18 22:47, 16F

11/18 22:47, , 17F
從上往下排
11/18 22:47, 17F

11/19 00:45, , 18F
1 or 3, 即便是動態生成,也可以在建立時取得groupbox的rect
11/19 00:45, 18F

11/19 00:45, , 19F
多算一下應該還好... 不然就採3的方法也是可行,但還是建議1
11/19 00:45, 19F

11/19 00:52, , 20F
我還是不懂你的問題@_@ 你是要:
11/19 00:52, 20F

11/19 00:52, , 21F
1. 按下button後 叫dialog做事 還是
11/19 00:52, 21F

11/19 00:53, , 22F
2.每個BUTTON要做自己的事?
11/19 00:53, 22F

11/20 10:58, , 23F
按下button後,dialog收到訊息做事
11/20 10:58, 23F

11/20 10:58, , 24F
但每個button做的事可能不同,用switch case判斷
11/20 10:58, 24F

11/20 10:59, , 25F
最後我決定改另一種定位方式了XD 就如WPC001大所說的那樣
11/20 10:59, 25F

11/20 10:59, , 26F
謝謝大家囉 :)
11/20 10:59, 26F
文章代碼(AID): #1EnTUBTg (C_and_CPP)