在选项卡c ++中创建窗口
我使用createwindow创建选项卡。 我有2个选项卡项目,我想在2个选项卡项目中创建一个静态窗口。 我已经使用createwindow与父母是选项卡的句柄。 但子窗口出现在tab1和tab2中。 我想要2个标签项目有不同的内容。 那我该怎么做。
是否有另一种方法来创建一个Static控件属于特定的Tab1或标签2 ...不是从创建窗口的标签的HWND。 我不知道该怎么做,所以这是我的解决方案
我使用win api
谢谢
这里有一些我的代码
TabCtrl_InsertItem(hwndTab,0,&tcitem);
TabCtrl_InsertItem(hwndTab,1,&tcitem);
hwndTab_1_1_1 = CreateWindow(L"BUTTON",L"sample",WS_CHILD|WS_VISIBLE,0,29,100,50,hwndTab,(HMENU)4,hInstance,NULL);
hwndTab_1_2_1 = CreateWindow(L"BUTTON",L"sample2",WS_CHILD|BS_AUTOCHECKBOX,20,80,100,50,hwndTab,(HMENU)4,hInstance,NULL);
我正在使用这个:
case WM_NOTIFY:
if (((LPNMHDR)lParam)->code == TCN_SELCHANGE) {
switch(TabCtrl_GetCurSel(hwndTab)) {
case 0:
ShowWindow(hwndTab_1_1_1,SW_SHOW);
ShowWindow(hwndTab_1_2_1,SW_HIDE);
break;
case 1: //
ShowWindow(hwndTab_1_1_1,SW_HIDE);
ShowWindow(hwndTab_1_2_1,SW_SHOW);
break;
default: return DefWindowProc(hwnd, Message, wParam, lParam);
}
}
else {
return DefWindowProc(hwnd, Message, wParam, lParam);
}
break;
我需要使用这些代码来处理相同的代码。 如果我们有很多子窗口,我不想用太多的时间来隐藏太多的时间。
你可以尝试像这样:
假设你有3个标签页。
T * pTabPage [3]; 指向你的3个标签页;
int nCurrentPage; 保存当前标签页。
当你想改变标签页时
1.隐藏保存在nCurrentPage:ShowWindow(pTabPage [nCurrentPage],SW_HIDE)中的“当前页面”;
2.获取真正的当前页面:nCurrentPage = GetCurSelect();
3.显示真正的当前页面:ShowWindow(pTabPage [nCurrentPage],SW_SHOW);
该代码不正确,只是为了解释该方法
希望能帮助你!
链接地址: http://www.djcxy.com/p/41199.html