📄 clipunit.pas
字号:
//---------------------------------------------------------------------------
//(R)CopyRight KivenSoft International ,inc 1999
//单元名称:剪贴单元
//程序名称:电子书库
//作 者:李会文
//开始时间:1999.07.07
//最后修改:1999.07.07
//备注:此单元定义了树形视图中进行剪贴的方式
//---------------------------------------------------------------------------
unit ClipUnit;
interface
uses
Windows,CommCtrl, Classes, ComCtrls;
type
TSrmClip=class
private
FNode:TTreeNode;
FMode:integer;
public
constructor Create;
procedure Cut(ANode:TTreeNode); //剪切该标题
procedure Copy(ANode:TTreeNode); //拷贝该标题
procedure Paste(ANode:TTreeNode); //粘贴该标题
property Node:TTreeNode read FNode;
property Mode:integer read FMode;
end;
var
SrmClip:TSrmClip;
implementation
uses
MainUnit;
constructor TSrmClip.Create;
begin
FNode:=nil;
FMode:=-1;
end;
procedure TSrmClip.Cut(ANode:TTreeNode); //剪切该标题
begin
FNode:=ANode;
FMode:=0;
end;
procedure TSrmClip.Copy(ANode:TTreeNode); //拷贝该标题
begin
FNode:=ANode;
FMode:=1;
end;
procedure TSrmClip.Paste(ANode:TTreeNode); //粘贴该标题
var
tmpNode:TTreeNode;
Ms:TMemoryStream;
Id:integer;
begin
if (FMode=-1) or (FNode=nil) then exit; //无剪切或拷贝时退出
if FMode=0 then //剪切时
begin
FNode.MoveTo(ANode,naAddChildFirst);
SrmForm.TreeView.Selected:=FNode;
end
else if FMode=1 then
begin
tmpNode:=SrmForm.TreeView.Items.AddChildObjectFirst
(ANode,FNode.Text,pointer(-1));
tmpNode.ImageIndex:=FNode.ImageIndex;
SrmForm.TreeView.Selected:=tmpNode;
Srm.ReadItemHead(integer(FNode.Data));
Ms:=TMemoryStream.Create;
Srm.ReadItemData(Ms);
SrmForm.RichEdit.Lines.LoadFromStream(Ms);
Ms.Free;
end;
if SrmForm.TreeView.Selected.Parent=nil then Id:=0
else Id:=integer(SrmForm.TreeView.Selected.Parent.ItemId);
SendMessage(SrmForm.TreeView.Handle,TVM_SORTCHILDREN,0,Id);
FMode:=-1;
FNode:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -