在光标编译进资源文件,screen.cursor:=

解决方案 »

  1.   

    首先利用光标编辑软件建立好光标文件并保存,在这里假设保存到ac.cur中。然后利用文本编辑器建立一个资源文件,文件的内容如下:
       /******************/
       aa.rc
       Samples Resource file by CR
       ******************/
       NewCursor CURSOR “ac.cur"
       #define NewCursor 1
      将文件保存到aa.rc文件中,记住aa.rc和ac.cur要保存到同一个目录。在Delphi的Bin目录下有一个brcc32.exe文件,调用brcc32将aa.rc编译成为aa.res文件。(如果你有Borland C++系列软件的话,利用其中的Resource WorkShop可以实现从生成图标到编译成RES文件的全过程,但是要注意的是,只有在Borland C++4.5及以后的版本的Resource WorkShop才是32位的,而以前的都是16位的,在16位Resource WorkShop下生成的res文件是无法在32位Delphi下使用的。)
      打开Delphi,Delphi会自动生成一个Project1的工程,打开Project1.dpr,你可以看到其中有一行程序: {$R *.RES} 。这个就是Project1缺省的资源文件,在这行下面再加一行:{$R aa.RES},这样就将你自己的资源文件加入到工程中了。
      在Unit1中加入如下的常量定义:
       const
       crMyCursor = 5;
      在Form1的OnCreate事件中加入如下代码:
       procedure TForm1.FormCreate(Sender: TObject);
       begin
       Screen.Cursors[crMyCursor] := LoadCursor(HInstance,`NewCursor');
       ShowMessage(IntToStr(Screen.Cursors[crMyCursor]));
       Cursor := crMyCursor;
       end;
      做完上面的步骤以后,按F9运行程序,这时你就会看到窗口的图标变成了你自己建立的图标。同样,要使其它的控件使用自定义图标也很简单,只要将Form1的OnCreate事件中的语句“Cursor := crMyCursor; ”改为“Control.Cursor := crMyCursor;”就可以了。其中Control为控件的名称。
      上面的程序在Delphi14,win98下运行通过。 
      

  2.   

    哦,看来就是用res呀,谢谢大家