首先好久没写代码了,大概有四个月了,表示很郁闷啊,以前写过的东西都忘了,今天回忆一下.
tab控件
原理:标签和标签页面是独立的,通过标签的切换和页面的同步切换来实现效果.及默认选中第一个标签,显示page1,其他页面显示为隐藏当我们选择时会接受到消息,进行切换到相应的page页面来实现一体的效果.
1.添加页面
要 求:添加的页面的样式必须为下层边框为无
步 骤:
a.创建页面CreateDialog()
HWND CreateDialog( HINSTANCE hInstance, // handle to module
LPCTSTR lpTemplate, // dialog box template name
HWND hWndParent, // handle to owner window
DLGPROC lpDialogFunc // dialog box procedure);
返回值就是创建的页面句柄
b.移动窗体的位置和大小,保证不覆盖tab控件MoveWindow()
HWND CreateDialog( HINSTANCE hInstance, // handle to module
LPCTSTR lpTemplate, // dialog box template name
HWND hWndParent, // handle to owner window
DLGPROC lpDialogFunc // dialog box procedure);
c.显示窗体ShowWindow()
d.添加标签页SendDlgItemMessageWPARAM wParam, // 第几个标签
LPARAM lParam // 属性
发送消息:TCM_INSERTITEM
属 性:TCITEM mask=TCIF_TEXT pszText="标签标题"
2.页面切换
消 息:WM_NOTIFY LPARAM lParam 中((LPNMHDR)lParam)->code == TCN_SELCHANGE来判断是否是切换
a.得到选择的项SendDlgItemMessage(hwnd,IDC_TAB1,TCM_GETCURSEL,0,0);得到的值从0开始
b.显示相应的页面ShowWindow()
这里是我写的小例子,大家有兴趣可以看下,希望可以帮助大家.