|
我方法是这样的。
1.在osgViewer工程中添加资源,导入自定义的cur文件IDC_CURSOR1
2.在GraphicsWindowWin32.cpp里面包含 resourc.h
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by osgViewer.rc
//
#define IDC_CURSOR1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
3.编译资源.rc文件。
4.在GraphicsWindowWin32.cpp中调用
case SelfCursor:
_mouseCursorMap[mouseCursor] = LoadCursor( NULL, (LPCSTR)IDC_CURSOR1 );
break;
5.提示报错
error C2664: “LoadCursorA”: 不能将参数 2 从“int”转换为“LPCSTR”
根据此错误 将CPP中的调用强转成LPCSTR
case HandCursor:
_mouseCursorMap[mouseCursor] = LoadCursor( NULL, (LPCSTR)IDC_CURSOR1 );
break;
此时代码没错了。。但是显示的鼠标图标不是我自定义的,而是其他系统符号
我怀疑跟IDC_CURSOR1对应的那个101这个int型ID有关。。可是又不知道咋办
哪位大牛遇到过这样的问题? 我就是想把自己定义的cur文件编进到dll里面。。
求解 |
|