在用SDK写一个TAB控件时,我先创建了个TAB控件,用3个无边框的对话框作为标签页,直接用资源创建,可TAB控件还是显示不出来?不知问题出在哪?如何将TAB和3个对话框相关联?有没什么函数?BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
        TCHAR TabName[20][20] = {"系统信息","备份系统","辅助工具"};
RECT rc;
TCITEM pitem;
int i; hPage[0] = GetDlgItem(hwnd,IDD_DIALOG1);
hPage[1] = GetDlgItem(hwnd,IDD_DIALOG2);
hPage[2] = GetDlgItem(hwnd,IDD_DIALOG3); GetClientRect(GetDlgItem(hwnd,IDC_TAB1),&rc); MoveWindow(hPage[0],rc.left,rc.top,rc.right - rc.left,rc.bottom - rc.top,TRUE);
ShowWindow(hPage[0],TRUE);
ShowWindow(hPage[1],FALSE);
ShowWindow(hPage[2],FALSE);
pitem.mask = TCIF_TEXT ;
for(i = 0; i < 3; i++)
{
pitem.pszText = TabName[i];
SendMessage(hwnd,TCM_INSERTITEM,i,(LPARAM)&pitem);
}
}

解决方案 »

  1.   

    不知道Tab控件是不是也要用ShowWindow显示一下
      

  2.   

    标签页对话框创建时指定父窗口为TAB控件没
      

  3.   

    应该用CreateDialog创建无边框的对话框,而不是GetDlgItemShowWindow的参数错了
      

  4.   

    因为我是直接从资源里创建的对话框,没有用CreateDialog创建,所以用GetDlgItem得到每个对话框的句柄,所以ShowWindow里就是每个对话框的句柄
      

  5.   

    哦,是我想错了,改成hPage[0] = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),GetDlgItem(hwnd,IDC_TAB1),NULL);
    hPage[1] = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG2),GetDlgItem(hwnd,IDC_TAB1),NULL);
    hPage[2] = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG3),GetDlgItem(hwnd,IDC_TAB1),NULL);下面窗口是显示出来了,但TAB控件的标签还没有显示出来?
      

  6.   

    我是加了 TCS_MULTILINE style的,还请知道的指点下