在程序中使用自定義光標,能使程序增色不少.如果使用外部光標文件,只要用LoadCursorFromFile()即可調用.但如果想要用資源文件來包含光標文件時,一般的光標文件沒有問題,但是如果是動態光標的話,則不能通過LoadCursor()來調用.
解決方法:
1.資源文件的建立
新建一擴展名為rc的文件(記事本就可創建),添加資源說明.
如: C1 Cursor aaa.Cur
C2 file bbb.ani
第一個是普通的光標,第二個是動態光標.
2.將資源加到工程里.
3.設置鼠標光標
Screen->Cursors[1]=LoadCursor(C1);
//Screen->Cursors[1]=LoadCursor(C2);
//如果想載入動態光標,會失敗

//加載動態光標
TResourceStream * rs=new TResourceStream((int)HInstance,"C2","file);
//生成臨時的光標文件
char temp_path[MAX_PATH];
GetTempPath(MAX_PATH,temp_path);
strcat(temp_path,"temp.ani");
rs->SaveToFile(temp_path);

Screen->Cursors[2]=LoadCursorFromFile(temp_path);
this->Cursor=TCursor(2);
delete rs;


這里只是通過間接的方法,先生成文件,在載入文件.如果誰有好的方法,就不要吝嗇了.