CImageList】的更多相关文章

拖动是界面编程频繁使用的一个效果,在windows系统下可谓大行其道.纵观时下的应用软件几乎各个都支持各种各样拖动的效果,windows7更是把拖动做到了极致.其实说起来拖动的实现也很简单,对于有句柄的对象都可以通过MoveWindow或SetWindowPos实现位置变动,而没有句柄的对象实现拖动无非就是做些参数修改,说到底实现拖动就是在OnLButtonDown.OnMouseMove和OnLButtonUp中处理数据,当然你可以使用鼠标右键甚至中建消息来实现,基本原理是一样的.     …
32位的位图主要是包含Alpha值(0-255)可以有半透效果的.之前用FreeImage加载 的DIB, CImageList直接绘制会有黑色背景.即便用了ILC_MASK,也创建了mask map, 这种是旧式的图标/光标透明效果, 遮罩透明, 没有alpha通道和渐变,效果仍然很差.所以以前的toolbar/menu/tab control 都是ownerdraw, 先ExtractIcon,用DrawStat (DST_ICON)来绘制图标,这样绘的制是支持32位图标的.但是最近给too…
前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn):   BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow ); cx ,cy: 图片的实际像素宽与高,没有问题 nFlags:创建图像列表的类型,包括4/8/16/24/32/位色, nInitial : 创建Ima…
图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式.可以利用WINDOWS32位应用程序接口函数API来绘制.建立和删除图像,并能实现增加.删除.替换和拖动图像等操作.图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现. (一)图像控制的对象结构 1.图像控制的数据成员 m_hImageList 连接图像对象的控制句柄 2.图像控制的建立方法 CimageL…
在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储.该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源. 图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图像列表通常由大图标或位图构成,其中包含位图模式.实际上,所有的在同一个图象列表中的图标都被存储在一个屏幕设…
CImageList ImageList;//创建一个包含3个24位色32x32图片的ImageList,ILC_MASK的意思是同时创建一个mask,这样在下面指定了背景颜色以后ImageList就可以画透明图像了ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 3, 1);//加载位图,IDB_XXXX是一个96x32大小的图片,背景颜色为红色RGB(255,0,0)CBitmap Bmp;Bmp.LoadBitmap(IDB_XXXX);//将图…
创建 有五个重载函数,分别如下: BOOL Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow); BOOL Create(UINT nBitmapID, int cx, int nGrow, COLORREF crMask); BOOL Create(LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREF crMask); BOOL Create(CImageList& imagel…
知识点: CImageList类的运用 CListCtrl添加图标 一.CImageList CImageList*SetImageList(CImageList*pImageList,int nImageList); BOOL Create(intcx,intcy,UINT nFlags,int nInitial,int nGrow); CImageList::Create(,,ILC_COLOR32|ILC_MASK,,);//创建图标列表 //ILC_COLOR32指定颜色位数 //ILC…
只介绍主要方法,函数的具体参数可在MSDN上查阅 ------------------------------------------- CListCtrl     m_ListCtrl; CImageList m_ImageList; CBitmap     bmp,bmp2: ......... ---------------------------------------- 1.在CImageList中加载一系列图像(如添加2张) m_ImageList.Create(48, 48, IL…
CImageList BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow ); 其中各项参数的含义为:cx定义图像的宽度,单位为象素:cy定义图象的高度,单位为象素:nFlags确定建立图像列表的类型,可以是以下值的组合: ILC_COLOR.ILC_COLOR4.ILC_COLOR8.ILC_COLOR16.ILC_COLOR24.ILC_COLOR32. ILC_COLORDDB和ILC_MASK:nInitia…
<1>给控件 CComboBox绑定变量 .cpp中 DDX_Control(pDX, IDC_COMBO_PHOTO_IMG, m_ComboBoxPhotoImg); CComboBoxEx m_ComboBoxPhotoImg; //用户图像 <2> .cpp中 //创建图像列表 m_imageList.Create(32, 32, ILC_COLOR16, 4, 4); for(int i = 0; i < 10; i++) { m_imageList.Add(::L…
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点.MFC中使用CTreeCtrl类来封装树形控件的各种操作.通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格: TVS_HASLINES 在父/子结点之间绘制连线TVS_LINESATROOT 在根/子结…
引用:http://www.cnblogs.com/likwo/archive/2010/10/22/1858716.html CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)http://www.codejock.com/ BCGControlBar(收费,mfc扩展开发包,功能很强大)http://www.bcgsoft.com SkinMagic(收费,看起来像Office)http://appspeed.com/html/down…
1.新建对话框MFC,在对话框上放一个ListCtrl ID:IDC_PATH View:Report 2.为ListCtrl添加变量 右击->添加变量m_wndPath 3.找到OnInitDialog()函数添加如下代码: // TODO: 在此添加额外的初始化代码 m_wndPath.DeleteAllItems();//清空 m_wndPath.InsertColumn(,_T("项目"));//添加列 m_wndPath.InsertColumn(,_T("所…
>目录< >——————————————————————< 1.建立工程  1.建立一个MFC工程,命名为Tao_Music 2.选择为基本对话框 3.包含Windows Sockts 4.使用静态链接库 [方便一会直接生成的exe文件单独可以发布] 2. 搭建界面  1. 拖入控件: 2. 控件拖入并摆好 3. 控件属性设置: 3. 写代码实现功能  1.变量绑定: 2.加入图片资源 3.新建mp3类: 4.修改Tao_MusicDlg.h 5.修改Tao_Music.cpp 6…
原文链接地址:http://www.codeproject.com/Articles/8/MFC-Grid-control MFCGridCtrl是个强大的类,用于数据的表格显示. 1.类特征 Cell selection using the mouse, with optional Control and Shift key combinations. Selection can be disabled. Row and Column resizing. Sizing can be disab…
Report风格的ListCtrl的扩展,原文链接地址:http://www.codeproject.com/Articles/5560/Another-Report-List-Control 1.列排序 BOOL IsSortable() const; // Is sort allowed? BOOL SetSortable(BOOL bSet); // Allow/disallow sorting BOOL IsSortAscending() const; int GetSortedColu…
参考资料:微软MSDN.VS2010示例代码 一开始上段子总是能活跃气氛,等哪天我再打开自己的这篇博客,总是能够让自己傻傻的乐一下. 我一女同学,毕业去一大公司应聘,竞争很激烈,最后剩下她和一位女士.两个人都很优秀,面试官犹豫着叫她们两明天再来.临走之前她捡起了地上的碎纸屑,所以说细节决定成败!就是这么一个不经意的弯腰,被路过的CEO看到了.CEO透过衣领看到她的胸特别小,于是当机立断录取了另一位女士.醒醒吧!现实就是这样!不会有人想揍我吧? 大致结构 Bar |--TabCtrl |--Pan…
CListCtrl CCmdTarget     └CListCtrl CListCtrl类封装"列表视图控件"功能,显示每个包含图标(列表视图中)和标签的收集.除图标和标签外,每一项还能有显示在图标和标签的右边的列中的信息.视图 列表视图控件可用四种不同方式显示其内容,称为"视图". . 图标视图每一项以全尺寸图标(32×32像素)出现,下面有一个标签.用户可在列表视图窗口拖动项到任意位置. · 小图标视图每一项以小图标(16×16像素)出现,右边有一个标签.用户…
真彩bar /***========================================================================= ==== ==== ==== D C U t i l i t y ==== ==== ==== ============================================================================= ==== ==== ==== File name : TrueColorTool…
m_imagelist.Create(,,ILC_COLOR24|ILC_MASK,,); CBitmap bmp; ;i<;i++) { int a= bmp.LoadBitmapW(IDB_BITMAP1+i); a= m_imagelist.Add(&bmp,RGB(,,)); a=bmp.DeleteObject(); } ] = {,,,,,,,,,}; m_toolbar.CreateEx(this); m_toolbar.SetButtons(t,); m_toolbar.Se…
前言 Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本.下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表. 1.定义控件对应变量 假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件拖放到上面.打开 Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble…
示例:http://download.csdn.net/detail/zahxz/4652543 代码: CListCtrl mCtrlist;//列表控件 CImageList m_ImageList;//图片列 头文件 m_ImageList.Create(,, TRUE|ILC_COLOR24, , ); CBitmap bmp; bmp.LoadBitmap(IDB_OKOK); m_ImageList.Add(&bmp,RGB(,,)); bmp.DeleteObject(); CBi…
回顾: 刚刚写完,因为是分期写的,所以最初想好好做一下的文章格式半途而废了~说的也许会有点啰嗦,但是所有的基础用到的技术细节应该都用到了. 如果还有什么疑问,请回复留言,我会尽力解答. 如果有错误,请指正. 这里所有使用到的内容在VS2010中均能正常运行. 可运行程序的截图: CListCtrl控件的创建 如果一个CListCtrl控件对象和dialog上的控件已经绑定,那么可以跳过这个这一步,因为绑定了的对象已经完成了创建. 但是如果要在dialog上凭空创建出来一个列表控件,那么就需要了解…
类 描述 头文件 CAnimateCtrl 自动化通用控件 afxcmn.h CArchive afx.h CArchiveException afx.h CArray afxtempl.h CAsyncMonikerFile 在ActiveX控件中提供对异步标记的支持 afxole.h CAsyncScoket 封装Windows Sockets API,参看CSocket afxsock.h CBitmap afxwin.h CBitmapButton afxext.h CBrush afx…
最终实现的效果图: 步骤一:接下来在资源视图中添加一个ToolBar工具栏(具体怎么添加在这儿就不详细讲解了!)添加后的ToolBar以及工具栏中每个按钮 所命名的ID如下:(可以自定义,只要不重名就可以,一般命名规则是见名知义)那么在资源视图中的工具栏,我们就制作完成了!!步骤二:以上仅仅是进行了按钮的添加,而按钮上面那些相对应的 图片还没有导入,应该将图片导入到资源视图中的Icon中,格式必须为 *.ico,并对每张ICO图片也进行ID的分配 步骤三:打开代码添加一个 InitToolBar…
主题 1. 选项卡控件基础 2. 显示图标的选项卡 3. 选项卡控件高级 4. 5.      属性      选项卡控件基础 1.插入1个对话框,新建1个类 CCDialog1,1 个对话框对应一个TAB属性页面   2.对话框设置属性     Style:Child,     Border:None 3. 定义公共变量 双击 DIALOG1的OK按钮         CDialog1 m_page1;     CDialog2 m_page2;     CDialog3 m_page3; 给…
主题 1.  创建图像列表 2.  使用图像列表绘图 3. 4. 5.     代码::创建图像列表 双击 Cproject03Dlg在     下面添加 1 句 ///////////////////////////////////////////////////////////////////////////// // CProject01Dlg dialog // class CProject01Dlg : public CDialog // { // Construction // pu…
  一.怎样加入�/删除Combo Box内容1,在Combo Box控件属性的Data标签里面加入�,一行表示Combo Box下拉列表中的一行.换行用ctrl+回车.2,在程序初始化时动态加入� 如: //控件内容初始化CString strTemp;((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有全部内容for(int i=1;i<=100;i++){   strTemp.Format("%d"…
原文地址:教大家如何打造使用Tcpview(tcp查看器)作者:jybasenet3   一玩 VS 对战平台的同学有一次发现了一个可以踢人的方法,就是用 TcpView 把那个连 接关掉.后来VS 平台封掉了这个程序,只要一打开TcpView就会被 VS 关掉.于是我萌生了 自己做个 TcpView的想法.  Tcpview是Winternals公司 Sysinternals 系列工具之一,尽管大部分这些工具网上都 有源代码,唯独没有找到TcpView的源代码.能找到的其实只是个命令行下的一个…