首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 学院论坛
精选专题 | 精美壁纸 | 专家答疑 | Flash剧场 | Photoshop | 名词解释 | 梦幻桌面 | PS高手进阶 | QQ区 | 图书 | 黑客教材
Flash教程| 卡通制作 | AutoCAD | 3DMax实例 | PS视频教程| 网页制作 | CorelDRAW| Firework | 滤镜与实例 | 全部视频教程
当前位置:eNet硅谷动力 > 学院频道 > VC

VC++之Tab Ctrl控件
2004-02-10 14:54 来源:eNet论坛
    
加入收藏  设为首页

  Tab属性页控件可以在一个窗口中添加不同的页面,然后在页选择发生改变时得到通知。MFC中使用CTabCtrl类来封装属性页控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECTamp; rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些属性页控件的专用风格:

  TCS_BUTTONS 使用按钮来表示页选择位置

  TCS_MULTILINE 分行显示页选择位置

  TCS_SINGLELINE 只使用一行显示页选择位置

  在控件创建后必需向其中添加页面才可以使用,添加页面的函数为:

  BOOL InsertItem( int nItem, LPCTSTR lpszItem );nItem为位置,从零开始,lpszItem为页选择位置上显示的文字。如果你希望在页选择位置处显示一个图标,你可以调用BOOL InsertItem( int nItem, LPCTSTR lpszItem, int nImage );nImage指明所使用的图片位置。(在此之前必须调用CImageList * SetImageList( CImageList * pImageList );设置正确的ImageList)

  

  此外CTabCtrl还提供了一些函数用于得到/修改控件的状态。

  int GetCurSel( )/int SetCurSel( int nItem );用于得到/设置当前被选中的页位置。

  BOOL DeleteItem( int nItem )/BOOL DeleteAllItems( );用于删除指定/所有页面。

  void RemoveImage( int nImage );用于删除某页选择位置上的图标。

  

  属性页控件的消息映射同样使用ON_NOTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, id, memberFxn ),wNotifyCode为通知代码,id为产生该消息的窗口ID,memberFxn为处理函数,函数的原型如同void OnXXXTab(NMHDR* pNMHDR, LRESULT* pResult),其中pNMHDR为一数据结构,在具体使用时需要转换成其他类型的结构。对于列表控件可能取值和对应的数据结构为:

  

  TCN_SELCHANGE 在当前页改变后发送,所用结构:NMHDR

  TCN_SELCHANGING 在当前页改变时发送可以通过返回TRUE来禁止页面的改变,所用结构:NMHDR

  

  一般来讲在当前页发生改变时需要隐藏当前的一些子窗口,并显示其它的子窗口。下面的伪代码演示了如何使用属性页控件:

  

  CParentWnd::OnCreate(...)

  {

   m_tab.Create(...);

   m_tab.InsertItem(0,"Option 1");

   m_tab.InsertItem(1,"Option 2");

   Create a edit box as the m_tab's Child

   Create a static box as the m_tab's Child

   edit_box.ShowWindow(SW_SHOW); // edit box在属性页的第一页

   static_box.ShowWindow(SW_HIDE); // static box在属性页的第二页

  }

  void CParentWnd::OnSelectChangeTab(NMHDR* pNMHDR, LRESULT* pResult)

  {//处理页选择改变后的消息

   if(m_tab.GetCurSel()==0)

   {//根据当前页显示/隐藏不同的子窗口

   edit_box.ShowWindow(SW_SHOW);

   static_box.ShowWindow(SW_HIDE);

   }

   else

   {//

   edit_box.ShowWindow(SW_HIDE);

   static_box.ShowWindow(SW_SHOW);

   }

  }

  


关键字:  
您对这篇文章的看法是:    喜欢 反感 支持 反对 加油 鄙视 学习 打击 佩服 漂亮 路过 发表评论
视频教程】 【专题汇总】 【不懂就问我关闭窗口

360安全卫士 V5.1.1正式版发布!
Photoshop给模特美腿加上质感肤色
了解差距 国外27款创意名片设计赏
认清五种被忽视的黑客攻击方式
QQ音乐播放器2009正式版今天发布!
相关文章
 本栏目最新文章
·VC各类之间的调用函数总结
·VC中特殊字体的实现方法讲解
·VC++中进程与多进程管理的方法
·用VC 6.0实现串行通信的三种方法
·VC++实现回收站的文件存取
 精彩回放
·3DSMAX打造书本翻开效果
·共享上网技巧应用四则
·陪酒女浸泡在酒里的青春
·美女的性感靓丽婚纱设计
·妖冶身姿 死或生3壁纸
·剿灭Win XP下的29个烦恼
·黑客必备 NET命令大全
·用PS制作精致绝伦的红酒
 精彩推荐
 今日软件下载
杀毒软件免费随便用
瑞星全功能安全软件2009 基于“云安全”策略和“智能主动防御”技术开发.
www.rising.com.cn
 往日推荐
·推荐“美图秀秀”就能赚Q币
·五大搜索引擎横向评测
·防御计算机病毒十大步骤

论坛精华
·史上最强最多 photo 
·photoshop完美扣图教 
·网络学院flash教程目 
·Photoshop下载大全 
·PhotoShop实例精选电 
·打包笔刷 附图的~~ 
热点推荐
绘制逼真金蛋
浪漫婚纱照片
Flash视频编程
Ulead GIF教程
热点关注
·Flash CS4 制作经典小游戏
·C语言程序设计视频教程
·PHP+MYSQL开发视频教程
·Flash CS4从入门到精通教程
·服装设计与效果图绘制教程
·21视频之Fireworks8网页制作
·Vray高级实例应用视频教程
·CorelDRAW14入门到高级教程
·Vray高级实例应用视频教程
全国计算机等级考试二级(VB语言)
往日推荐
网站重构设计
鹏哥C#教程
服装设计教程
PS唯美风景
焦点关注