我想请问下面这个图的TabControl是怎么做出来的 我做的就是没有这个效果 就是最简单的那种 我看他的代码也没发现跟我有什么不一样 要在那里添加什么才能出现这种效果啊
他的这个代码如下:
BOOL CQQDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 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
// TODO: Add extra initialization here
TC_ITEM m_pTCItem1;
m_pTCItem1.mask = TCIF_TEXT;//接收的值为文本
m_pTCItem1.pszText = "QQ号码列表";//标签的名字
TC_ITEM m_pTCItem2;
m_pTCItem2.mask = TCIF_TEXT;
m_pTCItem2.pszText = "重要设置";
TC_ITEM m_pTCItem3;
m_pTCItem3.mask = TCIF_TEXT;
m_pTCItem3.pszText = "关于QQ登陆器";
m_TabQQlist.InsertItem(0,&m_pTCItem1);//插入到TAB控件中
m_TabQQlist.InsertItem(1,&m_pTCItem2);
m_TabQQlist.InsertItem(2,&m_pTCItem3);
//建立属性页各页
QList.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
QSet.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
QAboutDlg.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB1));
//设置页面的位置在m_tab控件范围内
CRect rs;
m_TabQQlist.GetClientRect(rs);
rs.top+=20;
rs.bottom-=4;
rs.left+=4;
rs.right-=4;
QList.MoveWindow(rs);
QSet.MoveWindow(rs);
QAboutDlg.MoveWindow(rs);
QList.ShowWindow(TRUE);
m_TabQQlist.SetCurSel(0);
if (g_WndTopMost == "是")
{
SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}
else
{
SetWindowPos(&this->wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}
return TRUE; // return TRUE unless you set the focus to a control
}
void CQQDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
int CurSel;
CurSel=m_TabQQlist.GetCurSel();
QList.ShowWindow(FALSE);
QSet.ShowWindow(FALSE);
QAboutDlg.ShowWindow(FALSE);
switch(CurSel)
{
case 0:
QList.ShowWindow(TRUE);
QList.QQListUpdate();
break;
case 1:
QSet.ShowWindow(TRUE);
QSet.QQSetUpdate();
break;
case 2:
QAboutDlg.ShowWindow(TRUE);
break;
default: ;
}
*pResult = 0;
}
请问是跟:
//建立属性页各页
QList.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
QSet.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
QAboutDlg.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB1));
的Create有关么 这个是一个叫 webbrowser2的库有关
关于webbrowser2的Create的部分:
virtual BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CFile* pPersist = NULL, BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL)
实在是不明白为何会出这种效果
我好像也没看到有第三方的界面库
新手 谢谢大家 这个问题研究了好久了