Forráskód Böngészése

checking clipboard for shapes

Unknown 6 éve
szülő
commit
fd03ce2580
3 módosított fájl, 14 hozzáadás és 1 törlés
  1. 1 0
      vectoredit/umain.lfm
  2. 6 0
      vectoredit/umain.pas
  3. 7 1
      vectoredit/uvectorclipboard.pas

+ 1 - 0
vectoredit/umain.lfm

@@ -39979,6 +39979,7 @@ object Form1: TForm1
       Caption = 'Paste'
       ImageIndex = 9
       OnExecute = EditPasteExecute
+      OnUpdate = EditPasteUpdate
     end
     object EditCut: TAction
       Category = 'Edit'

+ 6 - 0
vectoredit/umain.pas

@@ -144,6 +144,7 @@ type
     procedure EditCutExecute(Sender: TObject);
     procedure EditDeleteExecute(Sender: TObject);
     procedure EditPasteExecute(Sender: TObject);
+    procedure EditPasteUpdate(Sender: TObject);
     procedure FileNewExecute(Sender: TObject);
     procedure FileOpenExecute(Sender: TObject);
     procedure FileSaveAsExecute(Sender: TObject);
@@ -736,6 +737,11 @@ begin
   DoPaste;
 end;
 
+procedure TForm1.EditPasteUpdate(Sender: TObject);
+begin
+  EditPaste.Enabled := ClipboardHasShapes;
+end;
+
 procedure TForm1.FileNewExecute(Sender: TObject);
 begin
   if Assigned(vectorOriginal) then

+ 7 - 1
vectoredit/uvectorclipboard.pas

@@ -5,10 +5,11 @@ unit uvectorclipboard;
 interface
 
 uses
-  Classes, SysUtils, Clipbrd, LCLType, uvectororiginal;
+  Classes, SysUtils, Clipbrd, LCLType, lcvectororiginal;
 
 function CopyShapesToClipboard(AShapes: array of TVectorShape): boolean;
 procedure PasteShapesFromClipboard(ATargetContainer: TVectorOriginal);
+function ClipboardHasShapes: boolean;
 
 implementation
 
@@ -68,6 +69,11 @@ begin
   end;
 end;
 
+function ClipboardHasShapes: boolean;
+begin
+ result := Clipboard.HasFormat(vectorClipboardFormat);
+end;
+
 initialization
 
   vectorClipboardFormat := RegisterClipboardFormat('TVectorOriginal');