您的位置:首页 > 其它

选项卡调整子窗口位置和大小

2014-08-25 15:23 92 查看
// 创建选项卡
TCITEM stTcitem;
stTcitem.mask = TCIF_TEXT;
stTcitem.pszText = TEXT("选项1");
::SendDlgItemMessage(m_hWnd, IDC_TAB1, TCM_INSERTITEM, 0, (LPARAM)&stTcitem);
stTcitem.pszText = TEXT("选项2");
::SendDlgItemMessage(m_hWnd, IDC_TAB1, TCM_INSERTITEM, 1, (LPARAM)&stTcitem);
stTcitem.pszText = TEXT("选项3");
::SendDlgItemMessage(m_hWnd, IDC_TAB1, TCM_INSERTITEM, 3, (LPARAM)&stTcitem);
在选项卡从一项变为别一项的消息中:
if(dlg_tab.m_hWnd != 0)
{
dlg_tab.ShowWindow(SW_SHOW);
}
else
{
// 创建子窗口
dlg_tab.Create(IDD_DIALOG_TAB);
HWND htab = ::GetDlgItem(m_hWnd, IDC_TAB1);
// 设置子窗口的父窗口
::SetParent(dlg_tab.m_hWnd, htab);
// 调整窗口在选项卡中的位置和大小
RECT stRect = {0}, stRect2 = {0};
::GetWindowRect(htab, &stRect);
::SendDlgItemMessage(m_hWnd, IDC_TAB1, TCM_GETITEMRECT, 2, (LPARAM)&stRect2);
::MoveWindow(dlg_tab.m_hWnd, 0, stRect2.bottom, stRect.right-stRect.left, stRect.bottom-stRect.top-stRect2.bottom, TRUE);
// 显示窗口
dlg_tab.ShowWindow(SW_SHOW);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: