Marco Web Center

[an error occurred while processing this directive]

Home: Code Repository: Mastering Delphi 6

Chapter 08 - Project MdEdit2

Project Structure

MdEdit2.dpr
program MdEdit2;

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)
    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;
    acExit: TAction;
    ApplicationEvents1: TApplicationEvents;
    ColorBox1: TColorBox;
    Panel1: TPanel;
    ControlBarLower: TControlBar;
    RichEdit: TRichEdit;
    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 ShowHint(Sender: TObject);
    procedure EndDock(Sender, Target: TObject; X, Y: Integer);
    procedure ControlBarLowerDockOver(Sender: TObject;
      Source: TDragDockObject; X, Y: Integer; State: TDragState;
      var Accept: Boolean);
  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 (Application.Title + '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 := Application.Title + ' - [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 := Application.Title + ' - ' + 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 := Application.Title + ' - ' + Filename;
    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
type
  TColorBoxHack = class (TColorBox)
  public
    property DragMode;
    property DragKind;
  end;

procedure TFormRichNote.FormCreate(Sender: TObject);
var
  I: Integer;
  mItem: TMenuItem;
begin
  Application.Title := Caption;
  NewExecute (self);

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

  // 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;

  // "protected hack" to make the color box "dockable"
  // Borland probably forgot to publish these properties
  // TColorBoxHack (ColorBox1).DragMode := dmAutomatic;
  // TColorBoxHack (ColorBox1).DragKind := dkDock;
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.EndDock(Sender, Target: TObject; X,
  Y: Integer);
begin
  if Target is TCustomForm then
    TCustomForm(Target).Caption :=
      GetShortHint((Sender as TControl).Hint);
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 = 200
  Top = 112
  Width = 629
  Height = 395
  Caption = 'MdEdit2'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = True
  OnCloseQuery = FormCloseQuery
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ControlBar: TControlBar
    Left = 0
    Top = 0
    Width = 621
    Height = 52
    Align = alTop
    AutoSize = True
    BevelKind = bkNone
    ParentShowHint = False
    PopupMenu = BarMenu
    ShowHint = True
    TabOrder = 0
    object ToolBarFile: TToolBar
      Left = 282
      Top = 2
      Width = 100
      Height = 22
      Hint = 'File commands'
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 0
      Wrapable = False
      OnEndDock = EndDock
      object ToolButton1: TToolButton
        Left = 0
        Top = 0
        HelpType = htKeyword
        Action = acNew
      end
      object ToolButton2: TToolButton
        Left = 23
        Top = 0
        HelpType = htKeyword
        Action = acOpen
      end
      object ToolButton3: TToolButton
        Left = 46
        Top = 0
        HelpType = htKeyword
        Action = acSave
      end
      object ToolButton20: TToolButton
        Left = 69
        Top = 0
        Width = 8
        HelpType = htKeyword
        Caption = 'ToolButton20'
        ImageIndex = 16
        Style = tbsSeparator
      end
      object ToolButton4: TToolButton
        Left = 77
        Top = 0
        HelpType = htKeyword
        Action = acPrint
      end
    end
    object ToolBarEdit: TToolBar
      Left = 11
      Top = 28
      Width = 92
      Height = 22
      Hint = 'Edit commands'
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 1
      Wrapable = False
      OnEndDock = EndDock
      object ToolButton6: TToolButton
        Left = 0
        Top = 0
        HelpType = htKeyword
        Action = acCut
      end
      object ToolButton7: TToolButton
        Left = 23
        Top = 0
        HelpType = htKeyword
        Action = acCopy
      end
      object ToolButton8: TToolButton
        Left = 46
        Top = 0
        HelpType = htKeyword
        Action = acPaste
      end
      object ToolButton9: TToolButton
        Left = 69
        Top = 0
        HelpType = htKeyword
        Action = acUndo
      end
    end
    object ToolBarFont: TToolBar
      Left = 116
      Top = 28
      Width = 167
      Height = 22
      Hint = 'Font attributes'
      AutoSize = True
      DragKind = dkDock
      DragMode = dmAutomatic
      EdgeBorders = []
      EdgeInner = esNone
      EdgeOuter = esNone
      Flat = True
      Images = Images
      TabOrder = 2
      Wrapable = False
      OnEndDock = EndDock
      object ToolButton10: TToolButton
        Left = 0
        Top = 0
        HelpType = htKeyword
        Action = acBold
      end
      object ToolButton11: TToolButton
        Left = 23
        Top = 0
        HelpType = htKeyword
        Action = acItalic
      end
      object ToolButton13: TToolButton
        Left = 46
        Top = 0
        Width = 8
        HelpType = htKeyword
        Caption = 'ToolButton13'
        ImageIndex = 11
        Style = tbsSeparator
      end
      object ToolButton14: TToolButton
        Left = 54
        Top = 0
        HelpType = htKeyword
        Action = acLeftAligned
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton15: TToolButton
        Left = 77
        Top = 0
        HelpType = htKeyword
        Action = acCentered
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton16: TToolButton
        Left = 100
        Top = 0
        HelpType = htKeyword
        Action = acRightAligned
        Grouped = True
        Style = tbsCheck
      end
      object ToolButton12: TToolButton
        Left = 123
        Top = 0
        Width = 8
        HelpType = htKeyword
        Caption = 'ToolButton12'
        ImageIndex = 13
        Style = tbsSeparator
      end
      object ToolButton17: TToolButton
        Left = 131
        Top = 0
        Hint = 'Font Size|Change the size of the font'
        HelpType = htKeyword
        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
      OnEndDock = EndDock
    end
    object ToolBarMenu: TToolBar
      Left = 11
      Top = 2
      Width = 258
      Height = 22
      AutoSize = True
      ButtonHeight = 21
      ButtonWidth = 62
      EdgeBorders = [ebBottom]
      EdgeInner = esLowered
      EdgeOuter = esNone
      Flat = True
      Menu = MainMenu
      ShowCaptions = True
      TabOrder = 4
    end
    object ColorBox1: TColorBox
      Left = 439
      Top = 28
      Width = 145
      Height = 22
      ItemHeight = 16
      TabOrder = 5
    end
  end
  object StatusBar: TStatusBar
    Left = 0
    Top = 349
    Width = 621
    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 Panel1: TPanel
    Left = 0
    Top = 52
    Width = 621
    Height = 297
    Align = alClient
    BevelOuter = bvNone
    TabOrder = 2
    object ControlBarLower: TControlBar
      Left = 0
      Top = 280
      Width = 621
      Height = 17
      Align = alBottom
      AutoSize = True
      BevelKind = bkNone
      ParentShowHint = False
      PopupMenu = BarMenu
      ShowHint = True
      TabOrder = 0
      OnDockOver = ControlBarLowerDockOver
    end
    object RichEdit: TRichEdit
      Left = 0
      Top = 0
      Width = 621
      Height = 280
      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 = 1
      OnChange = RichEditChange
      OnSelectionChange = RichEditSelectionChange
    end
  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
      0000000000003600000028000000400000005000000001001000000000000028
      0000000000000000000000000000000000003E7A437C033F9041F8038F47CB7A
      0C002845010080757334C4000000DA41010080456E74A07FFF7F284E0100005D
      CB000000EB5DB545EC416C12332BB74125788045F92B4B79C93A7834C0000000
      E80EC4018042E0074527750680459741FA00DB400100003ABE452F38E877B501
      8041F800B428CD230C28DE41010080442572E81CB70380458045945D61708246
      8C5D1B4800093A1835044B4090523D18C900A61D3412103FEE2FBE2D6202002B
      CB7876232C403501BE61E86362038042603A752B4B646868B90080756B2BCB78
      4B034560351228420100005DC30000004B67E841FF7F7F34DC0000005A430100
      80456E74B27FFF7FBE61437C013A8B41F8006B74E179FF7FC33E0800B407CB26
      94440135012C3F2FBB6462080028682A1579FF45250A43108075680000000000
      0000FF7FFF7F01000040FF7FFF7FFF7FFF7FFF7FFF7F01000040FF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F1B2A0402332B
      CB6C4B793F1A3735A045E62CD97B792B4B7D0F42827B0C00CB6BCD2660746C0F
      0300CB79CB26EC7F2572C322780AA11D2D78C9266C3AA71D2D7A3D25AA00B842
      603AA74525084B02C8452D7CCB041B024D10123D103AED7F357CCB65F76C9B64
      03673128FF3A8C452D7EFF3A64747D480300C56D3457FF22884166066B53CB22
      E84425726B5B1360EB5AC56DB40ACB2A8845B37F357E4B04B07F515400008042
      E007442C77068045257A3F2FBB646206802A4B7643768029B62BCB3E8819FB46
      843FC926FC45946258514118031A6550C240901C3D0A4D026548C24090443D04
      340A4B67E848B1008045F842FB07C415770680452D7E8F5B21018F5B8945F015
      F11DF63E9301702BFF3A7C74244703004560257AEB5D2A11B9465D08FF7FFF79
      C5464D08FF7F7F7411010000CB69CD46907FFF7FE846020080465508FF7FFF45
      257C76201408B403CB656878010080452508776C1B60CD26FC116128CB21202B
      7F5878000000CD25907F3504682000008042E007444D77068045257C76201408
      B403CB65E8325C0380413D7E003A98452320E86D5C7FFF50EC3A2310431C003A
      122B00000035942CCD3EC079453400010000CB656879C6018041E802776C1B60
      A045F0462D50683D857EFF413D50053A85463550EB34CD220C28A85D01008045
      6B743D3B0700C33E0C00B472CD42847FFF7F30350774617DFF7FFF3A90412544
      80464512FF7F7F28AA03CB65E82EFE7FFF446674A60B00009364D2004100B620
      00742478FF7F4B684569B4014375E446261EE83D427FFF19E945361E4B63E86B
      0B008050F43A2310431C003A122B2806DE208050F43A23104B00E865527FFF50
      E03A2310431C003A122B2838DD208050E03A23104B00E8735C7FFF50F03A2310
      431C003A122B2820DF208050F03A23104B00240B9200201E873A725981501064
      2010E845477FFF44260AD2004158A8210074BC43FE7F4B684569B4014375F046
      2616E875427F7F59815050342310E82F477FFF45F042723A83416A784D231074
      6E41FE7FD2004174B1210074A24BFE7F492318598150E8382310E819577FFF44
      260ED2004174B1210074844BFE7F492380455008201038082010180920101008
      201020082010142AB437A437AC34333AB030B239252A2839A530A4462000C31E
      1C192310003A8A501C192310E81A05008061332B4469340443627074FA40FE7F
      4B6D4B7813694B63E85A557FFF19E0442612662308004B634560B40143747874
      CE4AFE7F49232063261A04588319724570632412047AE927447FFF412412047A
      E926447F7F66EC72CD208077CD20807CCD20806ECD2080000000006DC7305C26
      476991551E00E027513DB202CE20000600000000000080462000444721101547
      2110000000000000000000000000000000000000000000000000444721101000
      0000703323103008201008092010100920100000000000000000000000000000
      0000000000000000000000000000000000002D491E500C0001411C000141B034
      A3390000000039491E500C0001411C000141E4462110CD227C742C42FE7FE374
      8641FE7F6B78BE2DB92E63000000C017A8415059F2085D630000E8255F53EC41
      607AE95B000080412412047AE928447FFF410000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000FF7F000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000008624A337AE390000454A1E500C00
      01411C0001418024A337AE390000314A1E500C0001411C000141FE1000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00001D4A1E500C0001411C000141000000000000000000000000000000000000
      00000000000000000000FF3F00000000FF7F0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000F75E000000000000
      F75E000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000EF3D0000F75E000000000000
      F75E000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000EF3D0000EF3D000000000000
      EF3D0000EF3D0000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000F75E00000000000000000000
      00000000F75E0000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000EF3D0000EF3D0000EF3D
      0000EF3D00000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000F75E0000EF3D0000EF3D
      0000EF3D00000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000000000000000F75E0000
      0000000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000EF3D0000EF3D0000
      EF3D000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000EF3D000000000000
      EF3D000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000F75E000000000000
      F75E0000EF3D00000000000000000000EF3D0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000EF3D000000000000EF3D00000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000EF3D000000000000EF3D00000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000EF3D0000EF3D000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000EF3D0000000000000000000000000000000000000000
      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
      0000000000000000000000000000000000000000000000000000000010001000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000001000
      1000100010001000100010001000100010000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000100000000000
      1000000000001000100000000000000000000000000000000000000000000000
      1000100010001000100010001000100010000000000000000000000000001000
      FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F10000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000100000000000
      1000000010000000000010000000000000000000000000000000000000000000
      1000FF7FFF7FFF7FFF7FFF7FFF7FFF7F10000000104200421042004210421000
      FF7F000000000000000000000000FF7F10000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000100000000000
      1000000010000000000010000000000000000000000000000000000000000000
      1000FF7F00000000000000000000FF7F10000000004210420042104200421000
      FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F10000000000000000000000000000000
      0000000000000000000010000000000000000000000000000000000010001000
      1000000010000000000010000000000000000000000000000000000000000000
      1000FF7FFF7FFF7FFF7FFF7FFF7FFF7F10000000104200421042004210421000
      FF7F000000000000FF7F10001000100010000000000010001000100010001000
      0000000000000000000010000000000000000000000000000000000000000000
      10000000100010001000000000000000000000000000FF7FFF7FFF7FFF7FFF7F
      1000FF7F00000000000000000000FF7F10000000004210420042104200421000
      FF7FFF7FFF7FFF7FFF7F1000FF7F100000000000000010001000100010000000
      0000000000000000000000001000000000000000000000000000000000000000
      10000000100000000000000000000000000000000000FF7F0000000000000000
      1000FF7FFF7FFF7FFF7FFF7FFF7FFF7F10000000104200421042004210421000
      FF7FFF7FFF7FFF7FFF7F10001000000000000000000010001000100000000000
      0000000000000000000000001000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7FFF7FFF7FFF7FFF7F
      1000FF7F00000000FF7F10001000100010000000004210420042104200421000
      1000100010001000100010000000000000000000000010001000000010000000
      0000000000000000000000001000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7F0000000000000000
      1000FF7FFF7FFF7FFF7F1000FF7F100000000000104200421042004210420042
      1042004210420042104200420000000000000000000010000000000000001000
      1000000000000000000010000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7FFF7FFF7FFF7FFF7F
      1000FF7FFF7FFF7FFF7F10001000000000000000004210420000000000000000
      0000000000000000104210420000000000000000000000000000000000000000
      0000100010001000100000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7F00000000FF7F0000
      1000100010001000100010000000000000000000104210420000000000000000
      0000000000000000104200420000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F0000
      FF7F0000000000000000000000000000000000000042104200420000E07F0000
      0000E07F00001042004210420000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F0000
      000000000000000000000000000000000000000000000000000000000000E07F
      E07F000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000420042000000000000
      0000000000000000000000000042000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000000000420042004200420042
      0042004200420042000000000000000000000000000000420042000000000000
      0000000000000000000000000042000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000E07F00000042004200420042
      0042004200420042004200000000000000000000000000420042000000000000
      0000000000000000000000000042000000000000000000000000000000000000
      E07FE07FE07F000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000FF7FE07F0000004200420042
      0042004200420042004200420000000000000000000000420042000000000000
      0000000000000000000000000042000000000000000000000000000000000000
      104210421042000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000E07FFF7FE07F000000420042
      0042004200420042004200420042000000000000000000420042004200420042
      0042004200420042004200420042000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000FF7FE07FFF7FE07F00000000
      0000000000000000000000000000000000000000000000420042000000000000
      0000000000000000000000420042000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000E07FFF7FE07FFF7FE07FFF7F
      E07FFF7FE07F0000000000000000000000000000000000420000000000000000
      0000000000000000000000000042000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000FF7FE07FFF7FE07FFF7FE07F
      FF7FE07FFF7F0000000000000000000000000000000000420000000000000000
      000000000000000000000000004200000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7F00000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F00000000000000000000E07FFF7FE07F000000000000
      0000000000000000000000000000000000000000000000420000000000000000
      0000000000000000000000000042000000000000000000000000FF7F00000000
      000000000000FF7F00000000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7F00000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000420000000000000000
      0000000000000000000000000042000000000000000000000000FF7FFF7FFF7F
      FF7FFF7FFF7FFF7FFF7F0000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7F0000FF7F000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000420000000000000000
      00000000000000000000000000000000000000000000000000000000FF7F0000
      0000000000000000FF7F0000000000000000000000000000FF7FFF7FFF7FFF7F
      FF7FFF7F00000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000420000000000000000
      00000000000000000000000000000000000000000000000000000000FF7FFF7F
      FF7FFF7FFF7FFF7FFF7FFF7F0000000000000000000000000000000000000000
      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 ApplicationEvents1: TApplicationEvents
    OnHint = ShowHint
    Left = 336
    Top = 96
  end
end