[问题] 关于分页(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