mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-06 04:32:51 +02:00
84 lines
1.6 KiB
ObjectPascal
84 lines
1.6 KiB
ObjectPascal
unit Unit1;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
|
|
StdCtrls, ExtCtrls;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
Bevel1: TBevel;
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
Button3: TButton;
|
|
Button4: TButton;
|
|
Button5: TButton;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Panel1: TPanel;
|
|
Panel2: TPanel;
|
|
Panel3: TPanel;
|
|
procedure Button4Click(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
|
|
procedure Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
|
|
State: TDragState; var Accept: Boolean);
|
|
private
|
|
public
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
|
|
State: TDragState; var Accept: Boolean);
|
|
var
|
|
Control: TControl;
|
|
begin
|
|
if Source is TDragControlObject then
|
|
Control := TDragControlObject(Source).Control else
|
|
Control := TControl(Source);
|
|
Accept := Control = Panel2;
|
|
end;
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
begin
|
|
Screen.Cursors[1] := LoadCursorFromLazarusResource('car');
|
|
Button5.Cursor := 1;
|
|
end;
|
|
|
|
procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
|
|
begin
|
|
ShowMessage('drag accepted');
|
|
end;
|
|
|
|
procedure TForm1.Button4Click(Sender: TObject);
|
|
begin
|
|
if Screen.Cursor = crHourGlass then
|
|
begin
|
|
Screen.Cursor := crDefault;
|
|
Button4.Caption := 'Set Screen.Cursor';
|
|
end else
|
|
begin
|
|
Screen.Cursor := crHourGlass;
|
|
Button4.Caption := 'Unset Screen.Cursor';
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
{$I unit1.lrs}
|
|
{$I car.lrs}
|
|
|
|
end.
|
|
|