对话框工程,加入tabctrl
在初始化里我设置tabctrl中的CListCtrl的位置.
调试中获得窗口的区域大小的值没问题. 宽1024,高768.
但CListCtrl的高和宽始终没有达到1024,768, 高和宽大概都差150像素左右.?
高和宽改成多大的数据都没有用.
什么原因??找了半天都没看出是哪里的问题.BOOL CLE_WMDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
} // Set the icon for this dialog.  The framework does this automatically
//  when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

ShowWindow(SW_SHOWMAXIMIZED);
// TODO: Add extra initialization here
m_Titletab.InsertItem(0, _T("交易"));
m_Titletab.InsertItem(1, _T("入库"));
m_Titletab.InsertItem(2, _T("出库"));
CRect rect, itemrc;
GetClientRect(&rect);
m_Titletab.GetItemRect(0,&itemrc);
m_SellTab.Create(IDD_DIALOG_SELLING, &m_Titletab);
//设置tabctrl区域大小
m_SellTab.SetWindowPos(NULL,0,19,rect.Width(),rect.Height()-19,SWP_SHOWWINDOW);
//设置CListCtrl区域大小
m_SellTab.m_SellList.SetWindowPos(NULL, 0, 70, rect.Width(), rect.bottom-20, SWP_SHOWWINDOW);// m_StockTab.Create(IDD_DIALOG_STOCK, &m_Titletab);
// m_StockTab.SetWindowPos(NULL,rect.left,itemrc.bottom,rect.right,rect.bottom,SWP_HIDEWINDOW);// m_IssueTab.Create(IDD_DIALOG_ISSUE, &m_Titletab);
// m_IssueTab.SetWindowPos(NULL,rect.left,itemrc.bottom,rect.right,rect.bottom,SWP_HIDEWINDOW);// m_Titletab.SetCurSel(0);
return TRUE;  // return TRUE  unless you set the focus to a control
}

解决方案 »

  1.   

    m_SellList的parent是否m_Titletab,m_SellList在大小会被限制在Parent窗口的区域大小之内
      

  2.   

    m_SellList, m_Titletab怎么关联的
      

  3.   

    用 spy++ 看看每次调整是否有效
      

  4.   

    这个我知道. 所以设置tabctrl的大小..差不多是全屏
    m_SellTab.SetWindowPos(NULL,0,19,rect.Width(),rect.Height()-19,SWP_SHOWWINDOW);关联的话m_SellTab.Create(IDD_DIALOG_SELLING, &m_Titletab);就是这里了. 
    IDD_DIALOG_SELLING的style是Child, Border是None
      

  5.   

    MFC 我不怎么写 ,在 SDK 下是可以的,一会我用MFC测试下!