📄 obdragobject.pas
字号:
{-----------------------------------------------------------------------------
Unit Name: DragObjectX Author: Administrator Date: 06-五月-2004 Example: var Buffer : TBitmap;
begin
ListBox1.ControlStyle := ListBox1.ControlStyle + [csDisplayDragImage];
ListBox2.ControlStyle := ListBox1.ControlStyle + [csDisplayDragImage];
DragObject := nil;
Buffer := nil;
try
DragObject := TDragObjectX.Create;
Buffer := TBitmap.Create;
Buffer.Width := 150;
Buffer.Height := 20;
Buffer.Canvas.Brush.Color := clFuchsia;
Buffer.Canvas.FillRect(Rect(0,0,150,20));
Buffer.Canvas.TextOut(2,2,'THIS IS A TEST !');
TDragObjectX(DragObject).SetBitmap(Buffer,clFuchsia);
finally
FreeAndNil(Buffer);
end; end;-----------------------------------------------------------------------------}
unit OBDragObject;
interface
uses
Controls, Graphics;
type
TOBDragObject = class(TDragObjectEx)
private
FDragImages : TDragImageList;
protected
function GetDragImages: TDragImageList; override;
procedure CheckCreateImages;
public
destructor Destroy; override;
procedure SetImageList(Value : TImageList);
procedure SetBitmap(Value : TBitmap;MaskColor : TColor = clFuchsia);
end;
implementation
uses ImgList;
{ TOBDragObject }
procedure TOBDragObject.CheckCreateImages;
begin
if FDragImages = nil
then FDragImages := TDragImageList.Create(nil)
else FDragImages.Clear;
end;
destructor TOBDragObject.Destroy;
begin
if FDragImages <> nil then
begin
FDragImages.Free;
FDragImages := nil;
end;
inherited;
end;
function TOBDragObject.GetDragImages: TDragImageList;
begin
Result := FDragImages;
end;
procedure TOBDragObject.SetBitmap(Value: TBitmap;MaskColor : TColor);
begin
CheckCreateImages;
FDragImages.Width := Value.Width;
FDragImages.Height := Value.Height;
FDragImages.AddMasked(Value,MaskColor);
end;
procedure TOBDragObject.SetImageList(Value: TImageList);
begin
CheckCreateImages;
FDragImages.Assign(Value);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -