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

📄 unit1.pas

📁 BarMenus230.zip
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{ Unit: Unit1
  ===========================================================================

  The contents of this file are subject to the Bluecave Public License V 1.1
  (the "License"). You may not copy or use this file, in either source code
  or executable form, except in compliance with the License. You may obtain
  a copy of the License at http://www.bluecave.net/licenses/.

  Software distributed under the License is distributed on an "AS IS" basis,
  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  for the specific language governing rights and limitations under the
  License.

  Copyright (C) 2001 Bluecave Software. All Rights Reserved.
  http://www.bluecave.net/

  Copyright (C) 2001 Jouni Airaksinen. All Rights Reserved.
  http://Mintus.Codefield.com/ -- Mintus@Codefield.com

  ===========================================================================

  Unit description:

    BarMenus Demo Copyright (C) 2001 Bluecave Software.

  =========================================================================== }

{.$I DFS.inc}
{.$I BcDirectives.inc}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, BarMenus, ImgList, ExtCtrls, ComCtrls, StdCtrls, BcDrawModule,
  BcCustomDrawModule;

type
  TForm1 = class(TForm)
    BcBarPopupMenu1: TBcBarPopupMenu;
    mnuCopy: TMenuItem;
    mnuCut: TMenuItem;
    mnuPaste: TMenuItem;
    mnuEnabled: TMenuItem;
    mnuSearch: TMenuItem;
    mnuReplace: TMenuItem;
    mnuSelectAll: TMenuItem;
    mnuSelectionLine: TMenuItem;
    mnuConfigurationLine: TMenuItem;
    mnuProperties: TMenuItem;
    mnuEnabledLine: TMenuItem;
    mnuSearchLine: TMenuItem;
    PopupMenuImages: TImageList;
    mnuEditingLine: TMenuItem;
    BcBarPopupMenu2: TBcBarPopupMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem12: TMenuItem;
    Item11: TMenuItem;
    Item21: TMenuItem;
    N1: TMenuItem;
    Item22: TMenuItem;
    SomemoreitemsItem21: TMenuItem;
    SomemoreitemsItem31: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    PlahplahplahAgainitem1: TMenuItem;
    ThisisdemoapplicationfortheBarMenus1: TMenuItem;
    N5: TMenuItem;
    Exit1: TMenuItem;
    Panel1: TPanel;
    Panel2: TPanel;
    Copyright2001BluecaveSoftware1: TMenuItem;
    httpwwwbluecavenet1: TMenuItem;
    BcBarMainMenu1: TBcBarMainMenu;
    MnuFile: TMenuItem;
    Testing2: TMenuItem;
    Search1: TMenuItem;
    View1: TMenuItem;
    Help1: TMenuItem;
    MnuNew: TMenuItem;
    Save1: TMenuItem;
    Open1: TMenuItem;
    N4: TMenuItem;
    SaveAs1: TMenuItem;
    SaveCopyAs1: TMenuItem;
    N6: TMenuItem;
    Close1: TMenuItem;
    CloseAll1: TMenuItem;
    N7: TMenuItem;
    Exit2: TMenuItem;
    Copy1: TMenuItem;
    Cut1: TMenuItem;
    Paste1: TMenuItem;
    Delete1: TMenuItem;
    SelectAll1: TMenuItem;
    N8: TMenuItem;
    Find1: TMenuItem;
    Replace1: TMenuItem;
    N9: TMenuItem;
    FindInFiles1: TMenuItem;
    Searchagain1: TMenuItem;
    Arrange1: TMenuItem;
    Minimizeall1: TMenuItem;
    FAQ1: TMenuItem;
    Web1: TMenuItem;
    FAQ2: TMenuItem;
    Homepage1: TMenuItem;
    N10: TMenuItem;
    Downloadlatestversion1: TMenuItem;
    About1: TMenuItem;
    N11: TMenuItem;
    Content1: TMenuItem;
    Topic1: TMenuItem;
    Find2: TMenuItem;
    N12: TMenuItem;
    Editor11: TMenuItem;
    N2Images1: TMenuItem;
    N3Musicplayer1: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    mnuCustom1: TMenuItem;
    mnuCustom2: TMenuItem;
    mnuCustom3: TMenuItem;
    mnuCustom4: TMenuItem;
    SampleCustomdrawnitems1: TMenuItem;
    N19: TMenuItem;
    mnuCustom5: TMenuItem;
    mnuCustom6: TMenuItem;
    mnuCustom7: TMenuItem;
    Panel3: TPanel;
    BcBarPopupMenu3: TBcBarPopupMenu;
    Inthismenu1: TMenuItem;
    through1: TMenuItem;
    N20: TMenuItem;
    Asyoucansee1: TMenuItem;
    formelyknownasBarPopupMenu1: TMenuItem;
    youcandoalmostanythingyouwant1: TMenuItem;
    iftheDefaultDrawdoesnt1: TMenuItem;
    N21: TMenuItem;
    Virtuallyanythingispossible1: TMenuItem;
    Eventhoughthisexampleispretty1: TMenuItem;
    simpleitdemonstratesthepower1: TMenuItem;
    Label1: TLabel;
    Image1: TImage;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    FontDialog1: TFontDialog;
    CheckBox4: TCheckBox;
    BcCustomDrawModule1: TBcCustomDrawModule;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    Panel4: TPanel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox8: TCheckBox;
    procedure mnuEnabledClick(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure About1Click(Sender: TObject);
    procedure MnuNewClick(Sender: TObject);
    procedure Downloadlatestversion1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BcBarPopupMenu3BeforeDrawBar(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect; var DefaultDraw: Boolean);
    procedure BcBarPopupMenu1AfterDrawBar(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure Inthismenu1MeasureItem(Sender: TObject; ACanvas: TCanvas;
      var Width, Height: Integer);
    procedure BcBarPopupMenu2MeasureMenuItem(Sender: TObject;
      AMenuItem: TMenuItem; ACanvas: TCanvas; var Width, Height: Integer;
      ABarVisible: Boolean; var DefaultMeasure: Boolean);
    procedure BcCustomDrawModule1DrawMenuItem(Sender: TObject;
      AMenuItem: TMenuItem; ACanvas: TCanvas; ARect: TRect;
      State: TOwnerDrawState; ABarVisible: Boolean; var DefaultDraw: Boolean);
    procedure FormDestroy(Sender: TObject);
    procedure CheckBox8Click(Sender: TObject);
    procedure CheckBox7Click(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
  private
    { Private declarations }
    FDrawBuffer: TBitmap;
    function GetDrawBuffer: TBitmap;
  public
    { Public declarations }
    procedure DrawGradient(Canvas: TCanvas; ARect: TRect; StartingColor,
      EndingColor: TColor; Style: TGradientStyle);
      
    property DrawBuffer: TBitmap read GetDrawBuffer;
  end;


var
  Form1: TForm1;

implementation

uses ShellAPI, BcRectUtilities;

{$R *.DFM}

{ Gradient drawing uses DrawBuffer to buffer the drawing to memory and then
  copying drawn part to visible screen (makes things faster but uses a bit
  more memory and resources). Recommended way if using gsDiagonal* gradient
  styles. BarMenus.DrawGradient does not use buffer as it is low level procedure. }
procedure TForm1.DrawGradient(Canvas: TCanvas; ARect: TRect; StartingColor,
  EndingColor: TColor; Style: TGradientStyle);
begin
  DrawBuffer.Height := RectHeight(ARect);
  DrawBuffer.Width := RectWidth(ARect);
  BarMenus.DrawGradient(DrawBuffer, nil, BitmapRect(DrawBuffer), startingColor, EndingColor, Style);
  Canvas.Draw(ARect.Left, ARect.Top, DrawBuffer); // copy the buffer
  DrawBuffer.Height := 0;
  DrawBuffer.Width := 0;
end;

procedure TForm1.mnuEnabledClick(Sender: TObject);
var
  bEnabled: Boolean;
begin
  bEnabled := not TMenuItem(Sender).Checked;
  TMenuItem(Sender).Checked := bEnabled;

  BcBarPopupMenu1.Bar.Visible := bEnabled;
  mnuEditingLine.Enabled := bEnabled;
  mnuEditingLine.Visible := bEnabled;
  mnuSelectionLine.Enabled := bEnabled;
  mnuSearchLine.Enabled := bEnabled;
  mnuConfigurationLine.Enabled := bEnabled;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.About1Click(Sender: TObject);
begin
  ShowMessage(PChar('BarMenus Demo Copyright (C) Bluecave Software. All Rights Reserved.' + #13 +
    'BarMenu Components Copyright (C) Bluecave Software. All Rights Reserved.'));
end;

⌨️ 快捷键说明

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