Kursor yang diperoleh dengan menggunakan Loadcursor() di Delphi hanya berwarna hitam putih. Penulis mencoba membuat program berikut ini:
Metode 1: Gunakan Loadcursorfromfile() untuk memuat ikon sebagai kursor dari luar
Fungsi Loadcursorfromfile() dapat membaca file dengan akhiran *CUR, *ICO, dan *ANI sebagai kursor, di mana ICO adalah format ikon warna (dapat diproduksi dengan Image Editor), dan ANI adalah format kursor animasi. Berikut ini adalah segmen program demonstrasi yang membuka ikon sebagai kursor. Ketika kursor berpindah ke area pengujian, kursor akan berubah ke pola yang dipilih;
{Misalkan: opendialog1:Topendialog;Bitbtn1:Tbitbtn}
Prosedur TForm1.BitBtn1Click(Pengirim:TObject);
var tt:pchar;ukuran:integer;s:string;
mulai
jika opendialog1.Jalankan lalu
mulai
ukuran:=panjang(opendialog1.namafile);
getmem(tt,ukuran);
s:=opendialog1.namafile;
strpcopy(tt,s);
layar.kursor[2]:=loadcursorfromfile(tt);
bf.kursor:=2;
freemem(tt,ukuran);
akhir;
akhir;
Metode 2: Muat kursor berwarna dari file sumber daya
File *CUR harus disertakan saat mengirim program menggunakan metode 1, jadi memuat kursor berwarna dari file sumber daya adalah metode yang lebih layak. Gunakan ikon untuk menyimpan kursor berwarna, simpan ikon dalam file sementara saat menggunakannya, dan gunakan Loadcursorfromfile() untuk membaca kursor berwarna dari file sementara.
Segmen program:
prosedur ZloadfromResourse(indeks layar:integer;nama:Pchar);
var td:tikon;
mulai
mencoba
td:=ticon.Buat;
td.Handle:=LoadIcon(Petunjuk,nama);
td.SaveToFile(′temp.cur′);
layar.Kursor[indeks layar]:=loadcursorfromfile(′temp.cur′);
deletefile(′temp.cur′);
Akhirnya
td.gratis;
akhir;
akhir;
Program ini mengubah ikon bernama nama menjadi kursor dengan nomor seri screenindex;
contoh:
ZloadfromResourse(2,′myicon′);
Formulir1.kursor:=2;