u00103.pas

来自「Delphi编程五大妙招源程序」· PAS 代码 · 共 87 行

PAS
87
字号
unit U00103;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Jpeg, ImgList, Menus;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    N011: TMenuItem;
    N021: TMenuItem;
    N031: TMenuItem;
    N041: TMenuItem;
    Button2: TButton;
    ImageList1: TImageList;
    N022: TMenuItem;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N021DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  AppPath : String ;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Picture.LoadFromFile(AppPath+'Img\Beautiful.jpg') ;
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
  TheBitmap : TBitmap ;
begin
  TheBitmap := TBitmap.Create ;
  TheBitmap.LoadFromFile(AppPath + 'Img\1.bmp') ;
  ImageList1.Add(TheBitmap, nil) ;

  TheBitmap.LoadFromFile(AppPath + 'Img\2.bmp') ;
  ImageList1.Add(TheBitmap, nil) ;

  TheBitmap.LoadFromFile(AppPath + 'Img\3.bmp') ;
  ImageList1.Add(TheBitmap, nil) ;

  TheBitmap.LoadFromFile(AppPath + 'Img\4.bmp') ;
  ImageList1.Add(TheBitmap, nil) ;

  TheBitmap.Free ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  AppPath := ExtractFilePath(Application.Exename);
end;

procedure TForm1.N021DrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: Boolean);
var
  TheBitmap : TBitmap;
begin

  TheBitmap := TBitmap.Create;
  ACanvas.TextOut(ARect.Left + 1, ARect.Top,(Sender as TMenuItem).Caption); //输出Caption
  ImageList1.GetBitmap((Sender as TMenuItem).ImageIndex,TheBitmap); //从ImageList1中获得这个MenuItem的Bitmap
   ACanvas.Draw(ARect.Left + ACanvas.TextWidth((Sender as TMenuItem).Caption) + 5,
                ARect.Top,
                TheBitmap); //Draw it
  TheBitmap.Free;
  
end;

end.

⌨️ 快捷键说明

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