hur.cn - 华软网

 热门搜索

求分析TabControl的这种效果 谢谢

  作者:未知    来源:网络    更新时间:2011/5/25
我想请问下面这个图的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)

实在是不明白为何会出这种效果 
我好像也没看到有第三方的界面库 
新手 谢谢大家 这个问题研究了好久了 


---华软 网友回答---
您的图片仅限百度用户交流……
---华软网友回复---
引用 1 楼 kongfanmings 的回复:
您的图片仅限百度用户交流……


我真不知道在呢么上图 好似需要网址 然后我就只能传到百度上面了 
/Article/UploadFiles/201512/2015120521353757.jpg
就是这个样子的 鼠标放上去会有黄色框框 平常是淡蓝色的 
我不管怎么弄TabControl都是一开始系统放上去那个样子 
---华软网友回复---
就是XP风格啊,如果是vc6开发的程序,请搜索 vc6 xp风格
---华软网友回复---
引用 3 楼 jimoguilai 的回复:
就是XP风格啊,如果是vc6开发的程序,请搜索 vc6 xp风格

谢谢 虽然 我这个例子 好像不是这样的 不过 通过您说的这个 能实现我想要的样子了 非常感谢您       
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。