- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
MdListAct.pas
资源名称:delphi.rar [点击查看]
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:
Delphi控件源码
开发平台:
Delphi
- unit MdListAct;
- interface
- uses
- ActnList, Classes, StdCtrls, ExtActns, Controls;
- type
- TMdCustomListAction = class (TListControlAction)
- protected
- function TargetList (Target: TObject): TCustomListBox;
- function GetControl(Target: TObject): TCustomListControl;
- public
- procedure UpdateTarget (Target: TObject); override;
- published
- property Caption;
- property Enabled;
- property HelpContext;
- property Hint;
- property ImageIndex;
- property ListControl;
- property ShortCut;
- property SecondaryShortCuts;
- property Visible;
- property OnHint;
- end;
- TMdListCutAction = class (TMdCustomListAction)
- public
- procedure ExecuteTarget(Target: TObject); override;
- end;
- TMdListCopyAction = class (TMdCustomListAction)
- public
- procedure ExecuteTarget(Target: TObject); override;
- end;
- TMdListPasteAction = class (TMdCustomListAction)
- public
- procedure UpdateTarget (Target: TObject); override;
- procedure ExecuteTarget (Target: TObject); override;
- end;
- procedure Register;
- implementation
- uses
- Windows, Clipbrd;
- function TMdCustomListAction.GetControl(
- Target: TObject): TCustomListControl;
- begin
- Result := Target as TCustomListControl;
- end;
- function TMdCustomListAction.TargetList (Target: TObject): TCustomListBox;
- begin
- Result := GetControl (Target) as TCustomListBox;
- end;
- procedure TMdCustomListAction.UpdateTarget(Target: TObject);
- begin
- Enabled := (TargetList (Target).Items.Count > 0)
- and (TargetList (Target).ItemIndex >= 0);
- end;
- procedure TMdListCopyAction.ExecuteTarget(Target: TObject);
- begin
- with TargetList (Target) do
- Clipboard.AsText := Items [ItemIndex];
- end;
- procedure TMdListCutAction.ExecuteTarget(Target: TObject);
- begin
- with TargetList (Target) do
- begin
- Clipboard.AsText := Items [ItemIndex];
- Items.Delete (ItemIndex);
- end;
- end;
- procedure TMdListPasteAction.ExecuteTarget(Target: TObject);
- begin
- TargetList (Target).Items.Add (Clipboard.AsText);
- end;
- procedure TMdListPasteAction.UpdateTarget(Target: TObject);
- begin
- Enabled := Clipboard.HasFormat (CF_TEXT);
- end;
- procedure Register;
- begin
- RegisterActions ('List',
- [TMdListCutAction, TMdListCopyAction, TMdListPasteAction],
- nil);
- end;
- end.