zoukankan      html  css  js  c++  java
  • 五彩菜单

    unit Unit4;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus;

    type
      TForm4 = class(TForm)
        MainMenu1: TMainMenu;
        qwn: TMenuItem;
        S1: TMenuItem;
        A1: TMenuItem;
        N1: TMenuItem;
        E1: TMenuItem;
        E2: TMenuItem;
        H1: TMenuItem;
        O1: TMenuItem;
        C1: TMenuItem;
        T1: TMenuItem;
        P1: TMenuItem;
        procedure P1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure T1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure C1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure E1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure A1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure S1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
        procedure O1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
          Selected: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form4: TForm4;

    implementation

    {$R *.dfm}

    procedure TForm4.O1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
      ACanvas.Brush.Color:=clRed;
      ACanvas.TextFlags:=ETO_OPAQUE;

      ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('打开(O)  Ctrl+O').cx,
        ARect.Top+ACanvas.TextExtent('打开(O)  Ctrl+O').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'打开(O)  Ctrl+O');
    end;

    procedure TForm4.S1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
    //********
        ACanvas.Brush.Color:=clAqua;
      ACanvas.TextFlags:=ETO_OPAQUE;

      ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('保存(S)  Ctrl+S').cx,
        ARect.Top+ACanvas.TextExtent('保存(S)  Ctrl+S').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'保存(S)  Ctrl+S');
    end;

    procedure TForm4.A1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
    //*************
        ACanvas.Brush.Color:=clBlue;
       ACanvas.TextFlags:=ETO_OPAQUE;

      ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('另存为(A)....').cx,
        ARect.Top+ACanvas.TextExtent('另存为(A)....').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'另存为(A)....');

    end;

    procedure TForm4.E1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
    //***********
            ACanvas.Brush.Color:=clFuchsia;
       ACanvas.TextFlags:=ETO_OPAQUE;

        ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('退出(E)....').cx,
        ARect.Top+ACanvas.TextExtent('退出(E)....').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'退出(E)....');
    end;

    procedure TForm4.C1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
    //*******copy
             ACanvas.Brush.Color:=clGreen;
       ACanvas.TextFlags:=ETO_OPAQUE;

        ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('复制(C) Ctrl+C').cx,
        ARect.Top+ACanvas.TextExtent('复制(C) Ctrl+C').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'复制(C) Ctrl+C');
    end;

    procedure TForm4.T1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
      //*****cut
                ACanvas.Brush.Color:=clGray;
       ACanvas.TextFlags:=ETO_OPAQUE;

        ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('剪切(T) Ctrl+X').cx,
        ARect.Top+ACanvas.TextExtent('剪切(T) Ctrl+X').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'剪切(T) Ctrl+X');
    end;

    procedure TForm4.P1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
      Selected: Boolean);
    begin
    //** paste...
                   ACanvas.Brush.Color:=clRed;
       ACanvas.TextFlags:=ETO_OPAQUE;

        ACanvas.Rectangle(ARect.Left,ARect.Top,ARect.Left+ACanvas.TextExtent('粘贴(P) Ctrl+P').cx,
        ARect.Top+ACanvas.TextExtent('粘贴(P) Ctrl+P').cy);

        ACanvas.TextOut(ARect.Left+1,ARect.Top+1,'粘贴(P) Ctrl+P');
    end;

    end.

  • 相关阅读:
    代码审计变成CTF
    updatexml()报错注入
    一道综合渗透题引发的updatexml()注入思考
    Visual Studio 调试技巧---指针,元素个数
    在Visual Studio中调试时,如何检查有关进程令牌的详细信息?
    在调试时,有什么更好的方法可以监视最后一个win32错误?
    从WinDbg中的转储查看操作系统版本和SP详细信息
    可以使用WinDbg将PE映像作为转储文件打开
    常见WinDbg问题及解决方案
    在崩溃转储中查找所有可能的上下文记录
  • 原文地址:https://www.cnblogs.com/huking/p/1693325.html
Copyright © 2011-2022 走看看