求分析TabControl的这种效果 谢谢

zero110420 2011-05-25 02:29:31
我想请问下面这个图的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)

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

...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zero110420 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jimoguilai 的回复:]
就是XP风格啊,如果是vc6开发的程序,请搜索 vc6 xp风格
[/Quote]
谢谢 虽然 我这个例子 好像不是这样的 不过 通过您说的这个 能实现我想要的样子了 非常感谢您
Chivalry 2011-05-25
  • 打赏
  • 举报
回复
就是XP风格啊,如果是vc6开发的程序,请搜索 vc6 xp风格
zero110420 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kongfanmings 的回复:]
您的图片仅限百度用户交流……
[/Quote]

我真不知道在呢么上图 好似需要网址 然后我就只能传到百度上面了
http://hiphotos.baidu.com/%BC%C0%D7%D3%B5%A5/pic/item/8259602a44a338645243c101.jpg
就是这个样子的 鼠标放上去会有黄色框框 平常是淡蓝色的
我不管怎么弄TabControl都是一开始系统放上去那个样子
kongfanmings 2011-05-25
  • 打赏
  • 举报
回复
您的图片仅限百度用户交流……

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧