Краткое содержание первой серии: некто MadCoder рассказал широкой общественности о том, как можно легко написать простейший текстовый редактор на Delphi. Так как получившийся редактор имел меньше возможностей, чем Блокнот, MadCoder обещал в следующей статье улучшить его. Как это сделать, он (т.е. я :) сейчас и расскажет.
Итак, сегодня мы научим наш редактор работать с буфером обмена, а также изменять параметры шрифта. Для начала добавим новый пункт меню -"Правка". Потом в этот пункт добавьте подпункты:"Вырезать", "Копировать", "Вставить","Выделить всё". Теперь добавьте разделяющую черту (как это сделать читайте в первой части статьи), под ней создайте ещё один пункт -"Шрифт..." Когда подготовка закончена, можно приступать к программированию. Для пункта "Вырезать" создадим такой обработчик (Прим.: Вместо NXClick у вас будет что-то типа N12Click): procedure TForm1.NXClick(Sender: TObject); begin Memo1.CutToClipBoard; //Вырезаем выделенный текст в буфер обмена end; Теперь мы можем вырезать текст из редактора в буфер обмена. Для копирования нужно создать такой обработчик для пункта "Копировать": procedure TForm1.NXClick(Sender: TObject); begin Memo1.CopyToClipBoard; // Копируем текст в буфер обмена end; Как вы уже догадались теперь нам нужно научиться вставлять текст из буфера. Поэтому смело кликаем два раза по пункту "Вставить" и пишем обработчик: procedure TForm1.NXClick(Sender: TObject); begin Memo1.PasteFromClipBoard; // Вставляем текст из буфера обмена end; Последняя функция работы с буфером обмена - "Выделить всё": procedure TForm1.NXClick(Sender: TObject); begin Memo1.SelectAll; // Выделяем весь текст end; Так с буфером обмена закончили. Можете нажать F9 и посмотреть на результат. Как видите в Dephi очень просто работать с буфером. Но у нас на повестке дня ещё один пункт меню -"Шрифт...". Вот это уже чуть - чуть посложнее (хотя что я плету, на самом деле это ещё проще :). С помощью этого пункта, пользователь сможет выбрать каким шрифтом наш редактор будет писать. Таким образом, если ему не понравиться шрифт, который мы в прошлой статье поставили по умолчанию, то он легко поменяет его. Итак, приступим. При выборе этого пункта у нас должен появиться диалог выбора шрифта и настройки его свойств. Поэтому переходим на закладку Dialogs и ищем там компонент FontDialog. Добавляем его на форму. В свойстве Font, этого компонента можете задать шрифт по умолчанию, как мы делали это для компонента Memo. После этого содаём обработчик для пункта "Шрифт...": procedure TForm1.NXClick(Sender: TObject); begin If FontDialog1.Execute Then // Запускаем диалог выбора шрифта Memo1.Font:=FontDialog1.Font; // Применяем выбранный шрифт end; Готово! Теперь наш простейший редактор умеет довольно много. Но всё это было очень легко, мы создали лишь"костяк" для будущей довольно мощной программы. Поэтому в следующих статья я расскажу, как добавить функцию поиска, замены слов, вставку даты/времени, возможность работы с разными кодировками и возможно даже функцию проверки орфографии. Интересно? Тогда ждите следующей статьи.