List Control for Support ProgressCtrl

源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/ProgressList.zip

CProgressListCtrl是CListCtrl的扩展类,支持在ListCtrl中显示ProgressCtrl控件。

主要代码如下:

void CProgressListCtrl::OnPaint()
{
	if(m_ProgressColumn>=0)
	{
		int Top=GetTopIndex();
		int Total=GetItemCount();
		int PerPage=GetCountPerPage();
		int LastItem=((Top+PerPage)>Total)?Total:Top+PerPage;

		int Count=(int)m_ProgressList.GetCount();
		for(int i=0;i<Count;i++)
		{
			CProgressCtrl* pControl=m_ProgressList.GetAt(0);
			pControl->DestroyWindow();
			m_ProgressList.RemoveAt(0);
		}

		CRect rcHeader,rcItem;
		CHeaderCtrl* pHeader=GetHeaderCtrl();
		pHeader->GetItemRect(m_ProgressColumn,&rcHeader);

		for(int i=Top;i<LastItem;i++)
		{

			GetItemRect(i,&rcItem,LVIR_LABEL);
			rcItem.top+=1;
			rcItem.bottom-=1;
			rcItem.left+=rcHeader.left;
			int Width=rcHeader.Width();
			rcItem.right=rcItem.left+Width-4;

			CProgressCtrl* pControl=new CProgressCtrl();
			pControl->Create(NULL,rcItem,this,IDC_PROGRESS_LIST+i);

			CString Data=GetItemText(i,0);
			int Percent;
#ifdef _UNICODE
			Percent=_wtoi(Data);
#else
			Percent=atoi(Data);
#endif

			pControl->SetPos(Percent);
			pControl->ShowWindow(SW_SHOWNORMAL);
			m_ProgressList.Add(pControl);
		}

	}

	CListCtrl::OnPaint();

}

  

时间: 2024-08-08 11:00:55

List Control for Support ProgressCtrl的相关文章

A Complete ActiveX Web Control Tutorial

? Introduction ActiveX is a Microsoft technology developed in the mid 90's, that allows for the creation of applet-like applications that can be downloaded and run within Microsoft's Web browser. This article is intended for Visual C++ developers who

十几个remote control software

5 alternatives to LogMeIn Free for remote PC access VNC VNC, or Virtual Network Computing, isn’t itself a product, but an open-source remote-control and display technology that’s implemented by Tight VNC (free), Ultra VNC (free) and RealVNC (free and

win8优化

微软发布win8系统之后受到很多电脑爱好者的关注,都想去尝试体验win8操作系统,对电脑系统优化和系统性能提高一直是我们所追求的.而很多用户都会选择第三方软件对系统进行相关优化,其实我们可以手动对电脑服务项和系统高级设置优化,那么也能给win8更好的优化效果,也能让电脑变得更加流畅.下面是系统花园整理的win8系统提高性能技巧. 详情请访问:雨林木风win7旗舰版;http://www.xitonghuayuan.net/ylmf/ 一.服务项优化: 本篇仅列出了可以禁用的服务,未列出的请勿改动

windows 10 系统服务列表

名称 状态 启动类型 登录为 描述ActiveX Installer (AxInstSV) 手动 本地系统 为从 Internet 安装 ActiveX 控件提供用户帐户控制验证,并基于组策略设置启用对 ActiveX 控件安装的管理.此服务根据要求启动,是否禁用 ActiveX 控件的安装取决于默认浏览器设置.AllJoyn Router Service 手动(触发器启动) 本地服务 路由本地 AllJoyn 客户端的 AllJoyn 消息.如果停止此服务,则自身没有捆绑路由器的 AllJoy

考试题目

Q1. An administrator wants to provide users restricted access. The users should only be able to perform the followingtasks:- Create and consolidate virtual machine snapshots- Add/Remove virtual disks- Snapshot ManagementWhich default role in vCenter

day12:vcp考试

Q221. An administrator is creating a new Platform Service Controller Password Policy with the followingrequirements:?Minimum length: Minimum of 8 characters.?Restrict use: 6?Character requirements: At least one upper-case letter, one number, and one

make menuconfig简介

Y--将该功能编译进内核  N--不将该功能编译进内核 M--将该功能编译成可以在需要时动态插入到内核中的模块  如果你是使用的是 make xconfig,那使用鼠标就可以选择对应的选项.这里使用的是 make  menuconfig,所以需要使用空格键进行选取.在每一个选项前都有一个括号, 有的是中括号有的是尖括号,还有圆括号.用空格键选择时可以发现,中括号里要么是空,要么是"*": 而尖括号里可以是空,"*"表示编译到内核里:"M"表示编译

Win7 服务优化个人单机版

我的PC设备比较旧了,为了系统能流畅点,不必要的服务就不开启了.然而,服务那么多,每次重装,都要从头了解一下一边,浪费时间. 个人在网络上收集信息并结合自己的摸索,整理如下,以备查找. 服务名称  显示名称 设置状态  备注  AxInstSV  ActiveX Installer (AxInstSV)  Manual    SensrSvc  Adaptive Brightness  Disable  非触屏用户可以关了,当然有感光传感器的显示器的,也应打开,一般的显示器没有.  AeLook

pickle和json模块

json模块 json模块是实现序列化和反序列化的,主要用户不同程序之间的数据交换,首先来看一下: dumps()序列化 import json '''json模块是实现序列化和反序列话功能的''' users = ["alex","tom","wupeiqi","sb","耿长学"] mes = json.dumps(users) #实例化,并打印 print(mes)运行结果如下:["alex