n="justify"> Вставка в буфер обміну
Під час дії Вставити вміст буфера обміну вставляється в редактор. Щоб ваш редактор був по-справжньому професійним, ви повинні дозволити користувачеві вибирати команду Вставити тільки тоді, коли в буфері обміну міститиметься хоч який-небудь текст. Щоб дізнатися, який формат мають дані, що зберігаються в буфері обміну, викличте метод HasFormat.
Щоб дізнатися, чи містить буфер обміну простий текст, який може бути вставлений в редактор, викличте метод HasFormat і передайте як параметр константу CF_TEXT. Щоб використовувати глобальний об'ектClipboard, необхідно додати модуль Clipbrd в список uses.
Для створення дії Вставити потрібно виконати наступні кроки:
Створіть нову дію.
У поле властивості Caption нового дії введіть Вставити.
У поле властивості Hint введіть Вставити текст з буфера обміну. ??
Привласніть дії ім'я PasteAction.
Призначте властивості Вставити комбінацію Ctrl + V.
Малюнок 21. Код програми
Призначте дію PasteAction неіменованого пункту в меню Правка.
Видалення
Дія Видалити виконує практично те ж саме, що і действіеВирезать. Подібно Вирізати, дія Видалити видаляє виділений текст з редактора. Різниця між ними полягає в тому, що дія Видалити не копіює текст в буфер обміну перед видаленням тексту з редактора.
Щоб створити дію Delete, виконайте наступні кроки:
Створіть нову дію.
У поле властивості Caption нового дії введіть Видалити.
У поле властивості Hint введіть Видалити виділений фрагмент.
Привласніть дії ім'я DeleteAction.
Призначте властивості Shortcut клавішу Del.
Для видалення тексту з редактора без зміни вмісту буфера обміну застосовується метод ClearSelection. Крім цього, призначте обробник події OnUpdate дії Cut події OnUpdate дії Delete, щоб дозволити користувачеві видаляти виділений текст тільки в тому випадку, якщо цей текст існує.
Призначте дію DeleteAction неіменованого пункту в меню Правка.
Виділення всього документа
Мабуть, найбільш простим з усіх дій є Виділити все, яке дозволяє виділяти весь вміст редактора. Щоб створити дію Виділити все, виконайте наступні кроки:
Створіть нову дію.
У поле властивості Caption нового дії введіть Виділити все.
У поле властивості Hint введіть Виділити весь документ.
Привласніть дії ім'я SelectAllAction.
Призначте властивості Shortcut клавішу Ctrl + A.
Призначте дію SelectAllAction неіменованого пункту в меню Правка.
Щоб виділити весь вміст компонента ТМеmо, необхідно викликати метод SelectAll:
Малюнок 22. Код програми
Пошук тексту в Delphi
Щоб реалізувати команду Знайти, спочатку додайте у вікно Designer Surfaceкомпонент TFindDialog. Компонент TFindDialog містить в собі звичайне діалогове вікно Знайти, за допомогою якого користувач може здійснювати пошук рядки тексту. Рядок, яку користувач намагається знайти, зберігається у властивості FindText.
Щоб користувач міг здійснювати пошук в тексті, буде потрібно створити дію Знайти, що відображає діалогове вікно Знайти, і написати обробник для події OnFind діалогового вікна для реалізації пошуку. Оскільки діалогове вікно Знайти дозволяє шукати кілька примірників рядки, ми повинні оголосити змінну Integer, в якій буде зберігатися остання позиція пошуку:
Малюнок 23. Код програми
Тепер, щоб створити дію Знайти, виконайте перелічені нижче кроки:
У поле властивості Caption нового дії введіть Знайти.
У поле властивості Hint введіть Знайти вказаний текст.
Привласніть дії ім'я FindAction.
Призначте властивості Shortcut комбінацію Ctrl + F.
У обробник події OnExecute дії помістіть наступний код:
Малюнок 24. Код програми
Код, який відповідає за виконання пошуку:
Малюнок 25. Код програми
Перший рядок (приведення параметра Sender до типу TFindDialog) необов'язкова, якщо в команді Правка - Найти ви маєте намір використовувати тільки цей метод. У даному випадку ми повинні вико...