A. При загрузке из ресурсов приложения первым аргументом у LoadCursor должен быть HInstance (или Module.ResInstance, если предполагается использовать отдельную dll для ресурсов). С нулем она может загружать только стандартные курсоры.
Вот как это делается:
Curs.rc51 21 "dinosaur.ani" 52 21 "horse.ani" |
procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[1] := LoadCursor(HInstance, pChar(51)); Screen.Cursors[2] := LoadCursor(HInstance, pChar(52)); end; |
Компилятор ресурсов от Borland, похоже, не знает слова ANICURSOR, и создаёт ресурс с типом "ANICURSOR", а вот MS-овский создаёт ресурс с типом 21. Понятно, что LoadCursor не может найти наши ресурсы, даже если мы подали ему HInstance — он то просматривает тип 21.