光标销毁DestroyCursor的情况总结

  1. 使用CreateCursor动态创建的光标
    当使用CreatorCursor函数动态创建光标时,系统不会自动管理这些光标的生命周期。因此,当这些光标不再需要时,需要使用DestroyCursor函数手动销毁。
HCURSOR hCursor = ::CreateCursor(...);
// 使用光标
::DestroyCursor(hCursor); // 当不再需要时销毁
  1. 使用LoadCursorFromFile加载的光标
    通过LoadCursorFromFile函数加载的光标,在不再需要时也应该被销毁。
HCURSOR hCursor = ::LoadCursorFromFile(_T("path_to_cursor_file.cur"));
// 使用光标
::DestroyCursor(hCursor); // 当不再需要时销毁光标
  1. 使用CopyImage函数复制的光标
    使用CopyImage函数复制了一个光标,得到的新光标同样需要在不再使用时通过DestroyCursor函数销毁。
HCURSOR hOrigCursor = ::LoadCursor(NULL, IDC_ARROW);//系统预定义光标,无需销毁,由系统管理
HCURSOR hCopyCursor = (HCURSOR)::CopyImage(hOrigCursor, IMAGE_CURSOR, 0, 0, 0);
// 使用复制的光标
::DestroyCursor(hCopyCursor); // 当不再需要时销毁光标
  1. 使用CopyCursor函数复制的光标
    与使用CopyImage函数创建出的光标类似,当使用CopyCursor复制一个光标时,也需要手动销毁这个复制出来的光标实例,以免资源泄露。
HCURSOR hOrigCursor = ::LoadCursor(NULL, IDC_ARROW); // 加载一个系统预定义的光标
HCURSOR hCopyCursor = ::CopyCursor(hOrigCursor); // 创建光标的副本

// 使用复制的光标...

::DestroyCursor(hCopyCursor); // 当不再需要时销毁光标副本

如还有其他情况,欢迎评论区补充~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值