关于CTabCtrl如何隐藏TAB标签的问题

naturescience 2004-11-21 11:06:16
我的CTabCtrl控件包含几个视图,但是切换是要在代码中根据情况进行,而不是在应用程序中点击Tab页来实现,那么就不能让Tab标签可见。我设置CTabCtrl的Create函数中属性,但是没有找到合适的方法,直接WS_DISABLED造成控件的标签部分变成透明,看到了后台的背景。有没有大侠知道如何实现我的目的?先谢谢了
...全文
640 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
naturescience 2004-12-23
  • 打赏
  • 举报
回复
ensignwang@163.com
yywhu 2004-12-23
  • 打赏
  • 举报
回复
给你一个源程序!给我email
蒋晟 2004-11-22
  • 打赏
  • 举报
回复
我是不知道CTabCtrl怎么实现,但是我提供了替代的方案。
你认为微软的界面设计没有意义,但是我不这么认为。
naturescience 2004-11-22
  • 打赏
  • 举报
回复
您没有看懂我的问题,很明显,您的回答毫无意义
蒋晟 2004-11-22
  • 打赏
  • 举报
回复
frontpage不是也显示tab么
不要TAB的话参考
http://support.microsoft.com/support/kb/articles/q141/4/99.asp
newsb 2004-11-22
  • 打赏
  • 举报
回复
既然你不需要Tab标签实现切换,那为什么还要用CTabCtrl呢?
mahatma_cn 2004-11-22
  • 打赏
  • 举报
回复
基本上这个tab自己实现吧。
/* 使用方法: 添加对话框资源,并且各个子对话框资源的属性应设置为:Style为Child,Border为None。 为这些对话框建立类(直接从CDialog继承)如CPage1、CPage2…… 在主对话框的类中添加成员变量:CPage1 m_Page1;、CPage2 m_Page2;…… 在主对话框资源中,加入一个Tab Control,并且适当调整位置和大小。利用ClassWizard来为这个Tab Control创建 一个CTabSheet的控件变量m_TabSheet。 在主对话框的OnInitDialog()加入: m_TabSheet.AddPage("tab1", &m_page1, IDD_DIALOG1); m_TabSheet.AddPage("tab2", &m_page2, IDD_DIALOG2); …… 如果要给标签加上图标,在AddPage之前设置好ImageList: //为TabCtrl控件添加图标 m_imageList.Create(16, 16, ILC_COLOR32, 1, 1); CBitmap bitmap1,bitmap2; bitmap1.LoadBitmap(IDB_BITMAP1); bitmap2.LoadBitmap(IDB_BITMAP2); m_imageList.Add(&bitmap1, RGB(0,0,0)); m_imageList.Add(&bitmap2, RGB(0,0,0)); m_TabSheet.SetImageList(&m_imageList); //给TabCtrl添加页 m_TabSheet.AddPage(_T("Page1"), &m_Page1, m_Page1.IDD, 0); m_TabSheet.AddPage(_T("第二页"), &m_Page2, m_Page2.IDD, 1); 很不可思议的是,我在测试中,如果在工程中没有把TabCtrl的标签设置成左边或右边的话, 那么在运行时修改标签的位置为左边或右边时会出现问题,但是只要曾经设置过TabCtrl的标签为左边或右边后, 以后运行不管工程中的TabCtrl的标签是怎样设置的,在运行时都可以正确的修改其标签的位置。 */

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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