请问怎么让组合框里的各项都放到组合框相应的标纤下呢?我建的组合框下的几项全部不在组合框内显示,而且当我移动组合框时,那些项目不会根着移动。请问怎么设置。相关代码如下:
m_Acctab.InsertItem(0,"Personal");
m_Acctab.InsertItem(1,"Tardes");
m_Acctab.InsertItem(2,"New Order");
m_Acctab.InsertItem(3,"Security");
//======
m_new.Create(IDD_DLG_NEWORDER,GetDlgItem(IDC_TAB_ACC));
m_personal.Create(IDD_DLG_PERSONAL,GetDlgItem(IDC_TAB_ACC));
m_security.Create(IDD_DLG_SECURITY,GetDlgItem(IDC_TAB_ACC));
m_trades.Create(IDD_DLG_TRADES,GetDlgItem(IDC_TAB_ACC));
//---
CRect rect;
m_Acctab.GetWindowRect(rect);
m_personal.MoveWindow(rect);
m_trades.MoveWindow(rect);
m_new.MoveWindow(rect);
m_security.MoveWindow(rect);
m_personal.ShowWindow(TRUE);
m_trades.ShowWindow(FALSE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
m_Acctab.SetCurSel(0);void CDlgTestDlg::OnSelchangeTabAcc(NMHDR* pNMHDR, LRESULT* pResult)
{
int nselect=m_Acctab.GetCurSel();
switch(nselect)
{
case 0:
m_personal.ShowWindow(TRUE);
m_trades.ShowWindow(FALSE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
break;
case 1:
m_personal.ShowWindow(FALSE);
m_trades.ShowWindow(TRUE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
break;
}
*pResult = 0;
}
m_Acctab.InsertItem(0,"Personal");
m_Acctab.InsertItem(1,"Tardes");
m_Acctab.InsertItem(2,"New Order");
m_Acctab.InsertItem(3,"Security");
//======
m_new.Create(IDD_DLG_NEWORDER,GetDlgItem(IDC_TAB_ACC));
m_personal.Create(IDD_DLG_PERSONAL,GetDlgItem(IDC_TAB_ACC));
m_security.Create(IDD_DLG_SECURITY,GetDlgItem(IDC_TAB_ACC));
m_trades.Create(IDD_DLG_TRADES,GetDlgItem(IDC_TAB_ACC));
//---
CRect rect;
m_Acctab.GetWindowRect(rect);
m_personal.MoveWindow(rect);
m_trades.MoveWindow(rect);
m_new.MoveWindow(rect);
m_security.MoveWindow(rect);
m_personal.ShowWindow(TRUE);
m_trades.ShowWindow(FALSE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
m_Acctab.SetCurSel(0);void CDlgTestDlg::OnSelchangeTabAcc(NMHDR* pNMHDR, LRESULT* pResult)
{
int nselect=m_Acctab.GetCurSel();
switch(nselect)
{
case 0:
m_personal.ShowWindow(TRUE);
m_trades.ShowWindow(FALSE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
break;
case 1:
m_personal.ShowWindow(FALSE);
m_trades.ShowWindow(TRUE);
m_new.ShowWindow(FALSE);
m_security.ShowWindow(FALSE);
break;
}
*pResult = 0;
}
m_Acctab.GetWindowRect(rect);
这里改成m_Acctab.GetWindowRect(&rect);
rect.top+=20;
就行了其它的代码不用变,谢谢楼上回贴的各位,还有小三的那个Style :Child // 这样这个模板就可以当作另一个窗口的子窗口了。