其一:建议把{$R CrossMouse.res}放在{$R *.DFM}后面,我看书上都是这样
其二:crMyCursor好像没有定义.
其三:加一句:form1.cursor:=crMyCursor;//crMyCursor为一整数.必须定义

解决方案 »

  1.   

    是不是以下这样,还是不行,请再帮我看看unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
    const
      crMyCursor=1;implementation{$R *.DFM}
      {$R CrossMouse.res}  // 将资源文件包含到应用程序中去procedure TForm1.FormCreate(Sender: TObject);
    begin
      //装入鼠标资源
      Screen.Cursors[crMyCursor]:=LoadCursor(hInstance,'CrossMouse.res');
      //改变窗体的鼠标形状
      Cursor:=crMyCursor;
      Form1.Cursor:=crMyCursor;
    end;end.
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      //装入鼠标资源
      Screen.Cursors[crMyCursor]:=LoadCursor(hInstance,'CrossMouse.res');
      'CrossMouse.res'这里有错,应该是你的鼠标标识符,而不是资源文件名。
      //改变窗体的鼠标形状
      Cursor:=crMyCursor;
      Form1.Cursor:=crMyCursor;  Cursor:=crMyCursor;与Form1.Cursor:=crMyCursor;其实是一个意思,前一个只是省略了
    Form1而已end;
    正确写法:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      //装入鼠标资源
      Screen.Cursors[crMyCursor]:=LoadCursor(hInstance,'Cross');
      //改变窗体的鼠标形状
      Form1.Cursor:=crMyCursor;
    end;