在CTabCtrl上动态创建CListCtrl控件
m_List.Create(WS_OVERLAPPED|WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_AUTOARRANGE|LVS_SHOWSELALWAYS|LVS_EDITLABELS ,rect,&m_tabListTable,);
m_List.ModifyStyle(,WS_EX_CLIENTEDGE,SWP_DRAWFRAME);
最后的Id只要不跟resource.h里的重复,随便填一个。
效果:

=============================================================
补充:
当在XP+VC6下写的程序放到Win7上运行时,可能会出现不愉快的视觉效果,我手工用画图(专注画图好多年,简单方便又快捷)标注了下,为了突出我使用了蓝色:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApQAAAH5CAIAAACwLzlyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAr8SURBVHhe7dkxjiPXGUZRLVa5oeUoVeTAC1LsSAIEGF6BXXYBBPHjocCgp/gu+xx8wbwOhmSxpi5a+umn3/4wMzOz0ubZzMzMNt88m5mZ2eabZzMzM9t882xmZmabb57NzMxs883zan/9+fux/wSd7zy0ceXNzMwWm+fVjqgcIfz3v/6Z2y9/+/k5jftvXHkzM7PF5nm1s9wjM4n94++/Hv3+/y/hAccbHlfezMxssXle7ehKOt6PX8Q33/FWx5U3MzNbbJ5Xq8d7/HDbHe92XHkzM7PF5nk18b5n4m1mZi9tnlcT73sm3mZm9tLmeTXxvmfibWZmL22eVxPveybeZmb20uZ5NfG+Z+JtZmYvbZ5XE+97Jt5mZvbS5nk18b5n4m1mZi9tnlcT73sm3mZm9tLmeTXxvmfibWZmL22eVxPveybeZmb20uZ5NfG+Z+JtZmYvbZ5XE+97Jt5mZvbS5nk18b5n4m1mZi9tnlcT73vWerdmZva1G/G92jyvVo/38f4BYGdHrUZ8rzbPqx1/aTTe5443b2Zmtu3OXzVHfK82z6vV421mZrbzfmy8//eL/Wa+238V93m/s+LVcMfScv83eFO8d/gV/HgP5x7/S/vxk8+ez/ud93w1xr+I+/f8xi7mjrXW3vINnv+mzpce8b3aPK/2eF5s8uB4bKvH2Q3zeb/zilfDHWutvfEbPF96xPdq87za45PsdlN6NHz2PAqfV7wa7lhr7Y3f4PnSI75Xm+fVHp9kt5vSo+Gz51H4vOLVcMdaa2/8Bs+XHvG92jyv9vgku92UHg2fPY/C5xWvhjvWWnvjN3i+9Ijv1eZ5tccn2e2m9Gj47HkUPq94Ndyx1tobv8HzpUd8rzbPqz0+yW43pUfDZ8+j8HnFq+GOtdbe+A2eLz3ie7V5Xu3xSXa7KT0aPnsehc8rXg13rLX2xm/wfOkR36vN82qPT7LbTenR8NnzKHxe8Wq4Y621N36D50uP+F5tnld7fJLdbkqPhs+eR+HzilfDHWutvfEbPF96xPdq87za45PsdlN6NHz2PAqfV7wa7lhr7Y3f4PnSI75Xm+fVHp9kt5vSo+Gz51H4vOLVcMdaa2/8Bs+XHvG92jyv9vgku92UHg2fPY/C5xWvhjvWWnvjN3i+9Ijv1eZ5tccnOf5wvMBWOy/0+OEHz+f9ziteDXestXb/N3hHvI+/2szMzL5qd8T7+AMA8FXEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBi7oi3mZmZffnE28zMLLYfFe/j7zUzM7MftK+Pt5mZmW20eTYzM7PNN89mZma2+ebZzMzMNt88m5mZ2eabZzMzM9t882xmZmabb57NzMxs882zmZmZbb55NjMzs803z2ZmZrb55tnMzMw23zybmZnZ5ptnMzMz23zzbGZmZjvvtz/+C4ptCYXmj1nHAAAAAElFTkSuQmCC" alt="" />
图中蓝色部分可能会显示为当前系统的设定值(我瞎猜的不要当真),这需要我们手工的改写tab控件的背景色。
要做的就是继承CTabCtrl来实现自己的类,例如CTabCtrlWLS,然后实现对WM_ERASEBKGND的响应。
BOOL CTabCtrlWLS::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default RECT stRect;
GetClientRect(&stRect); //创建画刷,外部。
//CBrush oBrush;
//oBrush.CreateSolidBrush(RGB(236,233,216)); //填充控件背景
pDC-> FillRect(&stRect,&oBrushBKGND); //return CTabCtrl::OnEraseBkgnd(pDC);
return true;
}
在CTabCtrl上动态创建CListCtrl控件的更多相关文章
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- mfc 动态创建EDIT控件
知识点: CWnd::Create CWnd::CreateEx Spy++工具 动态创建控件 一. CWnd::Create 参数 virtual BOOL Create( LPCTSTR lpsz ...
- 【VS开发】动态创建ActiveX控件
bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) { CLSID clsid; wstri ...
- [UE4]认识CanvasPanelSlot,Construct Object From Class动态创建UI控件
Canvas Panel Slot是UserWidget的Canvas Panel组件容器内的组件特有的属性. 只有放置在Canvas Panel容器内才会有Canvas Panel Slot属性 可 ...
- 用ATL和MFC来创建ActiveX控件
摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所 ...
- asp.net动态网站repeater控件使用及分页操作介绍
asp.net动态网站repeater控件使用及分页操作介绍 1.简单介绍 Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功 ...
- 袁创:使用反射动态调用ActiveX控件
■■■■前言 目前的基于.NET平台的软件研发中仍然存在大量的对COM及ActiveX控件的调用.使用C#调用ActiveX控件时一般是使用vs.net工具自动生成的互操作性程序集.这种方法操作简单, ...
随机推荐
- [新手学Java]使用内省(Introspector)操作JavaBean属性
获取类bean中的所有属性: @Test //获取类bean中的所有属性 public void test1() throws Exception{ BeanInfo info = Introspec ...
- Android开发更改应用图标无效的问题
引子: 由于最近公司产品转战移动端,而且就要在年底前上线第一个版本,作为主工不得不立即投入到Android开发的学习中,昨天一天在家找了一些资料,看了一些视频,也试着弄了一个简单的应用. 问题: 本来 ...
- 用javascript去掉字符串空格的办法
今天遇到了以关于JavaScript 中怎么去掉 字符串中前后两段的空格 ,我只好向就得js中也后Trim() 函数,后来试试了不 行,就网上找了下解决方法,其中用到了正则表达式 ,整理了下: < ...
- DataList分页访问FooterTemplate模板里的控件
今天做DataList分页的时候,突然想把分页控件写在FooterTemplate模板里面,弄了很久都访问不到控件,终于发现问题所在,以下是访问FooterTemplate里控件的方法: <Fo ...
- webservice 原理
webservice 原理1.soap协议,其实就是用http协议来传输xml格式的数据,可以post,get.一般有post.2.服务端有:本地程序代码(也不是dll)和xml格式的文件用来描述dl ...
- java注释指导手册
译文出处: Toien Liu 原文出处:Dani Buiza 编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它. 我们已经在Java Code Geeks提供了丰富 ...
- python面向对象(一),Day6
connfigparser模块 xml模块 shutil模块以及压缩解压 subprocess模块 面向对象(上) 类和对象 onfigParser 用于对特定的配置进行操作,当前模块的名称在 pyt ...
- [小北De编程手记] : Lesson 06 - Selenium For C# 之 流程控制
无论你是用哪一种自动化测试的驱动框架,当我们构建一个复杂应用程序的自动化测试的时候.都希望构建一个测试流程稳定,维护成本较低的自动化测试.但是,现实往往没有理想丰满.而这一篇,我会为大家讲解我们在使用 ...
- sqlserver 存储过程 try catch TRANSACTION (转)
CREATE PROCEDURE YourProcedure ASBEGIN SET NOCOUNT ON; BEGIN TRY---------------------开始捕捉异常 ...
- EntityFramework5学习
在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种由AD ...