天上的猩猩的专栏

我有一个愿望:CSDN上的资源全部可以0积分下载!0分行动从我做起!点击链接加入群【C/C++/MFC/QT交流学习群】:http://jq.qq.com/?_wv=1027&k=2BDqev...

VC中使用CRectTracker画图编译使用静态库时,光标消失解决方案

在工程中用到了VC的CRectTracker画图,是图片可以再次进行编辑。但是最近程序要发布的时候选择了使用MFC的静态库时,发现点击图片后光标消失不见了。我一开始以为是我代码写错了,到工程里调试很久一直没有解决。后来网上百度是发现,有很多前辈都遇到过这种情况,而且解决方法都已经给出来了。

下面是我稍微整理下的答案。

1:在vc的安装目录里找到拖动需要的光标(查找方法:找到vs的安装目录,在文件夹搜索选项里输入.cur即可),然后复制图标到你的工程,并添加到资源文件中。

2:在重写了CRectTracker的类中的构造函数里添加

extern HCURSOR _afxCursors[10];//引用trckrect.cpp文件中全局光标(静态编译时需要)
xxxxxxxxx()
{

    HINSTANCE hInst = AfxGetInstanceHandle();

    if (!_afxCursors[0])
        _afxCursors[0] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCKNWSE));

    if (!_afxCursors[1])
        _afxCursors[1] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCKNESW));

    if (!_afxCursors[2])
        _afxCursors[2] = _afxCursors[0];

    if (!_afxCursors[3])
        _afxCursors[3] = _afxCursors[1];

    if (!_afxCursors[4])
        _afxCursors[4] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCKNS));

    if (!_afxCursors[5])
        _afxCursors[5] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCKWE));

    if (!_afxCursors[6])
        _afxCursors[6] = _afxCursors[4];

    if (!_afxCursors[7])
        _afxCursors[7] = _afxCursors[5];

    if (!_afxCursors[8])
        _afxCursors[8] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCK4WAY));

    if (!_afxCursors[9])
        _afxCursors[9] = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_TRCK4WAY));

}

即可。

示例代码下载:http://download.csdn.net/detail/qq_23992597/9615706

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。我的QQ群,新建群欢迎加入! 群号:255023660点击链接加入群【C/C++/MFC/QT交流学习群】:http://jq.qq.com/?_wv=1027&k=2BDqevm https://blog.csdn.net/qq_23992597/article/details/52351618
个人分类: MFC学习
想对作者说点什么? 我来说一句

CrectTracker使用详解及实例

2009年11月09日 55KB 下载

利用CRectTracker画可调整矩形

2013年07月25日 13.26MB 下载

没有更多推荐了,返回首页

不良信息举报

VC中使用CRectTracker画图编译使用静态库时,光标消失解决方案

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭