РЕКОМЕНДУЕМ - ИНВЕСТИРОВАНИЕ В ИНТЕРНЕТЕ - ОТ 0,1 ДО 2 % В ДЕНЬ, ПРОВЕРЕНО.


При условии регистрации по этой ссылке, рекомендации и консультации для Вас бесплатны danilclub@mail.ru



Е-книги
Практическое пособие по созданию WEB-сайтов для начинающих
Самоучитель по Webдизайну
Самоучитель по интернет- программированию
Самоучитель по работе в Internet
Статьи
Спам
Интернет
Железо
Мобилы
Безопасность
Сетевые технологии
Программирование
Вебдизайн
Вебстроительство
Скрипты
Раскрутка
Flash
Photoshop
Windows, Soft
Linux
Описание игр
Другие
Бизнес-идеи
Электроника и техника
Малый бизнес
Интернет-бизнес
Моя ферма
Раскрутка сайтов
Технологии бизнеса
Руководства
Юмор
Введение
Вовочка
Законы Мерфи
КВН
Компъютерные
Нигеры
Поэзия
Пор-чик Ржевский
Тёща
Чукча
Школа
Штирлиц
Разные
Избранные
Пособия
Смешные истории


Rambler's Top100
Rambler's Top100


Текстовый редактор на Delphi. Часть 2

Краткое содержание первой серии: некто 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;
Готово! Теперь наш простейший редактор умеет довольно много. Но всё это было очень легко, мы создали лишь"костяк" для будущей довольно мощной программы. Поэтому в следующих статья я расскажу, как добавить функцию поиска, замены слов, вставку даты/времени, возможность работы с разными кодировками и возможно даже функцию проверки орфографии. Интересно? Тогда ждите следующей статьи.Автор: MadCoder (madcoder@hotbox.ru)

    © 2003-2009 Copyright by A. Danilyuk