我正在使用以下代码在C ++构建器中调用动画光标:
void __fastcall TcfListatArtikujtLst::FormActivate(TObject *Sender)
{
ActiveControl = cxGrid1;
Application->ProcessMessages();
const int cnCursorID1 = 1;
Screen->Cursors[cnCursorID1] = LoadCursorFromFile("cursors\\hourglas.ani");
Cursor = cnCursorID1;
try
{
dmDM1->prcArtikujt->Close();
dmDM1->prcArtikujt->Parameters->Refresh();
dmDM1->prcArtikujt->Prepared;
dmDM1->CDSArtikujt->Data = dmDM1->DSPArtikujt->Data;
dmDM1->CDSArtikujt->Open();
}
__finally
{
Screen->Cursor = crDefault;
}
}
问题是动画在尝试最终阻止时生效,并且不会重新调整默认光标。
干杯,
Nijazi Citaku
最佳答案
我强烈怀疑游标已加载,但直到Windows消息循环继续之前才更改。
从文件加载光标后,尝试使用ProcessMessages。
游标没有消失,因为您没有告诉表单返回普通游标。您已告诉屏幕返回到正常光标。
尝试:
__finally
{
Cursor = crDefault;
}