zoukankan      html  css  js  c++  java
  • TStringGrid多选的复制与拷贝

    uses Clipbrd;
    function StringGridSelectText(mStringGrid: TStringGrid): string; var   I, J: Integer;   S: string; begin   Result := '';   if not Assigned(mStringGrid) then Exit;   for J := mStringGrid.Selection.Top to mStringGrid.Selection.Bottom do   begin     S := '';     for I := mStringGrid.Selection.Left to mStringGrid.Selection.Right do       S := S + #9 + mStringGrid.Cells[I, J];     Delete(S, 1, 1);     Result := Result + S + #13#10;   end; end; { StringGridSelectText }
    procedure StringGridPasteFromClipboard(mStringGrid: TStringGrid); var   vTextList: TStringList;   vLineList: TStringList;   I, J: Integer; begin   vTextList := TStringList.Create;   vLineList := TStringList.Create;   vLineList.Delimiter := #9;   try     vTextList.Text := Clipboard.AsText;     for J := 0 to vTextList.Count - 1 do     begin       if J + mStringGrid.Row >= mStringGrid.RowCount then Break;       vLineList.DelimitedText := vTextList[J];       for I := 0 to vLineList.Count - 1 do       begin         if I + mStringGrid.Col >= mStringGrid.ColCount then Break;         mStringGrid.Cells[I + mStringGrid.Col, J + mStringGrid.Row] := vLineList[I];       end;     end;   finally     vTextList.Free;     vLineList.Free;   end; end; { StringGridPasteFromClipboard }
    procedure StringGridCopyToClipboard(mStringGrid: TStringGrid); begin   Clipboard.AsText := StringGridSelectText(mStringGrid); end; { StringGridCopyToClipboard }
    procedure TForm1.MenuItemCopyClick(Sender: TObject); begin   StringGridCopyToClipboard(StringGrid1); end;
    procedure TForm1.MenuItemPasteClick(Sender: TObject); begin   StringGridPasteFromClipboard(StringGrid1); end;
    procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;   Shift: TShiftState); begin   if ssCtrl in Shift then     case Key of       Ord('C'): StringGridCopyToClipboard(TStringGrid(Sender));       Ord('V'): StringGridPasteFromClipboard(TStringGrid(Sender));     end; end;

    http://blog.csdn.net/zswang/article/details/111607

  • 相关阅读:
    数据仓库
    HiveSQL 数据定义语言(DDL)
    HiveSQL 数据操控、查询语言(DML、DQL)
    【ASP.NET Core】Blazor+MiniAPI完成文件下载
    MySQL的WAL(WriteAhead Logging)机制
    MySQL系列 | 索引数据结构大全
    眼见为实,看看MySQL中的隐藏列
    mysql的默认隔离级别:可重复读(Repeatable Read)
    缓存淘汰算法LRU算法
    Android设计模式系列(12)SDK源码之生成器模式(建造者模式)
  • 原文地址:https://www.cnblogs.com/findumars/p/6348015.html
Copyright © 2011-2022 走看看