⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 propeditorsreg2.pas

📁 一个经典的读写Excel的控件
💻 PAS
字号:
unit PropEditorsReg2;

{
********************************************************************************
******* XLSReadWriteII V2.00                                             *******
*******                                                                  *******
******* Copyright(C) 1999,2002 Lars Arvidsson, Axolot Data               *******
*******                                                                  *******
******* email: components@axolot.com                                     *******
******* URL:   http://www.axolot.com                                     *******
********************************************************************************
** Users of the XLSReadWriteII component must accept the following            **
** disclaimer of warranty:                                                    **
**                                                                            **
** XLSReadWriteII is supplied as is. The author disclaims all warranties,     **
** expressedor implied, including, without limitation, the warranties of      **
** merchantability and of fitness for any purpose. The author assumes no      **
** liability for damages, direct or consequential, which may result from the  **
** use of XLSReadWriteII.                                                     **
********************************************************************************
}

{$B-}

{$I XLSRWII2.inc}

interface

uses SysUtils, Classes, Dialogs, CellFormats2, XLSFonts2, Graphics,
{$ifdef OLD_COMPILER}
 DsgnIntf;
{$else}
 DesignEditors,
 DesignIntf;
{$endif}

type TPictureNameProperty = class(TStringProperty)
private
protected
    procedure GetValueList(List: TStrings);
public
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
    end;

type TFilenameProperty = class(TStringProperty)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;

implementation

{ TPictureNameProperty }

function TPictureNameProperty.GetAttributes: TPropertyAttributes;
begin
  Result := [paValueList, paSortList];
end;

procedure TPictureNameProperty.GetValueList(List: TStrings);
// var
//  i: integer;
//  XLSPictures: TXLSPictures;
begin
{
  XLSPictures := TSheetPictures(TSheetPicture(GetComponent(0)).Collection).XLSPictures;
  for i := 0 to XLSPictures.Count - 1 do
    List.Add(XLSPictures[i].Filename);
}    
end;

procedure TPictureNameProperty.GetValues(Proc: TGetStrProc);
var
  I: Integer;
  Values: TStringList;
begin
  Values := TStringList.Create;
  try
    GetValueList(Values);
    for I := 0 to Values.Count - 1 do Proc(Values[I]);
  finally
    Values.Free;
  end;
end;

{ TFilenameProperty }

procedure TFilenameProperty.Edit;
var
  S: string;
  Dlg: TOpenDialog;
begin
  S := GetStrValue;
  Dlg := TOpenDialog.Create(Nil);
  try
    Dlg.Filter := 'All (*.jpg, *.jpeg, *.png, *.bmp)|*.jpg; *.jpeg; *.png; *.bmp|JPEG Images (*.jpeg)|*.jpeg|JPG Images (*.jpg)|*.jpg|PNG Images (*.png)|*.png|Bitmap images (*.bmp)|*.bmp|All files (*.*)|*.*';
    Dlg.Filename := S;
    if Dlg.Execute then
      S := Dlg.Filename;
  finally
    SetStrValue(S);
    Dlg.Free;
  end;
end;

function TFilenameProperty.GetAttributes: TPropertyAttributes;
begin
  Result := [paDialog];
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -