MFC CImageList 类 公共方法:CImageList::FromHandle
CImageList::FromHandle 是 MFC 中 CImageList 类的一个静态方法,用于创建一个 CImageList 对象并关联到现有的图像列表句柄。以下是该方法的签名:CImageList* PASCAL FromHandle(HIMAGELIST hImageList);这个方法接受一个图像列表句柄 hImageList 作为参数,并返回一个指向 CImageList 对象的指针。使用示例:HIMAGELIST hImageList = ...; // 从某处获取图像列表句柄CImageList* pMyImageList = CImageList::FromHandle(hImageList);if (pMyImageList != nullptr) { // 成功创建了 CImageList 对象并关联到图像列表句柄 // 可以使用 pMyImageList 进行其他操作} else { // 创建失败,处理错误}这样,你就可以使用 CImageList 对象来操作与该图像列表句柄相关联的图像列表。请确保在使用 CImageList::Fr...
MFC CImageList 类 公共方法:CImageList::EndDrag
CImageList::EndDrag 是 MFC 中 CImageList 类的一个公共方法,用于结束拖放操作。在拖放操作中,通常会在 CImageList::BeginDrag 启动拖放后调用 CImageList::EndDrag 来完成拖放操作。以下是 CImageList::EndDrag 方法的简要说明:BOOL EndDrag();这个方法没有参数,返回一个 BOOL 值,表示操作是否成功。EndDrag 方法用于结束拖放操作,并清理相关资源。使用示例:CImageList myImageList;// 假设在这之前已经成功地调用了 BeginDrag 来启动拖放操作// 结束拖放操作BOOL bEndDragSuccess = myImageList.EndDrag();if (bEndDragSuccess) { // 拖放操作成功结束} else { // 拖放操作结束失败}这是一个简单的例子,实际使用时需要根据你的具体情况进行调整。请确保在调用 EndDrag 之前已经成功调用了 BeginDrag。
MFC CImageList 类 公共方法:CImageList::DrawIndirect
在 MFC(Microsoft Foundation Classes)中,CImageList 类确实有 DrawIndirect 方法,用于在设备上下文(Device Context)中绘制图像列表的图像,提供更多的绘制选项。BOOL DrawIndirect(IMAGELISTDRAWPARAMS* pimldp);参数 pimldp 是一个指向 IMAGELISTDRAWPARAMS 结构的指针,该结构定义了绘制图像的参数,包括图像列表、图像索引、设备上下文、位置等信息。struct IMAGELISTDRAWPARAMS{ DWORD cbSize; HIMAGELIST himl; int i; HDC hdcDst; int x; int y; int cx; int cy; int xBitmap; // x offset from the upperleft of bitmap ...
MFC CImageList 类 公共方法:CImageList::DrawEx
在 MFC(Microsoft Foundation Classes)中,CImageList 类确实有 DrawEx 方法,用于在设备上下文(Device Context)中绘制图像列表的图像,提供更多的绘制选项。BOOL DrawEx(int nImage, CDC* pDC, POINT pt, SIZE sz, COLORREF rgbBk, COLORREF rgbFg, UINT nStyle);参数说明: nImage:要绘制的图像在图像列表中的索引。 pDC:指向设备上下文的指针,表示图像将被绘制到哪个设备上下文中。 pt:图像在设备上下文中的位置。 sz:图像的大小,指定图像在设备上下文中的宽度和高度。 rgbBk:背景颜色,用于指定图像的背景颜色。 rgbFg:前景颜色,用于指定图像的前景颜色。 nStyle:图像绘制的样式,可以使用合适的标志位进行组合,例如 ILD_NORMAL、ILD_SELECTED 等。返回一个布尔值,表示是否成功绘制了图像。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像CDC* pDC...
MFC CImageList 类 公共方法:CImageList::Draw
在 MFC(Microsoft Foundation Classes)中,CImageList 类确实有 Draw 方法,用于在设备上下文(Device Context)中绘制图像列表的图像。BOOL Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle);BOOL Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle, COLORREF crEffect);这个方法有两个重载形式: Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle):绘制图像列表的图像到指定的设备上下文,指定图像索引、位置和样式。 Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle, COLORREF crEffect):在绘制的同时,可以指定颜色效果(crEffect)。参数说明: pDC:指向设备上下文的指针,表示图像将被绘制到哪个设备上下文中。 nIndex:要绘制的图像在图像列表中的索引。 pt:图像在设备上下文中的位置。 nSt...
MFC CImageList 类 公共方法:CImageList::DragShowNolock
在 MFC(Microsoft Foundation Classes)中,CImageList 类的确有 DragShowNolock 方法,用于在拖拽过程中显示或隐藏拖拽图像。这个方法通常与拖拽操作中的 OnDragOver 函数一起使用,以确定何时显示或隐藏拖拽图像。BOOL DragShowNolock(BOOL bShow);参数 bShow 是一个布尔值,表示是否显示拖拽图像。该方法返回一个布尔值,表示是否成功设置拖拽图像的显示状态。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 在拖拽操作的 OnDragOver 函数中调用 DragShowNolockBOOL bShowDragImage = TRUE; // 假设需要显示拖拽图像BOOL result = myImageList.DragShowNolock(bShowDragImage);if (result){ // 成功设置拖拽图像的显示状态}else{ // 设置失败}上述示例中,DragShowNolock 方法被用于在拖拽操作的 OnDr...
MFC CImageList 类 公共方法:CImageList::DragMove
在 MFC(Microsoft Foundation Classes)中,CImageList 类的确有 DragMove 方法,用于在拖拽过程中更新拖拽操作的位置。BOOL DragMove(CPoint point);参数 point 表示拖拽操作的新位置,即鼠标指针的当前位置。该方法返回一个布尔值,表示是否成功更新拖拽位置。通常,DragMove 方法会在拖拽过程中的 OnMouseMove 或类似的消息处理函数中调用,以更新拖拽的图像位置。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 在拖拽操作的鼠标移动消息处理函数中调用 DragMoveCPoint currentMousePos; // 假设这是当前鼠标位置BOOL result = myImageList.DragMove(currentMousePos);if (result){ // 成功更新拖拽位置}else{ // 更新拖拽位置失败}上述示例中,DragMove 方法被用于在拖拽操作的鼠标移动消息处理函数中更新拖拽的图像位置。
MFC CImageList 类 公共方法:CImageList::Detach
CImageList::Detach 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于将 CImageList 对象从其内部的 Windows 图像列表句柄(HIMAGELIST)中分离,返回该句柄。HIMAGELIST Detach();该方法返回一个 HIMAGELIST 句柄,表示被分离的图像列表的句柄。通过调用 Detach,CImageList 对象不再拥有该图像列表的所有权。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 分离图像列表句柄HIMAGELIST hImageList = myImageList.Detach();if (hImageList != NULL){ // 成功分离,可以使用 hImageList 操作图像列表 // 请注意:在不再使用 hImageList 时,需要释放相关资源,以防止内存泄漏 // 例如使用 ImageList_Destroy 函数来销毁图像列表 ImageList_Destroy...
MFC CImageList 类 公共方法:CImageList::DeleteImageList
CImageList::DeleteImageList 是 MFC(Microsoft Foundation Classes)中 CImageList 类的一个公共方法,用于删除图像列表对象及其相关资源。BOOL DeleteImageList();该方法返回一个布尔值,表示是否成功删除了图像列表。示例用法:CImageList myImageList;// 假设已经创建了图像列表并添加了一些图像// 删除图像列表及其相关资源BOOL result = myImageList.DeleteImageList();if (result){ // 删除成功}else{ // 删除失败}上述示例中,DeleteImageList 方法被用于删除图像列表及其相关资源。在不再需要使用图像列表时,应该调用此方法来释放资源,以防止内存泄漏。
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...