Marco's Web Center

Menu for Development

Site Menu
Object Pascal Handbook
Delphi Handbooks Collection
Mastering Borland Delphi 2005
(Old) White Papers
(Old)Tools
(Old) Conferences

My Other Sites
Italian Site (www.marcocantu.it)
the delphi search

Spirit of delphi

Advertising
Home My Blog Books Object Pascal Marco

Home: Code Repository: Mastering Delphi 5

Project MDEDIT6

Project Structure


MDEDIT6.DPR

program MdEdit6;

uses
  Forms,
  RichForm in 'RichForm.pas' {FormRichNote};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TFormRichNote, FormRichNote);
  Application.Run;
end.

RICHFORM.PAS

unit RichForm;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, ExtCtrls, Menus, ActnList, ToolWin, ImgList, ClipBrd,
  RichEdit, AppEvnts;

type
  TFormRichNote = class(TForm)
    RichEdit: TRichEdit;
    FontDialog: TFontDialog;
    MainMenu: TMainMenu;
    File1: TMenuItem;
    Open1: TMenuItem;
    Saveas1: TMenuItem;
    Exit1: TMenuItem;
    Font1: TMenuItem;
    Bold1: TMenuItem;
    Italic1: TMenuItem;
    Paragraph1: TMenuItem;
    LeftAligned1: TMenuItem;
    Centered1: TMenuItem;
    RightAligned1: TMenuItem;
    Help1: TMenuItem;
    About1: TMenuItem;
    OpenDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    More1: TMenuItem;
    ColorDialog: TColorDialog;
    ActionList: TActionList;
    acCentered: TAction;
    acUndo: TAction;
    acCut: TAction;
    acPaste: TAction;
    acCopy: TAction;
    acBold: TAction;
    acItalic: TAction;
    acRightAligned: TAction;
    acLeftAligned: TAction;
    acSave: TAction;
    Undo1: TMenuItem;
    acFont: TAction;
    acCountChars: TAction;
    Images: TImageList;
    SizeMenu: TPopupMenu;
    Small1: TMenuItem;
    Medium1: TMenuItem;
    Large1: TMenuItem;
    acHintColor: TAction;
    HintColor1: TMenuItem;
    ControlBar: TControlBar;
    ToolBarFile: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton20: TToolButton;
    ToolButton4: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton12: TToolButton;
    ToolButton17: TToolButton;
    ToolBarEdit: TToolBar;
    ToolBarFont: TToolBar;
    ComboFont: TComboBox;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    BarMenu: TPopupMenu;
    ToolBarMenu: TToolBar;
    StatusBar: TStatusBar;
    Timer: TTimer;
    acExit: TAction;
    ControlBarLower: TControlBar;
    ApplicationEvents1: TApplicationEvents;
    procedure BoldExecute(Sender: TObject);
    procedure ItalicExecute(Sender: TObject);
    procedure ChangeAlignment(Sender: TObject);
    procedure AboutExecute(Sender: TObject);
    procedure ExitExecute(Sender: TObject);
    procedure OpenExecute(Sender: TObject);
    procedure SaveAsExecute(Sender: TObject);
    procedure BackColorExecute(Sender: TObject);
    procedure FontExecute(Sender: TObject);
    procedure CountCharsExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure NewExecute(Sender: TObject);
    procedure SaveExecute(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure PrintExecute(Sender: TObject);
    procedure acSaveUpdate(Sender: TObject);
    procedure acBoldUpdate(Sender: TObject);
    procedure acItalicUpdate(Sender: TObject);
    procedure RichEditChange(Sender: TObject);
    procedure acCountcharsUpdate(Sender: TObject);
    procedure acCutExecute(Sender: TObject);
    procedure acCutUpdate(Sender: TObject);
    procedure acCopyExecute(Sender: TObject);
    procedure acPasteExecute(Sender: TObject);
    procedure acPasteUpdate(Sender: TObject);
    procedure acUndoExecute(Sender: TObject);
    procedure acUndoUpdate(Sender: TObject);
    procedure ActionListUpdate(Action: TBasicAction; var Handled: Boolean);
    procedure ToolButton17Click(Sender: TObject);
    procedure SetFontSize(Sender: TObject);
    procedure ComboFontClick(Sender: TObject);
    procedure RichEditSelectionChange(Sender: TObject);
    procedure acHintColorExecute(Sender: TObject);
    procedure BarMenuPopup(Sender: TObject);
    procedure TimerTimer(Sender: TObject);
    procedure ControlBarLowerDockDrop(Sender: TObject; Source: TDragDockObject;
      X, Y: Integer);
    procedure ControlBarLowerUnDock(Sender: TObject; Client: TControl;
      NewTarget: TWinControl; var Allow: Boolean);
    procedure ControlBarLowerDockOver(Sender: TObject;
      Source: TDragDockObject; X, Y: Integer; State: TDragState;
      var Accept: Boolean);
    procedure ShowHint(Sender: TObject);
  private
    FileName: string;
    Modified: Boolean;
  public
    function SaveChanges: Boolean;
    function Save: Boolean;
    function SaveAs: Boolean;
    procedure BarMenuClick (Sender: TObject);
    procedure CheckCapslock;
  end;

var
  FormRichNote: TFormRichNote;

implementation

{$R *.DFM}

// status bar panels

const
  sbpMessage = 0;
  sbpCaps = 1;
  sbpPosition = 2;

/////////// Font operations

procedure TFormRichNote.BoldExecute(Sender: TObject);
begin
  with RichEdit.SelAttributes do
    if fsBold in Style then
      Style := Style - [fsBold]
    else
      Style := Style + [fsBold];
end;

procedure TFormRichNote.ItalicExecute(Sender: TObject);
begin
  with RichEdit.SelAttributes do
    if fsItalic in Style then
      Style := Style - [fsItalic]
    else
      Style := Style + [fsItalic];
end;

procedure TFormRichNote.FontExecute(Sender: TObject);
begin
  FontDialog.Font.Assign (RichEdit.SelAttributes);
  if FontDialog.Execute then
  begin
    RichEdit.SelAttributes.Assign (FontDialog.Font);
    RichEditSelectionChange (Self);
  end;
end;

// right + center + left actions
procedure TFormRichNote.ChangeAlignment(Sender: TObject);
begin
  // change paragraph alignment using the TAlignment
  // value saved in the tag of the action
  RichEdit.Paragraph.Alignment := TAlignment (
    (Sender as TAction).Tag);
end;

procedure TFormRichNote.AboutExecute(Sender: TObject);
begin
  MessageDlg ('RichNote Demo' + #13#13
  + 'written for the book "Mastering Delphi" by Marco Cantý',
    mtInformation, [mbOK], 0);
end;

/////////// File menu

procedure TFormRichNote.NewExecute(Sender: TObject);
begin
  if not Modified or SaveChanges then
  begin
    RichEdit.Text := '';
    Modified := False;
    FileName := '';
    Caption := 'RichNote - [Untitled]';
  end;
end;

procedure TFormRichNote.ExitExecute(Sender: TObject);
begin
  Close;
end;

procedure TFormRichNote.OpenExecute(Sender: TObject);
begin
  if not Modified or SaveChanges then
    if OpenDialog.Execute then
    begin
      Filename := OpenDialog.FileName;
      RichEdit.Lines.LoadFromFile (FileName);
      Modified := False;
      Caption := 'RichNote - ' + FileName;
      RichEdit.ReadOnly := ofReadOnly in
        OpenDialog.Options;
    end;
end;

// return False to skip current operation
function TFormRichNote.SaveChanges: Boolean;
begin
  case MessageDlg (
    'The document ' + filename + ' has changed.' +
    #13#13+'Do you want to save the changes?',
    mtConfirmation, mbYesNoCancel, 0) of
  idYes:
    // call Save and return its result
    Result := Save;
  idNo:
    // do not save and continue
    Result := True;
  else // idCancel:
    // do not save and abort operation
    Result := False;
  end;
end;

// return False means the SaveAs has been aborted
function TFormRichNote.Save: Boolean;
begin
  if Filename = '' then
    Result := SaveAs // ask for a file name
  else
  begin
    RichEdit.Lines.SaveToFile (FileName);
    Modified := False;
    Result := True;
  end;
end;

// return False if SaveAs dialog box is cancelled
function TFormRichNote.SaveAs: Boolean;
begin
  SaveDialog.FileName := Filename;
  if SaveDialog.Execute then
  begin
    Filename := SaveDialog.FileName;
    Save;
    Caption := Filename + ' - ' +
      Application.Title;
    Result := True;
  end
  else
    Result := False;
end;

procedure TFormRichNote.SaveExecute(Sender: TObject);
begin
  if Modified then
    Save;
end;

procedure TFormRichNote.SaveAsExecute(Sender: TObject);
begin
  SaveAs;
end;

procedure TFormRichNote.PrintExecute(Sender: TObject);
begin
  RichEdit.Print (FileName);
end;

procedure TFormRichNote.RichEditChange(Sender: TObject);
begin
  // enables save operations
  Modified := True;
end;

/////////// Options menu

procedure TFormRichNote.BackColorExecute(Sender: TObject);
begin
  ColorDialog.Color := RichEdit.Color;
  if ColorDialog.Execute then
    RichEdit.Color := ColorDialog.Color;
end;

procedure TFormRichNote.CountCharsExecute(Sender: TObject);
begin
  MessageDlg (Format (
    'The text has %d characters', [RichEdit.GetTextLen]),
    mtInformation, [mbOK], 0);
end;

/////////// Form events

procedure TFormRichNote.FormCreate(Sender: TObject);
var
  I, ToolSize: Integer;
  mItem: TMenuItem;
  tb: TToolButton;
begin
  FileName := '';
  Modified := False;
  Application.Title := Caption;

  ComboFont.Items := Screen.Fonts;
  ComboFont.ItemIndex := ComboFont.Items.IndexOf (
    RichEdit.Font.Name);

  {Hints are customized in this version, as we use both the short
  and the long portion of the Hint string property
  // move captions to hints, removing the &
  for I := 0 to ActionList.ActionCount - 1 do
    (ActionList.Actions[I] as TAction).Hint :=
      StripHotKey ((ActionList.Actions[I] as TAction).Caption);}

  // populate the control bar menu
  for I := 0 to ControlBar.ControlCount - 1 do
  begin
    mItem := TMenuItem.Create (Self);
    mItem.Caption := ControlBar.Controls [I].Name;
    mItem.Tag := Integer (ControlBar.Controls [I]);
    mItem.OnClick := BarMenuClick;
    BarMenu.Items.Add (mItem);
  end;

  // create the buttons of the menu toolbar
  ToolSize := 0;
  for I := MainMenu.Items.Count - 1 downto 0 do
  begin
    tb := TToolButton.Create (ToolBarMenu);
    tb.Parent := ToolBarMenu;
    tb.AutoSize := True;
    tb.Grouped := True;
    tb.Caption := MainMenu.Items[I].Caption;
    tb.MenuItem := MainMenu.Items[I];
    Inc (ToolSize, tb.Width);
  end;
  // size the menu toolbar
  ToolBarMenu.Width := ToolSize;
  // hide the standard menu, using the form's Menu property
  Menu := nil;
end;

procedure TFormRichNote.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  // short-circuit evaluation: if not modified
  // doesn't even try to save. Doesn't close if
  // save request is cancelled
  CanClose := not Modified or SaveChanges;
end;

// update events for actions

procedure TFormRichNote.acSaveUpdate(Sender: TObject);
begin
  acSave.Enabled := Modified;
end;

procedure TFormRichNote.acBoldUpdate(Sender: TObject);
begin
  acBold.Checked := fsBold in RichEdit.SelAttributes.Style;
end;

procedure TFormRichNote.acItalicUpdate(Sender: TObject);
begin
  acItalic.Checked := fsItalic in RichEdit.SelAttributes.Style;
end;

procedure TFormRichNote.acCountcharsUpdate(Sender: TObject);
begin
  acCountChars.Enabled := RichEdit.GetTextLen > 0;
end;

procedure TFormRichNote.acCutExecute(Sender: TObject);
begin
  RichEdit.CutToClipboard;
end;

procedure TFormRichNote.acCutUpdate(Sender: TObject);
begin
  acCut.Enabled := RichEdit.SelLength > 0;
  acCopy.Enabled := acCut.Enabled;
end;

procedure TFormRichNote.acCopyExecute(Sender: TObject);
begin
  RichEdit.CopyToClipboard;
end;

procedure TFormRichNote.acPasteExecute(Sender: TObject);
begin
  RichEdit.PasteFromClipboard;
end;

procedure TFormRichNote.acPasteUpdate(Sender: TObject);
begin
  acPaste.Enabled := SendMessage (
    RichEdit.Handle, em_CanPaste, 0, 0) <> 0;
end;

procedure TFormRichNote.acUndoExecute(Sender: TObject);
begin
  RichEdit.Undo;
end;

procedure TFormRichNote.acUndoUpdate(Sender: TObject);
begin
  acUndo.Enabled := RichEdit.CanUndo;
end;

procedure TFormRichNote.ActionListUpdate(Action: TBasicAction;
  var Handled: Boolean);
begin
  // check the proper paragraph alignment
  case RichEdit.Paragraph.Alignment of
    taLeftJustify: acLeftAligned.Checked := True;
    taRightJustify: acRightAligned.Checked := True;
    taCenter: acCentered.Checked := True;
  end;
  // checks the caps lock status
  CheckCapslock;
end;

procedure TFormRichNote.ToolButton17Click(Sender: TObject);
begin
  RichEdit.SelAttributes.Size :=
    RichEdit.SelAttributes.Size + 2;
end;

procedure TFormRichNote.SetFontSize(Sender: TObject);
begin
  RichEdit.SelAttributes.Size :=
    (Sender as TMenuItem).Tag;
end;

procedure TFormRichNote.ComboFontClick(Sender: TObject);
begin
  RichEdit.SelAttributes.Name :=
    ComboFont.Text;
end;

procedure TFormRichNote.RichEditSelectionChange(Sender: TObject);
begin
  // select the current font name in the font combo box
  ComboFont.ItemIndex :=
    ComboFont.Items.IndexOf (RichEdit.SelAttributes.Name);
  // update the position in the status bar
  StatusBar.Panels[sbpPosition].Text := Format ('%d/%d',
    [RichEdit.CaretPos.Y + 1, RichEdit.CaretPos.X + 1]);
end;

procedure TFormRichNote.acHintColorExecute(Sender: TObject);
begin
  ColorDialog.Color := Application.HintColor;
  if ColorDialog.Execute then
    Application.HintColor := ColorDialog.Color;
end;

procedure TFormRichNote.BarMenuClick(Sender: TObject);
var
  aCtrl: TControl;
begin
  aCtrl := TControl ((Sender as TComponent).Tag);
  aCtrl.Visible := not aCtrl.Visible;
end;

procedure TFormRichNote.BarMenuPopup(Sender: TObject);
var
  I: Integer;
begin
  // update the menu checkmarks
  for I := 0 to BarMenu.Items.Count - 1 do
    BarMenu.Items [I].Checked :=
      TControl (BarMenu.Items [I].Tag).Visible;
end;

procedure TFormRichNote.ShowHint(Sender: TObject);
begin
  // show hint in the status bar message panel
  StatusBar.Panels[sbpMessage].Text := Application.Hint;
end;

procedure TFormRichNote.CheckCapslock;
begin
  // show status in caps panel
  if Odd (GetKeyState (VK_CAPITAL)) then
    StatusBar.Panels[sbpCaps].Text := 'CAPS'
  else
    StatusBar.Panels[sbpCaps].Text := '';
end;

procedure TFormRichNote.TimerTimer(Sender: TObject);
begin
  CheckCapslock;
end;

procedure TFormRichNote.ControlBarLowerDockDrop(Sender: TObject;
  Source: TDragDockObject; X, Y: Integer);
begin
  ControlBarLower.BevelKind := bkTile;
end;

procedure TFormRichNote.ControlBarLowerUnDock(Sender: TObject;
  Client: TControl; NewTarget: TWinControl; var Allow: Boolean);
begin
  if ControlBarLower.DockClientCount = 1 then
    ControlBarLower.BevelKind := bkNone;
end;

procedure TFormRichNote.ControlBarLowerDockOver(Sender: TObject;
  Source: TDragDockObject; X, Y: Integer; State: TDragState;
  var Accept: Boolean);
begin
  Accept := Source.Control is TToolbar;
end;

end.

RICHFORM.DFM

object FormRichNote: TFormRichNote
  Left = 191
  Top = 106
  Width = 542
  Height = 354
  Caption = 'MdEdit6'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Menu = MainMenu
  OldCreateOrder = True
  OnCloseQuery = FormCloseQuery
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object RichEdit: TRichEdit
    Left = 0
    Top = 56
    Width = 534
    Height = 224
    Align = alClient
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clBlack
    Font.Height = -19
    Font.Name = 'Times New Roman'
    Font.Style = []
    HideScrollBars = False
    ParentFont = False
    ScrollBars = ssBoth
    TabOrder = 0
    OnChange = RichEditChange
    OnSelectionChange = RichEditSelectionChange
  end
  object ControlBar: TControlBar
    Left = 0
    Top = 0
    Width = 534
    Height = 56
    Align = alTop
    AutoSize = True
    ParentShowHint = False
    PopupMenu = BarMenu
    ShowHint = True
    TabOrder = 1
    object ToolBarFile: TToolBar
      Left = 50
      Top = 2
      Width = 100
      Height = 22
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 0
      object ToolButton1: TToolButton
        Left = 0
        Top = 0
        Action = acNew
      end
      object ToolButton2: TToolButton
        Left = 23
        Top = 0
        Action = acOpen
      end
      object ToolButton3: TToolButton
        Left = 46
        Top = 0
        Action = acSave
      end
      object ToolButton20: TToolButton
        Left = 69
        Top = 0
        Width = 8
        Caption = 'ToolButton20'
        ImageIndex = 16
        Style = tbsSeparator
      end
      object ToolButton4: TToolButton
        Left = 77
        Top = 0
        Action = acPrint
      end
    end
    object ToolBarEdit: TToolBar
      Left = 11
      Top = 28
      Width = 92
      Height = 22
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 1
      object ToolButton6: TToolButton
        Left = 0
        Top = 0
        Action = acCut
      end
      object ToolButton7: TToolButton
        Left = 23
        Top = 0
        Action = acCopy
      end
      object ToolButton8: TToolButton
        Left = 46
        Top = 0
        Action = acPaste
      end
      object ToolButton9: TToolButton
        Left = 69
        Top = 0
        Action = acUndo
      end
    end
    object ToolBarFont: TToolBar
      Left = 116
      Top = 28
      Width = 167
      Height = 22
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 2
      object ToolButton10: TToolButton
        Left = 0
        Top = 0
        Action = acBold
      end
      object ToolButton11: TToolButton
        Left = 23
        Top = 0
        Action = acItalic
      end
      object ToolButton13: TToolButton
        Left = 46
        Top = 0
        Width = 8
        Caption = 'ToolButton13'
        ImageIndex = 11
        Style = tbsSeparator
      end
      object ToolButton14: TToolButton
        Left = 54
        Top = 0
        Action = acLeftAligned
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton15: TToolButton
        Left = 77
        Top = 0
        Action = acCentered
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton16: TToolButton
        Left = 100
        Top = 0
        Action = acRightAligned
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton12: TToolButton
        Left = 123
        Top = 0
        Width = 8
        Caption = 'ToolButton12'
        ImageIndex = 13
        Style = tbsSeparator
      end
      object ToolButton17: TToolButton
        Left = 131
        Top = 0
        Hint = 'Font Size|Change the size of the font'
        Caption = 'Font Size'
        DropdownMenu = SizeMenu
        ImageIndex = 13
        Style = tbsDropDown
        OnClick = ToolButton17Click
      end
    end
    object ComboFont: TComboBox
      Left = 296
      Top = 28
      Width = 124
      Height = 22
      Hint = 'Font Family|Choose the type of font'
      Style = csDropDownList
      DragKind = dkDock
      DragMode = dmAutomatic
      Font.Charset = ANSI_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Arial'
      Font.Style = []
      ItemHeight = 14
      ParentFont = False
      Sorted = True
      TabOrder = 3
      OnClick = ComboFontClick
    end
    object ToolBarMenu: TToolBar
      Left = 11
      Top = 2
      Width = 24
      Height = 22
      AutoSize = True
      EdgeBorders = [ebBottom]
      EdgeInner = esLowered
      EdgeOuter = esNone
      Flat = True
      ShowCaptions = True
      TabOrder = 4
    end
  end
  object StatusBar: TStatusBar
    Left = 0
    Top = 280
    Width = 534
    Height = 19
    Panels = <
      item
        Width = 300
      end
      item
        Alignment = taCenter
        Width = 50
      end
      item
        Alignment = taCenter
        Text = '1/1'
        Width = 50
      end
      item
        Width = 100
      end>
    SimplePanel = False
  end
  object ControlBarLower: TControlBar
    Left = 0
    Top = 299
    Width = 534
    Height = 9
    Align = alBottom
    AutoSize = True
    BevelKind = bkNone
    ParentShowHint = False
    PopupMenu = BarMenu
    ShowHint = True
    TabOrder = 3
    OnDockDrop = ControlBarLowerDockDrop
    OnDockOver = ControlBarLowerDockOver
    OnUnDock = ControlBarLowerUnDock
  end
  object FontDialog: TFontDialog
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    MinFontSize = 0
    MaxFontSize = 0
    Left = 216
    Top = 96
  end
  object MainMenu: TMainMenu
    Images = Images
    Left = 152
    Top = 152
    object File1: TMenuItem
      Caption = '&File'
      object New1: TMenuItem
        Action = acNew
      end
      object N1: TMenuItem
        Caption = '-'
      end
      object Open1: TMenuItem
        Action = acOpen
      end
      object Save1: TMenuItem
        Action = acSave
      end
      object Saveas1: TMenuItem
        Action = acSaveas
      end
      object N2: TMenuItem
        Caption = '-'
      end
      object Print1: TMenuItem
        Action = acPrint
      end
      object N3: TMenuItem
        Caption = '-'
      end
      object Exit1: TMenuItem
        Action = acExit
      end
    end
    object Edit1: TMenuItem
      Caption = '&Edit'
      object Undo1: TMenuItem
        Action = acUndo
      end
      object N6: TMenuItem
        Caption = '-'
      end
      object Cut2: TMenuItem
        Action = acCut
      end
      object Copy1: TMenuItem
        Action = acCopy
      end
      object Paste1: TMenuItem
        Action = acPaste
      end
    end
    object Font1: TMenuItem
      Caption = '&Font'
      object Bold1: TMenuItem
        Action = acBold
      end
      object Italic1: TMenuItem
        Action = acItalic
      end
      object N5: TMenuItem
        Caption = '-'
      end
      object More1: TMenuItem
        Action = acFont
      end
    end
    object Paragraph1: TMenuItem
      Caption = '&Paragraph'
      object LeftAligned1: TMenuItem
        Action = acLeftAligned
        GroupIndex = 1
        RadioItem = True
      end
      object RightAligned1: TMenuItem
        Action = acRightAligned
        GroupIndex = 1
        RadioItem = True
      end
      object Centered1: TMenuItem
        Action = acCentered
        GroupIndex = 1
        RadioItem = True
      end
    end
    object Options1: TMenuItem
      Caption = '&Options'
      object BackColor1: TMenuItem
        Action = acBackColor
      end
      object Countchars1: TMenuItem
        Action = acCountchars
      end
      object HintColor1: TMenuItem
        Action = acHintColor
      end
    end
    object Help1: TMenuItem
      Caption = '&Help'
      object About1: TMenuItem
        Action = acAbout
      end
    end
  end
  object OpenDialog: TOpenDialog
    DefaultExt = 'rtf'
    Filter = 'Rich Text File (*.rtf)|*.rtf|Any file (*.*)|*.*'
    Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist]
    Left = 24
    Top = 152
  end
  object SaveDialog: TSaveDialog
    DefaultExt = 'rtf'
    Filter = 'Rich Text File (*.rtf)|*.rtf|Any file (*.*)|*.*'
    Options = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofCreatePrompt]
    Left = 88
    Top = 152
  end
  object ColorDialog: TColorDialog
    Ctl3D = True
    Left = 216
    Top = 152
  end
  object ActionList: TActionList
    Images = Images
    OnUpdate = ActionListUpdate
    Left = 24
    Top = 96
    object acNew: TAction
      Category = 'File'
      Caption = '&New'
      Hint = 'New|Open a new file'
      ImageIndex = 0
      ShortCut = 113
      OnExecute = NewExecute
    end
    object acOpen: TAction
      Category = 'File'
      Caption = '&Open...'
      Hint = 'Open|Open an existing file'
      ImageIndex = 1
      ShortCut = 16463
      OnExecute = OpenExecute
    end
    object acSave: TAction
      Category = 'File'
      Caption = '&Save'
      Hint = 'Save|Save the current file'
      ImageIndex = 2
      ShortCut = 16467
      OnExecute = SaveExecute
      OnUpdate = acSaveUpdate
    end
    object acSaveas: TAction
      Category = 'File'
      Caption = 'Save &as...'
      Hint = 'Save as|Save the current file with a new name'
      OnExecute = SaveAsExecute
    end
    object acPrint: TAction
      Category = 'File'
      Caption = '&Print'
      Hint = 'Print|Print the current text'
      ImageIndex = 3
      ShortCut = 16464
      OnExecute = PrintExecute
    end
    object acExit: TAction
      Category = 'File'
      Caption = 'E&xit'
      Hint = 'Exit|Close the application'
      ShortCut = 32883
      OnExecute = ExitExecute
    end
    object acCut: TAction
      Category = 'Edit'
      Caption = 'Cu&t'
      Hint = 'Cut|Cut to the clipboard'
      ImageIndex = 5
      ShortCut = 16472
      OnExecute = acCutExecute
      OnUpdate = acCutUpdate
    end
    object acCopy: TAction
      Category = 'Edit'
      Caption = '&Copy'
      Hint = 'Copy|Copy to the clipboard'
      ImageIndex = 6
      ShortCut = 16451
      OnExecute = acCopyExecute
      OnUpdate = acCutUpdate
    end
    object acPaste: TAction
      Category = 'Edit'
      Caption = '&Paste'
      Hint = 'Paste|Paste from the clipboard'
      ImageIndex = 7
      ShortCut = 16470
      OnExecute = acPasteExecute
      OnUpdate = acPasteUpdate
    end
    object acBold: TAction
      Category = 'Font'
      Caption = '&Bold'
      Hint = 'Bold|Set selected text to bold'
      ImageIndex = 8
      ShortCut = 16450
      OnExecute = BoldExecute
      OnUpdate = acBoldUpdate
    end
    object acItalic: TAction
      Category = 'Font'
      Caption = '&Italic'
      Hint = 'Italics|Set selected text in italics'
      ImageIndex = 9
      ShortCut = 16457
      OnExecute = ItalicExecute
      OnUpdate = acItalicUpdate
    end
    object acFont: TAction
      Category = 'Font'
      Caption = '&Font...'
      Hint = 'Font|Customize the current font'
      ImageIndex = 15
      OnExecute = FontExecute
    end
    object acLeftAligned: TAction
      Category = 'Paragraph'
      Caption = '&Left'
      Checked = True
      Hint = 'Left|Align the paragraph to the left'
      ImageIndex = 10
      ShortCut = 16460
      OnExecute = ChangeAlignment
    end
    object acCentered: TAction
      Tag = 2
      Category = 'Paragraph'
      Caption = '&Centered'
      Hint = 'Center|Center the paragraph'
      ImageIndex = 11
      ShortCut = 16453
      OnExecute = ChangeAlignment
    end
    object acBackColor: TAction
      Category = 'Options'
      Caption = '&Background Color...'
      Hint = 'Back Color|Change the edit background color'
      OnExecute = BackColorExecute
    end
    object acCountchars: TAction
      Category = 'Options'
      Caption = '&Count chars...'
      Hint = 'Count|Count the number of characters'
      ImageIndex = 14
      OnExecute = CountCharsExecute
      OnUpdate = acCountcharsUpdate
    end
    object acAbout: TAction
      Category = 'Help'
      Caption = '&About RichNote...'
      Hint = 'About|Dispay information about the program'
      OnExecute = AboutExecute
    end
    object acUndo: TAction
      Category = 'Edit'
      Caption = '&Undo'
      Hint = 'Undo|Undo the last editing operation'
      ImageIndex = 4
      ShortCut = 16474
      OnExecute = acUndoExecute
      OnUpdate = acUndoUpdate
    end
    object acRightAligned: TAction
      Tag = 1
      Category = 'Paragraph'
      Caption = '&Right'
      Hint = 'Right|Align the paragraph to the right'
      ImageIndex = 12
      ShortCut = 16466
      OnExecute = ChangeAlignment
    end
    object acHintColor: TAction
      Category = 'Options'
      Caption = '&Hint Color...'
      Hint = 'Hint Color|Change the color of the fly-by hints'
      OnExecute = acHintColorExecute
    end
  end
  object Images: TImageList
    Left = 88
    Top = 98
    Bitmap = {
      494C01010E001300040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
      000000000000360000002800000040000000500000000100180000000000003C
      000000000000000000000000000000000000F08FF01F10FF1FC07F806080C0FF
      007FE08F5FB0F0600000404F8F0F00000060EF9F1F6F203000000000D070800F
      000000608F701FEF00EFFFFFFFFF408F9F0F00000040BF5F30000000005F7FBF
      AF6F8F607F80609F209FCF50BF6F802F0FF000608FCFFF505F50F04FB070C01F
      6F00300000000040BF1F20700000A08000FF0F2FD04FAF9F0F00608FBF6080D0
      3F00DF30800F0000008070F06F8F7F0F7040FFEFAF6F00006080C03F00A02F50
      6FF040600050F070800F000000208F2F8FE0403F3FBFEF0000608F00608FA060
      BF0F1FE010A08F6060BFDF0090004010D00F30AF0F0F5F108080A0A0EF0F304F
      3000306F3FA08F2080C07F70FF5FF06F5F109F0000C0505F30F0B0DF40600F80
      AF4F00F06FC040FFC010DF0000A080009F70AFDF505F10CF401FD0CF2F000060
      EF5FDF505F30F05FD0002F10C0AF8F20408F800F00000040BF1F30000000005F
      D0CF407F80FFFFFFFF1F6FE03000000000D0D0800F000000608F701FEF90EFFF
      FFFFFFF06FC01F10FF0F80705F6080C03F005F1FEF0F7FF0FFFFFF1FB07F4000
      00A0EF0F5FB04FA0208F0F406F0F005FFFCF5FDF2FCF101F10000050409F50AF
      40F0FF7F8F2F8F101F10200060EF401F00000000000000000000FFFFFFFFFFFF
      0F0000000080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0000000080FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFDF80502080009FCF505F30DF5F50F0FF8F30
      BF4F6F006F8F303F5FCFF0F0CFDF505F50FF7F808010E0F06000005FF0D06FB0
      4F001FEF60DF1F1F00005F70F05FB04F60FFFF2F8FE01FB040C09F100F6F3F6F
      0FF04FB04F609F703F6F3F6F8FF0EF4F4F502F00C0AF80009F703F6F8F2F0F10
      5F900040708F6F0FFF5F300FDF80006F102090407F8080706FFFFFAF0FFF5F70
      CFBF3FDFDF20CF1FC0CF8F0F50FFBF7060608F6F8FFFFFBF70201FEFEF1F901F
      00002F70DFA0CFAFFFBF40406080309F0F5FDFA05FB040403F8F2F8FE05FDFB0
      9F00C05FBFB02F70DFA0AF105FB05040608F9FEFFFAF8FFF5F100F80EFFF8F10
      AF00000000A08000FF0F20105FBF9F0F00608F2F8FF0FFCF5FDF2FCF109F0F00
      A0505F90EF1F90EF006050B0EF505FB07F406030DFBF8F20E07F4FB04FE07F8F
      A0A0C0C050A00F10301F80302F1FA010308080203FEF8F106F90002F1F901030
      8080208FEF0F0FA08F105FD0CF403F908F2F0000608FC0BF80DFFF0F20702FBF
      9F0F00608F6F8FFF7FE0B00F4F007FE0B04F608F807F2F8F7F3FB0BF7F9F6000
      80DF50FFBF70E01FEF20CF8F1F00002F10C02F8FF05F7FBF504F20CFAF8FEF10
      10FFFFFFFF7FF02FB08F6F1010FFFFFFFF1FEF8F40000000005F70D06FB08F80
      E0FFFFFFFF40BF8F10000000A08FAF1010FFFFFFFF7F8F2F0FFFB01F40A00010
      A0EF005F70CF401FF00F000000608F2F0F10BF1FDFDF00C06FB04FE07F200F1F
      505F704000CF50FF1FB0C01F000000006F704F80E0FFAF0F0F401F4000000000
      A08000FF0F20509FBF9F0F00608F2F0FFFB01F40A00010A0EF005F70CF40BF60
      E0D000006080EF8FFF008070C0608F1F0F40407FDFE0D0FFFF3FA060BF701F0F
      201F103F00807090C05000000000406FA0205F6FB07F0070F02F106F00400000
      00005F70CF405FF030700000608040BF00BF1FDFDF00C0006F8F80BF8F6F0FA0
      405F7F2FA0FFFF7F80EF0FA02F80702FA08FAF0FA05F3F6F6FB040600050406F
      BF0F000000608F5F1FEFEFCF703F00001FB07F600000A0AFE06FB08020E0FFFF
      FFFF804F6F3F00EF0F5FFFFFFFFFFFBF708060802F0F8F00A08F2F9020FFFFFF
      FF1F5050EF005F70CF40BF5FF0FFFFFF3F8F301FEF30EF100000009F20CF9030
      000F1000B02F400000EF200FF0FFFFFF5F10D02F50D0A06F001F50EF20BF8F30
      8F3F407F7F10D0FFFF7F304F7F8FB08F3F5FD0C040FFD05F00000020A0A0BF70
      1F0F201F103F00807090C050408F0FF030400020A0A0BF701F0F205F1000407F
      CF90D0FFFF3FA000BF701F0F201F103F00807090C050400F70EF30400020A000
      BF701F0F205F100040FFE0E0D0FFFF3FA080BF701F0F201F103F00807090C050
      400F40FF30400020A080BF701F0F205F100020CF10902000008F3F3FA070905F
      B00F20A08000CF000F20407F8F3FD0FFFF3F8F308F109030000F10B0406F4000
      00EFE0EF80F0FFFF5F10D02F50D0A06F001F50EF80BF8F308F2F407FEF10D0FF
      FF5FB00F20A080106F1F0F2040FF5F3FD0FFFF7F8F80BF80909F701F6080501F
      F06FD0408000EF705F80F0FFFF9030000F10EF8F6F400000EF10EF90F0FFFF4F
      D040C040B00F20A0403F701F0F20407F30BFD0FFFF3F8F308F1F9030000F10EF
      8F6F400000EF20E090F0FFFF4FD04000608F801010000F20C00F10000F20C040
      10000F20800010000F20000F10000F20A08050A0EF6F20EF6F602F6F9F8F7080
      2F60906F702F8F50404F702F2F6020AF8F000F001FB03FE040301F0F20008070
      5020A0E040301F0F2040BF302F00000060C09FCF502050D0A00F0F1F90C0801F
      EFD03F80F0FFFF5F50DF5F10F09F40D05FD0C040BFB0AFD0FFFF7F30003F8F30
      8F2030DF404000005FD0C02F10C0A06F001F10EFC01FEF70B090F0FFFF4FD040
      00CFC0308F302000B01F6030905F8F80DFC0208F202080F04FFF4F20D0FFFF7F
      80208F202080F04FBF4F20D0FFFF9FCF60BFE06F304000E0EF6F30400020FF6F
      304000A0DF6F30400020000000000040DF3F3060E0904F3F50D08F60AFF00000
      00FF4F8F507F90AF0070304000800F00000000000000000000A08F000F0020D0
      8F0F0F20AFC08F0F0F2000000000000000000000000000000000000000000000
      000000000000000000000000000020D08F0F0F2080000000000080DF601F0F20
      800F10000F20404010000F20804010000F200000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00006F4F90F000A06000000F4080E000000F4080802F6F1F6F70000000000000
      CF4F90F000A06000000F4080E000000F408020BF8F0F0F206FB040E01FEF608F
      80F0FFFF1F3FEF306080F0FFFF5F1FF0F06F5FCFAF5F1F1F0000000000F02F40
      6F808050B0903F10EFD0C0000000407F4FFFD0A0607F80009FF04FFFB0000000
      006080208F202080F04F3F5020D0FFFF7F800000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000FFFFFF0000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000030204F1FEF6F706F700000002F90
      90F000A06000000F4080E000000F408000204F1FEF6F706F700000008F8F90F0
      00A06000000F4080E000000F4080F03F20000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000EF8090F000A06000000F4080E000000F408000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000FFFF7F000000000000FFFFFF0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000BFBFBF000000000000000000BFBFBF000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000007F7F7F000000BFBFBF000000000000000000BFBFBF000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000007F7F7F0000007F7F7F0000000000000000007F7F7F0000007F7F7F
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000BFBFBF000000000000000000000000000000000000000000BFBFBF
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000007F7F7F0000007F7F7F0000007F7F7F0000007F7F7F000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000BFBFBF0000007F7F7F0000007F7F7F0000007F7F7F000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000BFBFBF000000000000000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000007F7F7F0000007F7F7F0000007F7F7F000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000007F7F7F0000000000000000007F7F7F000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000BFBFBF000000000000000000BFBFBF0000007F7F7F
      0000000000000000000000000000007F7F7F0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      7F7F7F0000000000000000007F7F7F0000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      7F7F7F0000000000000000007F7F7F0000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000007F7F7F0000007F7F7F0000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000007F7F7F0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000800000800000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000800000800000800000800000
      8000008000008000008000008000008000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000800000000000000000800000000000000000
      8000008000000000000000000000000000000000000000000000000000000000
      0000000000000080000080000080000080000080000080000080000080000080
      0000000000000000000000000000000000000000800000FFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000800000000000000000800000000000800000
      0000000000008000000000000000000000000000000000000000000000000000
      00000000000000800000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
      0000000000808080008080808080008080808080800000FFFFFF000000000000
      000000000000000000000000FFFFFF8000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000800000000000000000800000000000800000
      0000000000008000000000000000000000000000000000000000000000000000
      00000000000000800000FFFFFF000000000000000000000000000000FFFFFF80
      0000000000008080808080008080808080008080800000FFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000000000000000000000000000000
      0000000000000000000000000000000000000000000080000000000000000000
      0000000000000000000000000000000000800000800000800000000000800000
      0000000000008000000000000000000000000000000000000000000000000000
      00000000000000800000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
      0000000000808080008080808080008080808080800000FFFFFF000000000000
      000000FFFFFF8000008000008000008000000000000000008000008000008000
      0080000080000000000000000000000000000000000080000000000000000000
      0000000000000000000000000000000000000000000000800000000000800000
      800000800000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFF800000FFFFFF000000000000000000000000000000FFFFFF80
      0000000000008080808080008080808080008080800000FFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFF800000FFFFFF8000000000000000000000008000008000008000
      0080000000000000000000000000000000000000000000000080000000000000
      0000000000000000000000000000000000000000000000800000000000800000
      000000000000000000000000000000000000000000000000FFFFFF0000000000
      00000000000000800000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
      0000000000808080008080808080008080808080800000FFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFF8000008000000000000000000000000000008000008000008000
      0000000000000000000000000000000000000000000000000080000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFF800000FFFFFF000000000000FFFFFF80000080000080000080
      0000000000008080808080008080808080008080800000800000800000800000
      8000008000008000000000000000000000000000000000008000008000000000
      0080000000000000000000000000000000000000000000000080000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFF0000000000
      00000000000000800000FFFFFFFFFFFFFFFFFFFFFFFF800000FFFFFF80000000
      0000000000808080008080808080008080808080008080808080008080808080
      0080808080800080800000000000000000000000000000008000000000000000
      0000000080000080000000000000000000000000000080000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFF800000FFFFFFFFFFFFFFFFFFFFFFFF80000080000000000000
      0000000000008080808080000000000000000000000000000000000000000000
      0000008080808080800000000000000000000000000000000000000000000000
      0000000000000000000080000080000080000080000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFF0000000000
      00FFFFFF00000080000080000080000080000080000080000000000000000000
      0000000000808080808080000000000000000000000000000000000000000000
      0000008080800080800000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
      FFFFFFFF000000FFFFFF00000000000000000000000000000000000000000000
      000000000000808080808000808000000000FFFF00000000000000FFFF000000
      8080800080808080800000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
      FFFFFFFF00000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000FFFF00FFFF000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800080800000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      0000000000000000008080008080008080008080008080008080008080008080
      0080800000000000000000000000000000000000000000000080800080800000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      000000000000FFFF000000008080008080008080008080008080008080008080
      0080800080800000000000000000000000000000000000000080800080800000
      0000000000000000000000000000000000000000000000000000808000000000
      000000000000000000000000000000000000000000000000FFFF00FFFF00FFFF
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      0000000000FFFFFF00FFFF000000008080008080008080008080008080008080
      0080800080800080800000000000000000000000000000000080800080800000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000000000000000000000808080808080808080
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      000000000000FFFFFFFFFF00FFFF000000008080008080008080008080008080
      0080800080800080800080800000000000000000000000000080800080800080
      8000808000808000808000808000808000808000808000808000808000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      0000000000FFFFFF00FFFFFFFFFF00FFFF000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800080800000
      0000000000000000000000000000000000000000000000808000808000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      000000000000FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      0000000000FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000
      000000000000FFFFFFFFFF00FFFF000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000FFFFFF000000000000000000000000000000
      FFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000808000000000
      0000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF00000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000FFFFFF000000000000000000000000
      000000FFFFFF000000000000000000000000000000000000000000FFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000080800000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000424D3E000000000000003E000000
      2800000040000000500000000100010000000000800200000000000000000000
      000000000000000000000000FFFFFF0000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000FFFFFFFF00000000FFFF8E2300000000
      FFFF8E2300000000C0078E2300000000FFFF8023DFFFDFFFF807C0630000DFFF
      FFFFC4630000FFFFC007C463FFFFFFFFFFFFE0E3FFFFFFFFF807E0E3FFFFFFFF
      FFFFE0E300000000C007E08000000000FFFFFFC100000000F807FFC100000000
      FFFFFFE300000000FFFFFFF700000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFC007C007F00F81FFFFFFFFFFF8C7E3FFC03FF83F
      F8C7F1FFFFFFFFFFF8C7F8FFC007C007F80FFC7FFFFFFFFFF8C7FE3FC03FF01F
      F8C7FF1FFFFFFFFFF8C7FF8FC007C007F00FFF03FFFFFFFFFFFFFFFFC03FF83F
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFC00
      FFFFF6CFFE008000FFFFF6B7FE000000FFFFF6B7FE000000FFF7F8B780000000
      C1F7FE8F80000001C3FBFE3F80000003C7FBFF7F80000003CBFBFE3F80010003
      DCF7FEBF80030003FF0FFC9F80070FC3FFFFFDDF807F0003FFFFFDDF80FF8007
      FFFFFDDF81FFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC001C007
      C007001F8031BFEBC007000F80310005C007000780317E31C007000380017E35
      C007000180010006C007000080017FEAC007001F8FF18014C007001F8FF1C00A
      C007001F8FF1E001C0078FF18FF1E007C00FFFF98FF1F007C01FFF758FF5F003
      C03FFF8F8001F803FFFFFFFFFFFFFFFF00000000000000000000000000000000
      000000000000}
  end
  object SizeMenu: TPopupMenu
    Left = 152
    Top = 96
    object Small1: TMenuItem
      Tag = 10
      Caption = 'Small'
      OnClick = SetFontSize
    end
    object Medium1: TMenuItem
      Tag = 16
      Caption = 'Medium'
      OnClick = SetFontSize
    end
    object Large1: TMenuItem
      Tag = 32
      Caption = 'Large'
      OnClick = SetFontSize
    end
  end
  object BarMenu: TPopupMenu
    OnPopup = BarMenuPopup
    Left = 272
    Top = 96
  end
  object Timer: TTimer
    Interval = 5000
    OnTimer = TimerTimer
    Left = 280
    Top = 152
  end
  object ApplicationEvents1: TApplicationEvents
    OnHint = ShowHint
    Left = 336
    Top = 96
  end
end