<< Click to display table of contents >> TrvCustomEditorAction.OnShowing, OnHide |
Occurs before Form is shown, and when it is hidden.
property OnShowing: TRVShowFormEvent;
property OnHide: TNotifyEvent;
Example
This example shows how to work with a form displayed by TrvActionEditNote.
Let the main form TfrmMain have:
•RichViewEdit: TRichViewEdit – the main editor;
•RVAControlPanel1: TRVAControlPanel;
•RVAPopupMenu1: TRVAPopupMenu;
•rvActionEditNote1: TrvActionEditNote;
•rvActionStyleInspector1: TrvActionStyleInspector;
•cmbFont: TRVFontComboBox;
•cmbFontSize: TRVFontSizeComboBox;
•cmbStyles: TRVStyleTemplateComboBox.
We want to insert Form at the bottom of TfrmMain.
Initial property settings:
• RVAControlPanel1.DefaultControl := RichViewEdit1;
• rvActionStyleInspector1.Control := RichViewEdit1;
• cmbFont.Editor := RichViewEdit1;
• cmbFontSize.Editor := RichViewEdit1;
• cmbStyles.Editor := RichViewEdit1
// OnFormCreate event
procedure TfrmMain.rvActionEditNoteFormCreate(Sender: TrvAction;
Form: TForm);
begin
// assigning properties of the note editor
rvActionEditNote1.SubDocEditor.OnEnter := NoteEditorEnter;
rvActionEditNote1.SubDocEditor.OnExit := NoteEditorExit;
rvActionEditNote1.SubDocEditor.PopupMenu := RVAPopupMenu1;
// moving the form to the bottom of frmMain
Form.Align := alBottom;
Form.Height := 100;
Form.Parent := Self;
end;
// OnShowing event
procedure TfrmMain.rvActionEditNoteShowing(Sender: TrvAction;
Form: TForm);
begin
// leaving the current note in RichViewEdit1 highlighted
// after moving the input focus
RichViewEdit1.ForceFieldHighlight := True;
end;
// OnHide event
procedure TfrmMain.rvActionEditNoteHide(Sender: TObject);
begin
// restoring old values of properties
RichViewEdit1.ForceFieldHighlight := False;
// focusing the main editor
if RichViewEdit1.CanFocus then
RichViewEdit1.SetFocus;
end;
// OnEnter: occurs when the input focus is moved to the note editor
procedure TfrmMain.NoteEditorEnter(Sender: TObject);
begin
// making the note editor default
RVAControlPanel1.DefaultControl :=
rvActionsResource.rvActionEditNote1.SubDocEditor;
UpdateLinkedControls;
end;
// OnExit: making the main editor default
procedure TfrmMain.NoteEditorExit(Sender: TObject);
begin
RVAControlPanel1.DefaultControl := RichViewEdit1;
UpdateLinkedControls;
end;
procedure TfrmMain.UpdateLinkedControls;
begin
rvActionStyleInspector1.Control := RVAControlPanel1.DefaultControl;
cmbFont.Editor := RVAControlPanel1.DefaultControl;
cmbFontSize.Editor := RVAControlPanel1.DefaultControl;
cmbStyles.Editor := RVAControlPanel1.DefaultControl;
end;
Note: a note editor is special, it redirects many actions (for example, TrvActionNew, TrvActionSave, TrvActionPrint) to the main editor.