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

//加載動態(tài)光標(biāo)
TResourceStream * rs=new TResourceStream((int)HInstance,"C2","file);
//生成臨時的光標(biāo)文件
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;


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