uplugin.pas

来自「软件设计框架范例」· PAS 代码 · 共 61 行

PAS
61
字号
unit uPlugIn; 

interface

uses Graphics,extdlgs,Windows;

function loadpicture:Boolean;
procedure drawpicture(DC:HDC;Rect:TRect);export; stdcall;

Var Picture:TPicture;

implementation

procedure drawpicture(DC:HDC;Rect:TRect);
Var cCanvas:TCanvas;
  i,j:Integer;
begin
  if (Picture<>nil) and not Picture.Graphic.Empty then
  begin
    cCanvas:=TCanvas.Create;
    try
      cCanvas.Handle:=DC;
      cCanvas.FillRect(Rect);
      i:=0;
      While i<(Rect.Right-Rect.Left)+Picture.Width do
      begin
        j:=0;
        While j<(Rect.Bottom-Rect.Top)+Picture.Height do
        begin
          cCanvas.Draw(i,j,Picture.Graphic);
          Inc(j,Picture.Height);
        end;
        Inc(i,Picture.Width);
      end;
    finally
      cCanvas.Free;
    end;
  end;
end;

Function loadpicture:Boolean;
begin
  Result:=False;
  Picture:=TPicture.Create;
  with TopenpictureDialog.Create(nil) do
  begin
    try
      if Execute then
      begin
        Picture.LoadFromFile(FileName);
        Result:=True;
      end;
    finally
      Free;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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