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

📄 mainfrm.pas

📁 East make Tray Icon in delphi
💻 PAS
字号:
{******************************************************************************}
{* WARNING:  JEDI VCL To CLX Converter generated unit.                        *}
{*           Manual modifications will be lost on next release.               *}
{******************************************************************************}

// $Id: MainFrm.pas,v 1.2 2004/06/24 19:43:33 asnepvangers Exp $
unit MainFrm;

interface

uses
  QWindows, QMessages, SysUtils, Classes, Types, QGraphics, QControls, QForms,
  QDialogs, QStdCtrls, JvQOutlookBar, QComCtrls, QCheckLst, JvQComponent,
  JvQNavigationPane, QImgList, QMenus, JvQPageList, {JclWin32,} JvQExControls, QExtCtrls,
  JvQExExtCtrls, QExtDlgs, QTypes, QMonthCalendar;

type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    LargeImages: TImageList;
    HideAll1: TMenuItem;
    ShowAll1: TMenuItem;
    N1: TMenuItem;
    Dontallowresize1: TMenuItem;
    ChangeFont1: TMenuItem;
    SmallImages: TImageList;
    Colors1: TMenuItem;
    Standard1: TMenuItem;
    Blue1: TMenuItem;
    Silver1: TMenuItem;
    Olive1: TMenuItem;
    JvNavPaneStyleManager1: TJvNavPaneStyleManager;
    JvOutlookSplitter1: TJvOutlookSplitter;
    N2: TMenuItem;
    ShowToolPanel1: TMenuItem;
    ToolImages: TImageList;
    ShowCloseButton1: TMenuItem;
    N3: TMenuItem;
    BackgroundImage1: TMenuItem;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure FormCreate(Sender: TObject);
    procedure Dontallowresize1Click(Sender: TObject);
    procedure HideAll1Click(Sender: TObject);
    procedure ShowAll1Click(Sender: TObject);
    procedure ChangeFont1Click(Sender: TObject);
    procedure SchemaClick(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure ShowToolPanel1Click(Sender: TObject);
    procedure ShowCloseButton1Click(Sender: TObject);
    procedure BackgroundImage1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FFree: boolean;
    procedure DoToolMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);
    procedure DoToolMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
    procedure DoToolPanelClose(Sender: TObject);
    procedure DoToolButtonClick(Sender: TObject; Index: integer);
    procedure DoToolEndDock(Sender, Target: TObject; X, Y: Integer);
  public
    { Public declarations }
    NP: TJvNavigationPane;
    NT: TJvNavPaneToolPanel;
  end;

var
  Form1: TForm1;

implementation
{$IFDEF VCL}
uses
  CommCtrl;
{$ENDIF VCL}

{$R *.xfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  Page: TJvNavPanelPage;
  N: TTreeNode;
  R: TRect;
  i: integer;
begin

  JvNavPaneStyleManager1.Theme := nptCustom;
  // this is how to create a NavPane at run-time
  // also shows how to create and insert pages as well as controls on pages
  NP := TJvNavigationPane.Create(Self);

  NP.Parent := Self;
  NP.Cursor := crHandPoint;
  NP.Width := 220;
  //  NP.BorderWidth := 2;
  NP.Align := alLeft;
  JvOutlookSplitter1.Left := 225;
  JvOutlookSplitter1.MinSize := 220;
  NP.DropDownMenu := PopupMenu1;
  NP.SmallImages := SmallImages;
  NP.LargeImages := LargeImages;
  NP.AutoHeaders := True;
  NP.StyleManager := JvNavPaneStyleManager1;

  Page := TJvNavPanelPage.Create(Self);
  Page.Caption := '&Mail';
  Page.ImageIndex := 0;
  Page.PageList := NP;

  with TJvNavPanelDivider.Create(Self) do
  begin
    Caption := 'Favorite Folders';
    Parent := Page;
    Top := 100;
    Align := alTop;
    Enabled := false;
    Cursor := crDefault;
    StyleManager := JvNavPaneStyleManager1;
  end;

  with TTreeView.Create(Self) do
  begin
    Parent := Page;
    Top := 200;
    Align := alTop;
    Font.Style := [];
    BorderStyle := bsNone;
    Items.Add(nil, 'Inbox');
    Items.Add(nil, 'Unread Mail');
    Items.Add(nil, 'For Follow Up [4]');
    Items.Add(nil, 'Sent Items');
    Height := 100;
  end;

  with TJvNavPanelDivider.Create(Self) do
  begin
    Caption := 'All Mail Folders';
    Parent := Page;
    Top := 100;
    Align := alTop;
    Cursor := crSizeNS;
    StyleManager := JvNavPaneStyleManager1;
  end;

  with TTreeView.Create(Self) do
  begin
    Parent := Page;
    Align := alClient;
    BorderStyle := bsNone;
    Font.Style := [];
    N := Items.Add(nil, 'Mailbox - Chris Gray');
    Items.AddChild(N, 'Deleted Items');
    Items.AddChild(N, 'Drafts');
    Items.AddChild(N, 'Inbox');
    Items.AddChild(N, 'Junk E-mail');
    Items.AddChild(N, 'Outbox');
    Items.AddChild(N, 'Sent Items');
    N := Items.AddChild(N, 'Search Folders');
    Items.AddChild(N, 'For Follow Up [4]');
    Items.AddChild(N, 'Large Mail');
    Items.AddChild(N, 'Unread Mail');
    FullExpand;
  end;

  Page := TJvNavPanelPage.Create(Self);
  Page.Caption := '&Calendar';
  Page.ImageIndex := 1;
  Page.PageList := NP;
  // NB! TMonthCalendar messes up the form when you size the form smaller than one calendar width
  with TMonthCalendar.Create(Self) do
  begin
    Parent := Page;
    Align := alTop;
//    AutoSize := true;
//    AutoSize := false;
//    Date := SysUtils.Date;
//    MonthCal_GetMinReqRect(Handle, R);
    R := ClientRect;
  end;
  Constraints.MinHeight := R.Bottom - R.Top + 12;
  Constraints.MinWidth := R.Right - R.Left + 12;

  with TJvNavPanelDivider.Create(Self) do
  begin
    Caption := 'My Calendars';
    Parent := Page;
    Top := 1500;
    Align := alTop;
    Cursor := crDefault;
    Enabled := false;
    StyleManager := JvNavPaneStyleManager1;
  end;
  with TCheckListBox.Create(Self) do
  begin
    Parent := Page;
    Checked[Items.Add('Calendar')] := true;
    Items.Add('Project Schedule');
    Top := 1500;
    Height := 32;
    Align := alTop;
  end;
  with TJvNavPanelDivider.Create(Self) do
  begin
    Caption := 'Other Calendars';
    Parent := Page;
    Top := 1500;
    Align := alTop;
    Cursor := crSizeNS;
    StyleManager := JvNavPaneStyleManager1;
  end;
  with TCheckListBox.Create(Self) do
  begin
    Parent := Page;
    Checked[Items.Add('Alan Chong')] := Random(4) = 1;
    Checked[Items.Add('Andreas Hausladen')] := Random(4) = 1;
    Checked[Items.Add('Andr

⌨️ 快捷键说明

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