MFC CImageList 类 公共方法:CImageList::Create
CImageList::Create 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于创建一个新的图像列表对象。BOOL Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow);参数含义如下: cx:图像列表中每个图像的宽度。 cy:图像列表中每个图像的高度。 nFlags:标志,指定图像列表的属性,例如 ILC_COLOR 用于指定颜色深度。 nInitial:初始图像列表中的图像数目。 nGrow:当图像数目不足时,图像列表会自动增长的数目。该方法返回一个布尔值,表示是否成功创建了图像列表。示例用法:CImageList myImageList;// 创建一个图像宽度为 16 像素,高度为 16 像素的图像列表int imageWidth = 16;int imageHeight = 16;UINT flags = ILC_COLOR32 | ILC_MASK; // 使用 32 位颜色和掩码int initialImageCount = 10; ...
MFC CImageList 类 公共方法:CImageList::Copy
CImageList::Copy 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于创建一个新的图像列表,该图像列表是原图像列表的副本。CImageList* Copy();该方法返回一个指向新创建的 CImageList 对象的指针。这个新对象是原图像列表的一个副本,拥有相同的图像和属性。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 创建图像列表的副本CImageList* pCopyImageList = myImageList.Copy();if (pCopyImageList != NULL){ // 成功创建副本 // 可以使用 pCopyImageList 操作副本图像列表}else{ // 创建副本失败}上述示例中,Copy 方法被用于创建原图像列表的副本,返回一个指向新创建的 CImageList 对象的指针。这样就可以在程序中同时使用原图像列表和副本图像列表。记得在使用完毕后释放副本图像列表的内存,以防止内存泄漏。
MFC CImageList 类 公共方法:CImageList::BeginDrag
CImageList::BeginDrag 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于启动图像列表的拖拽操作。BOOL BeginDrag(int nImage, CPoint point);参数 nImage 是要拖拽的图像的索引,point 是拖拽操作的起始点。该方法返回一个布尔值,表示是否成功开始拖拽操作。拖拽操作通常与其他消息和函数一起使用,以实现在应用程序界面中拖拽图像的效果。拖拽的目标可以是其他控件、窗口或者是应用程序内的其他区域。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 假设 nImage 是要拖拽的图像的索引,point 是拖拽操作的起始点int nImage = 0;CPoint startPoint(100, 100);BOOL result = myImageList.BeginDrag(nImage, startPoint);if (result){ // 拖拽操作已开始 // 可以通过处理相关的消息和事件来完成...
MFC CImageList 类 公共方法:CImageList::Attach
CImageList::Attach 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于将一个已有的图像列表(由操作系统或其他来源创建)关联到 CImageList 对象上。BOOL Attach(HIMAGELIST hImageList);参数 hImageList 是一个 HIMAGELIST 句柄,表示已有的图像列表的句柄。该方法返回一个布尔值,表示是否成功将已有图像列表关联到 CImageList 对象上。示例用法:CImageList myImageList;// 假设已经有一个由操作系统创建的图像列表句柄 hExistingImageListHIMAGELIST hExistingImageList = ...;// 将已有的图像列表关联到 CImageList 对象上BOOL result = myImageList.Attach(hExistingImageList);if (result){ // 关联成功}else{ // 关联失败}上述示例中,Attach 方法被用于将一个已有的图像...
MFC CImageList 类 公共方法:CImageList::Add
CImageList::Add 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于向图像列表中添加图像。int Add(CBitmap* pbmImage, CBitmap* pbmMask = NULL);int Add(HICON hIcon);int Add(CImageList* pImageList, int nIndex);int Add(UINT nBitmapID, COLORREF crMask);int Add(LPCTSTR lpszBitmapID, COLORREF crMask);int Add(CImageList& imageList);这个方法有多个重载形式,可以根据需要选择使用其中之一。 Add(CBitmap* pbmImage, CBitmap* pbmMask = NULL):从位图添加图像,如果提供了掩码位图,则使用掩码。 Add(HICON hIcon):从图标添加图像。 Add(CImageList* pImageList, int nIndex):从另一个图像列...
MFC CImageList 类 公共方法:CImageList::SetOverlayImage
CImageList::SetOverlayImage 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于为图像列表中的某个图像设置叠加图像(overlay image)。BOOL SetOverlayImage(int nImage, int nOverlay);参数 nImage 是图像列表中的主图像索引,而 nOverlay 是用于叠加的图像索引。该方法返回一个布尔值,表示是否成功设置了叠加图像。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 假设 nImage 是要设置叠加图像的主图像索引,nOverlay 是用于叠加的图像索引int nImage = 0;int nOverlay = 1;BOOL result = myImageList.SetOverlayImage(nImage, nOverlay);if (result){ // 设置成功}else{ // 设置失败}在上述示例中,nImage 表示要设置叠加图像的主图像索引,而 n...
MFC CImageList 类 公共方法:CImageList::SetImageCount
CImageList::SetImageCount 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于设置图像列表中图像的数量。BOOL SetImageCount(int nNewCount);参数 nNewCount 是新的图像数量。该方法返回一个布尔值,表示是否成功设置了图像数量。注意,这个方法通常用于在图像列表已经被创建后动态地更改图像数量。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 设置图像列表中的图像数量为新值(例如,设置为10)int newImageCount = 10;BOOL result = myImageList.SetImageCount(newImageCount);if (result){ // 设置成功}else{ // 设置失败}上述示例中,newImageCount 表示要设置的新的图像数量。根据实际需要,您可以将其调整为任何非负整数。
MFC CImageList 类 公共方法:CImageList::SetDragCursorImage
CImageList::SetDragCursorImage 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于设置拖拽操作时的光标图像。BOOL SetDragCursorImage(int nIndex, const POINT& point);参数 nIndex 是图像列表中的图像索引,point 是一个 POINT 结构,表示拖拽操作时光标的偏移位置。返回值是一个布尔值,表示是否成功设置拖拽光标图像。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了图像// 假设 nIndex 是要设置的图像的索引,xOffset 和 yOffset 是光标的偏移位置int nIndex = 0;POINT dragCursorOffset = {10, 10};BOOL result = myImageList.SetDragCursorImage(nIndex, dragCursorOffset);if (result){ // 设置成功}else{ // 设置...
MFC CImageList 类 公共方法:CImageList::SetBkColor
CImageList::SetBkColor 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于设置图像列表的背景颜色。BOOL SetBkColor(COLORREF clrBk);参数 clrBk 是一个 COLORREF 类型的颜色值,用于设置图像列表的背景颜色。返回值是一个布尔值,表示是否成功设置背景颜色。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了图像// 设置图像列表的背景颜色为红色COLORREF backgroundColor = RGB(255, 0, 0);BOOL result = myImageList.SetBkColor(backgroundColor);if (result){ // 设置成功}else{ // 设置失败}上述示例中,RGB(255, 0, 0) 表示红色,您可以根据需要设置不同的颜色。
MFC CImageList 类 公共方法:CImageList::Replace
CImageList::Replace 是 MFC 中 CImageList 类的一个公共方法,用于替换图像列表中的指定图像。以下是该方法的简要说明:BOOL Replace( int nIndex, HBITMAP hbmImage, HBITMAP hbmMask = NULL);参数说明: nIndex:要替换的图像在图像列表中的索引。 hbmImage:新图像的位图句柄。 hbmMask:可选参数,用于指定掩码位图的句柄。如果未提供,将使用默认掩码。返回值: 如果成功替换图像,则返回非零值;否则,返回零。使用示例:CImageList myImageList;myImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 1);// 添加一些图像到图像列表中...// 假设要替换索引为2的图像HBITMAP hNewImage = LoadBitmap(...); // 加载新图像的位图HBITMAP hNewMask = LoadBitmap(...); // 加载新图像的掩码位图BOOL bReplaceSucc...
MFC CImageList 类 公共方法:CImageList::Remove
在 MFC(Microsoft Foundation Classes)中,CImageList 类确实提供了名为 Remove 的公共方法,用于从图像列表中移除一个或多个图像。以下是 CImageList::Remove 方法的简要说明:BOOL CImageList::Remove(int nImage); nImage: 要移除的图像的索引。该方法返回一个 BOOL 值,表示是否成功移除指定的图像。如果成功,返回 TRUE;否则,返回 FALSE。以下是一个简单的示例:CImageList myImageList;// ... 初始化 myImageList ...int imageIndexToRemove = 2;// 从图像列表中移除指定索引的图像BOOL success = myImageList.Remove(imageIndexToRemove);if (success) { // 图像移除成功} else { // 图像移除失败,可能是因为索引无效等原因}这个方法通常用于在运行时动态地从图像列表中移除不需要的图像。如果你要删除多个图像,可以多次调用 Rem...
MFC CImageList 类 公共方法:CImageList::GetImageInfo
在 MFC(Microsoft Foundation Classes)中,CImageList 类提供了一个名为 GetImageInfo 的方法,用于获取图像列表中指定图像的信息。以下是 CImageList::GetImageInfo 方法的简要说明:BOOL CImageList::GetImageInfo( int nImage, IMAGEINFO* pImageInfo) const; nImage: 要获取信息的图像的索引。 pImageInfo: 用于接收图像信息的 IMAGEINFO 结构指针。该方法返回一个 BOOL 值,表示是否成功获取图像信息。如果成功,pImageInfo 结构中将包含有关指定图像的详细信息,如图像的位置、大小等。以下是一个简单的示例:CImageList myImageList;// ... 初始化 myImageList ...IMAGEINFO imageInfo;int imageIndex = 0; // 要获取信息的图像的索引// 获取图像列表中指定图像的信息BOOL success = myImageList.GetIma...
MFC CImageList 类 公共方法:CImageList::GetImageCount
在MFC(Microsoft Foundation Classes)中,CImageList类提供了一个名为GetImageCount的公共方法,用于获取图像列表中的图像数量。以下是CImageList::GetImageCount方法的简要说明:int CImageList::GetImageCount() const;该方法返回一个整数,表示图像列表中的图像数量。以下是一个简单的示例:CImageList myImageList;// ... 初始化 myImageList ...// 获取图像列表中的图像数量int imageCount = myImageList.GetImageCount();这个方法通常用于确定图像列表中有多少个图像,以便在其他操作中进行适当的处理。
MFC CImageList 类 公共方法:CImageList::GetDragImage
在 MFC(Microsoft Foundation Classes)中,CImageList 类提供了一个名为 GetDragImage 的公共方法,用于获取与拖放操作相关联的拖动图像。以下是 CImageList::GetDragImage 方法的简要说明:CImageList* CImageList::GetDragImage(POINT* ppt, POINT* pptHotSpot) const; ppt: 用于接收拖动图像的左上角的 POINT 结构。 pptHotSpot: 用于接收拖动图像的热点位置的 POINT 结构。该方法返回一个 CImageList 对象的指针,该对象表示与拖放操作相关联的拖动图像。如果未启动拖放操作,该方法将返回 NULL。以下是一个简单的示例:CImageList myImageList;// ... 初始化 myImageList ...POINT ptDragImage; // 用于接收拖动图像的左上角POINT ptHotSpot; // 用于接收拖动图像的热点位置// 获取与拖放操作相关联的拖动图像CI...
MFC CImageList 类 公共方法:CImageList::GetBkColor
在 MFC(Microsoft Foundation Classes)中,CImageList 类提供了一个名为 GetBkColor 的公共方法,用于获取图像列表的背景颜色。以下是 CImageList::GetBkColor 方法的简要说明:COLORREF CImageList::GetBkColor() const;该方法返回一个 COLORREF 值,表示图像列表的背景颜色。以下是一个简单的示例:CImageList myImageList;// ... 初始化 myImageList ...// 获取图像列表的背景颜色COLORREF bkColor = myImageList.GetBkColor();这允许你查询图像列表的背景颜色,以便在需要时进行相关操作。请注意,如果图像列表没有设置背景颜色,GetBkColor 将返回 CLR_NONE。
MFC CImageList 类 公共方法:CImageList::FromHandle
在MFC(Microsoft Foundation Classes)中,CImageList类提供了一个名为FromHandle的静态方法,用于创建CImageList对象并从给定的HIMAGELIST句柄中加载图像列表。以下是CImageList::FromHandle方法的简要说明:CImageList* CImageList::FromHandle(HIMAGELIST hImageList); hImageList: 要加载的图像列表的句柄。这个方法通常用于在已有的HIMAGELIST句柄上创建一个CImageList对象,以便进行更高层次的操作。例如,如果你从系统图像列表中获取了一个HIMAGELIST,你可以使用FromHandle方法将其转换为CImageList对象,以便使用CImageList提供的更多功能。以下是一个简单的示例:HIMAGELIST hSystemImageList = // 获取系统图像列表的句柄// 使用CImageList::FromHandle创建CImageList对象CImageList* pImageList = CImageList:...
MFC CImageList 类 公共方法:CImageList::EndDrag
在MFC(Microsoft Foundation Classes)中,CImageList类确实有一个名为EndDrag的公共方法。EndDrag方法用于结束拖放操作,并清除先前设置的拖放图像。以下是CImageList::EndDrag方法的简要说明:BOOL CImageList::EndDrag();该方法通常在拖放操作结束时被调用,用于清理拖动期间设置的图标等。在调用EndDrag之后,CImageList对象将不再持有与拖动相关联的图像列表。以下是一个简单的使用示例:CImageList myImageList;// ... 初始化 myImageList ...// 在拖动结束时调用 EndDragmyImageList.EndDrag();// 接下来,你可能需要处理拖放操作结束的其他步骤请注意,EndDrag方法通常与拖放的其他步骤,如DragLeave等方法一起使用,以确保在整个拖动操作期间进行适当的清理和处理。
MFC CImageList 类 公共方法:CImageList::DrawIndirect
在MFC(Microsoft Foundation Classes)中,CImageList类确实有一个名为DrawIndirect的公共方法,用于在设备上下文中绘制图像列表中的图标。以下是CImageList::DrawIndirect方法的简要说明:BOOL CImageList::DrawIndirect( IMAGELISTDRAWPARAMS* pimldp);IMAGELISTDRAWPARAMS是一个结构体,包含了绘制图像所需的各种参数,具体如下:typedef struct _IMAGELISTDRAWPARAMS { DWORD cbSize; HIMAGELIST himl; int i; HDC hdcDst; int x; int y; int cx; int cy; int xBitmap; int yBitmap; COLORREF rgbBk; COLORREF rgbFg; UINT fStyle; DWORD dwRop; DWORD fState; DWORD Frame; CO...
MFC CImageList 类 公共方法:CImageList::DrawEx
在MFC(Microsoft Foundation Classes)中,CImageList类确实有一个名为DrawEx的公共方法,它用于在设备上下文中绘制图像列表中的图标,提供了更多的灵活性。以下是CImageList::DrawEx方法的简要说明:BOOL CImageList::DrawEx( int nImage, CDC* pDC, POINT pt, SIZE size, COLORREF clrBk, COLORREF clrOverlay, UINT nStyle = ILD_NORMAL, DWORD dwRop = SRCCOPY); nImage: 图像列表中的图像索引。 pDC: 指向设备上下文的指针,用于指定绘制的目标。 pt: CPoint结构,指定图像在设备上下文中的位置。 size: CSize结构,指定图像的大小。 clrBk: 用于指定图像背景颜色的COLORREF值。可以使用CLR_NONE来表示透明背景。 clrOverlay: 用于指定覆盖颜色的COLORREF值。如果使用CLR_NONE,则没有覆盖颜色。 nS...
MFC CImageList 类 公共方法:CImageList::Draw
CImageList::Draw是CImageList类中的一个重要的公共方法,用于在设备上下文中绘制图像列表中的图标。以下是CImageList::Draw方法的简要说明:BOOL CImageList::Draw( CDC* pDC, int nImage, POINT pt, UINT nStyle = ILD_NORMAL); pDC: 指向设备上下文的指针,用于指定绘制的目标。 nImage: 图像列表中的图像索引。 pt: CPoint结构,指定图像在设备上下文中的位置。 nStyle: 用于指定绘制样式的标志。可以是以下之一或其组合: - ILD_NORMAL: 正常显示。 - ILD_TRANSPARENT: 图像具有透明背景。 - ILD_BLEND25、ILD_BLEND50、ILD_FOCUS等:通过一些混合效果来改变图像的外观。以下是一个简单的使用示例:CImageList myImageList;// ... 初始化 myImageList ...CDC* pDC = GetDC(); // 获取设备上下文POINT pt = {10, ...