如果你想在 CUserTool 类中添加一个名为 CopyIconToClipboard 的公共方法,用于将工具的图标复制到剪贴板,可以在类的头文件和实现文件中进行如下定义:
// UserTool.h
class CUserTool
{
public:
    CUserTool();
    ~CUserTool();

    // 公共方法
    void CopyIconToClipboard();

private:
    // 私有成员和其他方法
    // 可以添加其他成员变量或方法,以支持复制图标到剪贴板操作
    HICON m_hToolIcon;
};
// UserTool.cpp
#include "UserTool.h"
#include <afxwin.h>

CUserTool::CUserTool()
{
    // 构造函数的实现
    m_hToolIcon = nullptr;  // 初始化图标为空
}

CUserTool::~CUserTool()
{
    // 析构函数的实现
    // 在析构函数中释放图标资源
    if (m_hToolIcon != nullptr)
    {
        ::DestroyIcon(m_hToolIcon);
        m_hToolIcon = nullptr;
    }
}

void CUserTool::CopyIconToClipboard()
{
    // 将工具的图标复制到剪贴板
    if (m_hToolIcon != nullptr)
    {
        if (::OpenClipboard(NULL))
        {
            ::EmptyClipboard();

            // 将图标放入剪贴板
            ::SetClipboardData(CF_ICON, m_hToolIcon);

            ::CloseClipboard();
        }
    }
}

在这个示例中,CopyIconToClipboard 方法负责将工具的图标复制到剪贴板。在实现中,我们首先检查图标是否存在,然后使用 Windows API 函数打开剪贴板,清空剪贴板内容,最后将图标数据放入剪贴板,并关闭剪贴板。

请注意,在析构函数中,我们确保在对象销毁时释放图标资源,以防止内存泄漏。这是一个基本的示例,实际中你可能需要根据具体情况进行适当的调整。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23015/MFC/CUserTool