VC2005下tab控件的使用

VC2005模仿VS2003界面与功能实现 在本章中,我们将探索如何模仿经典的Visual Studio 2003用户界面。Visual Studio 2003作为众多开发者的老朋友,其用户界面友好、直观,成为了许多开发者偏爱的IDE界面。我们将一步步展示如何通过现代开发工具和框架来复现这一经典界面,从而为现代开发环境带来复古但高效的用户体验。在开始使用Visual C++ 2005之前,首先需要进行安装和配置。安装过程通常涉及以下步骤:系统要求检查。 阅读详情

VC2005下tab控件的使用
1> 建立一个基于对话框的MFC智能设备应用程序。

2> 在主对话框中,添加一个Tab Control控件。

3> 为控件添加一个CtabCtrl类型的变量,如m_tabctrl。

4> 通过MFC类向导,添加几个新的对话框,

    做为Tab Control的子对话框。

5> 修改新添加的对话框的属性,Border属性设置为None,

    Sytle属性设置为Child。

6>  在主对话框的头文件中,声明新添加的几个对话框类的实例对象,

    注意不要忘记添加那些对话框类的头文件。

   如:

view plaincopy to clipboardprint?
CDialog1 m_Dlg1;  
CDialog2 m_Dlg2;  
CDialog3 m_Dlg3; 
CDialog1 m_Dlg1;
CDialog2 m_Dlg2;
CDialog3 m_Dlg3;
 

 

7>     在主对话框的OnInitDialog()函数中添加如下代码:


CRect rect;  
m_tabctrl.GetClientRect (&rect);  
TCITEM item;  
item.mask = TCIF_TEXT;  
 
item.pszText =_T("General");  
m_tabctrl.InsertItem (0,&item);  
item.pszText =_T("Debug");  
m_tabctrl.InsertItem (1,&item);  
item.pszText =_T("C/C++");  
m_tabctrl.InsertItem (2,&item);  
item.pszText =_T("Link");  
m_tabctrl.InsertItem (3,&item);  
   item.pszText =_T("Resources");  
m_tabctrl.InsertItem (4,&item);  
   item.pszText =_T("MIDL");  
m_tabctrl.InsertItem (5,&item);  
 
m_Dlg1.Create (IDD_DIALOG1,&m_tabctrl);  
m_Dlg2.Create (IDD_DIALOG2,&m_tabctrl);  
m_Dlg3.Create (IDD_DIALOG3,&m_tabctrl);  
m_Dlg4.Create (IDD_DIALOG4,&m_tabctrl);  
m_Dlg5.Create (IDD_DIALOG5,&m_tabctrl);  
m_Dlg6.Create (IDD_DIALOG6,&m_tabctrl);  
 
m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);     
m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
 

8>     在主对话框中为Tab控件添加TCN_SELCHANGE事件响应函数


CRect rect;  
    m_tabctrl.GetClientRect (&rect);  
    switch(m_tabctrl.GetCurSel())  
    {  
    case 0:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    break;  
 
    case 1:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    break;  
 
    case 2:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    break;  
 
    case 3:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    break;  
 
    case 4:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    break;  
 
    case 5:  
    m_Dlg1.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg2.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);    
    m_Dlg3.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg4.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg5.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_HIDEWINDOW);  
    m_Dlg6.SetWindowPos (NULL,10,30,rect.right -20,rect.bottom -40,SWP_SHOWWINDOW);  
    break;   
    }  

 

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/joyzml/archive/2010/01/19/5213157.aspx

Tesseract OCR 字库训练教程:提高识别率进阶版 通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。 阅读详情

相关推荐

强化学习环境Gym库的介绍

Gym是一个用于进行强化学习实验的开源库,它提供了一个仿真环境,内置了多种仿真游戏,例如出租车游戏、悬崖游戏等,不同的游戏所用的网格、规则、奖励(reward)都不一样,适合为强化学习做测试。(1) 多种环境:Gym库内置了上百种实验环境,包括算法环境、简单文本环境、经典控制环境、Atari游戏环境、MuJoCo环境和机械控制环境等。(2) Gym提供多种环境供我们使用,这里以一个简单的CartPole-v0为例,首先导入gym库,然后创建一个CartPole-v0环境,通过调用gym.make方法实现。

ahah12345678的博客 2148

VSTab Control控件的使用

1. 在Visual Studio 2005中,新建一个项目,选择MFC应用程序, 取名MyTab, 选择Dialog based(基于对话框), 然后Finish.2. 删除对话框上默认添加的三个控件. 添加Tab Control控件,右键选择“属性”,并设置ID为IDC_TABMAIN。 调速尺寸使其布满整个对话框. 选中Tab Control控件,右键选择“添加变量”,变量名为m_tabMa

mochouxiyan的专栏 995

GAMIT基线解算实战:从RINEX数据准备到精度报告解读(附2024年tables更新攻略)

本文详细解析了2024年GAMIT基线解算全流程,从RINEX数据准备到精度报告解读,特别更新了tables配置攻略。涵盖工程目录设计、数据预处理、关键配置文件更新及基线解算策略优化,帮助用户掌握高精度GNSS数据处理技术,提升解算效率和结果可靠性。

weixin_42520374的博客 305

CMFCTabCtrl 使用示例

继承CMFCTabCtrl实现了一些常用的效果,包括官方未实现的每个Tab的关闭功能

jota 6278

HttpClient跳过HTTPS证书验证的3种实战方法(含完整代码示例)

本文详细介绍了HttpClient跳过HTTPS证书验证的3种实战方法,包括自定义TrustManager、SSLContext配置和HttpClientBuilder高级定制,并提供完整代码示例。这些方法适用于开发和测试环境,帮助开发者快速解决自签名证书或未认证证书导致的HTTPS请求失败问题,但需注意生产环境的安全风险。

weixin_29213655的博客 530

如何玩转腾讯云轻量级服务器(新手向)

如何玩转腾讯云轻量级服务器(新手向) ​ 相信不少同学都想将自己的服务器部署到云服务器,让别人通过自己的域名就可以访问到自己的项目,而腾讯云轻量级服务器作为一个小型的应用,支持域名解析和可视化运维等。比较适合新手入门 ​ 本文服务器操作系统为Centos7 一. 购买以及基本配置 1.购买方式 ​ 本文主要面向新手,毕竟一般只有新手才会购买轻量级服务器。所以可以选择购买一年的来学习,以后再根据需要换,前提提示(轻量级服务器没有安全组的,开放端口直接开启防火墙里的即可) ​ 购买连接 购买完成后点击控制

qq_46160687的博客 1万+

关于VS2005中TabControl的使用!

昨天学习了VS2005中TabControl控件的使用,感觉在C#中这个控件的外观的确不敢恭维,还不如VB6中的,tabPage的布局方式很惨,而且不好看。但在使用上还可以,秉承了以前的风格。微软的东东从来都是这样,先出来,然后在慢慢的改进! 转载于:https://www.cnblogs.com/tankhorse/archive/2006/09/21/...

weixin_30507269的博客 158

STM32 HAL 硬件IIC驱动BNO085:从移植到姿态解算全流程解析(附源码)

本文详细解析了STM32 HAL库下硬件IIC驱动BNO085 IMU传感器的全流程,包括CubeMX配置、驱动移植、传感器初始化、Q格式数据处理及四元数转欧拉角解算。提供了完整的源码实现和常见问题解决方案,帮助开发者快速掌握高精度姿态测量技术。

palm99的专栏 1047

用vc2005 MFC实现的根据TreeCtrl动态生成TabCtrl 控件TAB页的例子代码

例子中基于MFC单文档视图,实现了点击TreeCtrl的不同子ITEM动态生成TabCtrl控件相应TAB页功能,如果一些TAB页已经生成,点击相应的TreeCtrl子ITEM则切换到已生成的TAB页上,支持TAB页右键菜单关闭,左键双击关闭功能。 文件:n459.com/file/25127180-479632636 访问密码:551685 以下内容无关: -------------------------------------------分割线-----------------------------

gumenghua_com1的博客 329

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。

zwrlj527的专栏 1998

【云原生】Docker可视化工具Portainer使用详解

Docker可视化工具Portainer使用详解

congge 1万+

近期mfc开发日志:点滴备忘+分享

1. vc2005不支持  “即时”窗口进行设计时调试 2.编译:提示unsupported operation... 是第三方控件:grid控件没有放在界面上 3.在一个项目中, 每个对话框的资源id是相对独立的,所以可以重名 ? 不可以! 4. 测试显示: tab控件的OnTcnSelchangeTab1事件,仅在控件上点击时才触发,用命令se

web虎-b/s源代码加密,软件/flash课件保护系统 943

YOLOv13改进策略【Head】| (独家改进)结合 ICME-2024 中的PPA注意力模块,自研带有注意力机制的小目标检测头

本文记录的是利用PPA (并行补丁感知注意模块)改进YOLOv13的检测头。通过改进传统卷积,形成带有注意力机制的小目标检测头,使模型能够更好地关注小目标的重要信息。HCF-Net: Hierarchical Context Fusion Network for Infrared Small Object Detection采用多分支特征提取策略,通过不同分支提取不同尺度和层次的特征。利用局部、全局和串行卷积分支,对输入特征张量进行处理。通过控制 patch size参数实现局部和全局分支的区分,计算非重叠

Limiiiing的博客 480

使用VC2005一些问题及解决方案[转]

首先是我使用VC2005在不通阶段的不通感受:刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。开始用VC2005学习写东西

hndksztwj的专栏 1240

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用VC2005一些问题及解决方案

首先是我使用VC2005在不通阶段的不通感受: 刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。 刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。 开始用VC2005学习写东西的时

痞子龙3D编程 2520

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

金山界面库 for VC

金山界面库 金山界面库是一个比较成熟的DirectUI界面框架和控件库,并且完全开源,使用此向导可以生成多页对话框或普通对话框类型的界面框架代码,生成的工程中包含了最新的金山界面库所需的代码文件(包含了网友扩展的编辑框和ComboBox控件类)、资源文件,以及根据生成选项自动生成的页面XML和消息处理类。并且可以生成蓝蚂蚁工作室扩展的一些框架代码,包括Tray图标相关的功能、登录对话框、信息提示

chollima20080808的专栏 933

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VS2005 VC 基与对话框 的程序 常用控件小结

作者:BB高擎天的空间 转自:http://hi.baidu.com/cahbb/item/99538a17c99c384ce75e064a      前一段时间要做一个小程序,用到了一些控件,也是找了些资料,再加上实际试验,证实了可用的使用方法,现记录如下,以方便自己及他人查询调用。 基于对话框得到键盘消息方法: 在实际使用时有一个问题,我在基于对话框的窗中,

老瓦的笔记本 777

使用VC2005一些问题及解决方案(一)

首先是我使用VC2005在不通阶段的不通感受: 刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。 刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。 开始用VC2005学习写东西的时...

weixin_33816946的博客 351

vc6设定输入焦点

                          设定输入焦点                                        ----Amoon 2005/10/16 在VC6下对话框中输入焦点的设定问题,以前不知道设定方法只能按自己想要的TAB键顺序逐个的添加控件,今天看了一篇文章加之自己亲身实践发现,打开资源文件(用文本编辑器打开),找到你添加的控件那一段,如下所示: EXS

Amoon100的专栏 2966

vc++2005 MFC Radio Button

vc++2005 MFC Radio Button  作者:邵盛松 2008年10月18日 1如何定义一组Radio Button在Dialog上添加4个Radio Button,ID分别是IDC_RADIO1,IDC_RADIO2,IDC_RADIO3,IDC_RADIO4首先设置一下Tab键顺序,菜单上"格式"-"Tab键顺序",或者Ctrl+D.由小到大设置(利用鼠标点击

二分掌柜的 6238

VC基础教程

http://www.cnblogs.com/vlcb/archive/2005/05/18/158029.html     首先我要感谢网上的朋友给我的鼓励和支持,这是我从事教程编写的主要动力,其次丰富栏目也是站点发展本身的需要。在以后的时间中我会陆续编写教程供大家参考,希望初学VC的朋友能得到帮助和指导,熟悉VC的朋友能得到启发,精通VC的朋友能不吝赐教,同时也希望能起一

phenixyf的专栏 3570

金山界面库VC向导

http://bbs.youkuaiyun.com/topics/390368164 使用金山界面库有一段时间了,写了一个VC的向导程序,可以生成基于金山界面库的程序框架,感兴趣的话可以下载试用。 金山界面库是一个比较成熟的DirectUI界面框架和控件库,并且完全开源,使用此向导可以生成多页对话框或普通对话框类型的界面框架代码,生成的工程中包含了最新的金山界面库所需的代码文件(包含了网友扩展的编辑框

xinpo66的专栏 1085

VS2005使用技巧

1.选择CPU的类型 使用过EVC的朋友都知道,EVC支持诸如ARMV4、ARMV4I、MIPS、X86等多种CPU类型。但是除了STANDARD SDK之外,其他的SDK通常都是限定了CPU类型的。例如PPC2003是ARMV4的,而Mobile5是ARMV4I的。 大家都知道,ARMV4、ARMV4I是两套颇有渊源的指令集,前者编的程序可以运行在支持后者的机器上,但反过来则不行。这就带来了一个...

helpbs 130

com技术组件第7章,用vs2005编译示例代码,com注册不成功。

com第7章,编译问题,解决方案

u011733280的专栏 764

金山界面库

金山界面库 金山界面库是一个比较成熟的DirectUI界面框架和控件库,并且完全开源,使用此向导可以生成多页对话框或普通对话框类型的界面框架代码,生成的工程中包含了最新的金山界面库所需的代码文件(包含了网友扩展的编辑框和ComboBox控件类)、资源文件,以及根据生成选项自动生成的页面XML和消息处理类。并且可以生成蓝蚂蚁工作室扩展的一些框架代码,包括Tray图标相关的功能、登录对话框、信息提示

tmeteor的专栏 9205
上一篇: VC中如何关闭窗口退出程序?
下一篇: Group Box覆盖Button
Elecsoft
博客等级 码龄17年 32粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值