[問題] 關於分頁(TabControl)

作者: ybelauren (真的嗎)   2015-04-26 23:54:47
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC2005
問題(Question):
最近在練習分頁的使用,目標是在APP主頁下點選分頁,使之可在分頁中做動作
接著對分頁做[加入類別],去新增CPP與H檔,做到這邊是有辦法切換分頁但沒內容
後來對主頁及分頁去做[加入變數],有辦法控制主頁每個頁簽名稱,但沒辦法在主
頁頁簽內顯示分頁內容,想請教接下來該怎麼去做?謝謝
作者: EdisonX (卡卡獸)   2015-04-27 00:48:00
這有點複雜.. 步驟大概如下(1) 第一個概念是,每個分頁內容其實就是一個 Dialog(2) OnInitial 時,建立所有分頁 Dialog ( new, Create)(3) 為每個用 Create 出來的 Dialog 做 SetWindowPos確保你的每個 Dialog 的大小位置是一樣的( CDialog :: Create 第二個參數就是要放 &m_tab)(4) 決定初始化要顯示哪個 dia, 其他的做 SW_HIDE(5) 響應訊息 ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, FUNC)在響應函式裡用 m_tab.GetCurSel() 取得當前頁籤,當前頁籤用 SW_SHOW , 其他頁籤用 SW_HIDE。依上述方式去做應可做出來,這種 Dialog 很麻煩考耐心,其他若不懂,照步驟去查 keyword 應可實作出來。oh 對了 , 所以建議你每個分頁用精靈建立一個 dialog ,以後會比較方便維護。
作者: ybelauren (真的嗎)   2015-04-27 01:29:00
目前還沒試到E大的方式 那麼想請問是否有別的方式可以完成我的需求且較不麻煩的做法嗎?(我是指只要能對每個分頁做控制與動作即可,不用再創dailog)
作者: EdisonX (卡卡獸)   2015-04-27 01:45:00
若你對 API 有認識的話,應該能理解 tab 底下每個分頁塞的是 HWND .( 塞 HWND 最方便 )至於其他的方法我沒再試過 , 但估也是要做 HIDE/SHOW若你找到有更簡便的方便,請再告訴我一聲,目前我沒看過更好的方法對了,你可能要定義一下你所謂的 "動作" 大概是什麼 ?從你的圖片完全看不出來想幹嘛 (link 修一下,和括號分開)如果你只是想拿 tab 當 button 用的話,用 if 判斷GetCurSel() 便行, 不知有沒有回答到你的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com