Создание простейшего текстового редактора. Пост первый

Начинаю серию постов – целью которых является создание простейшего текстового редактора. Второй пост расположен тут. А вот третий пост на эту тему.

Наш текстовый редактор сможет создавать новые файлы, открывать уже имеющиеся на диске, редактировать, а также сохранять их.

Кроме того, следует предусмотреть возможность работы с буфером обмена, куда пользователь сможет вырезать или скопировать текст и откуда будет брать ранее вставленную информацию.

К тому же следует установить панель с кнопками, обеспечивающими быстрый доступ к созданным пунктам меню. Как и в любом приложении Windows, в текстовом редакторе следует создать строку состояния, в которой будет отображаться информация о полном имени открытого файла.

Установим необходимые компоненты на форму. Нам понадобится компонент MainMenu (он расположен на вкладке Standart) – он необходим для организации пунктов меню. Также пригодится компонент Memo, находящийся на этой же вкладке, именно он создаст область ввода текста. На вкладке Win32 следует выбрать компоненты StatusBar (для создания полосы статуса), ToolBar (понадобится для организации панели кнопок быстрого доступа), а также ImageList (именно сюда поместим коллекцию рисунков). Со вкладки Dialogs возьмем компонент OpenDialog (поможет в создании стандартного диалога открытия файла), а также SaveDialog (создаст стандартный диалог сохранения файла). Работу с этими диалогами я рассматривала здесь.

Зададим компоненту Memo1 свойство Align alClient. Удалим имеющуюся запись «Memo1» из свойства Lines. Добавляем полосы прокрутки ScrollBars=ssBoth.

Заполним содержимым ImageList. Для этого следует дважды щелкнуть по этому объекту. Я добавила такие картинки: filenew.bmp, fileopen.bmp, filesave.bmp, copy.bmp, cut.bmp, paste.bmp и help.bmp (их стандартное расположение такое – C:\Program Files\Common Files\Borland Shared\Images\Buttons). Каждый рисунок содержит изображения активной и неактивной кнопок.

Отмечу, что при импорте изображений редактор спросит, хотите ли вы разбить изображение на два. Следует ответить No и для загруженного изображения установить переключатель в положение Cron.

Для компонента MainMenu1 установим свойство Image=ImageList1.

Добавим пункты меню (при этом для каждого пункта следует указать свойство ImageIndex – номер картинки я указала в скобках – сработает, если картинки загружены в том же порядке) с такими названиями: &Файл, Соз&дать (0), &Открыть (1), &Сохранить (2), В&ыход, &Редактирование, &Вырезать (3), &Копировать (4), Вст&авить (5), &О программе (6).

Символ & нужен для организации быстрого доступа к пунктам меню.

Для пунктов меню вырезать, копировать и вставить зададим свойство ShortCut равным Ctrl+X, Ctrl+C и Ctrl+V соответственно.

Займемся настройкой компонента ToolBar. Установим свойство Images равным ImageList1. Для добавления новых кнопок необходимо использовать контекстное меню, команда New Butoon. Установим все необходимые кнопки, между разными группами кнопок следует устанавливать разделитель – New Separator.

Теперь настроим строку состояния. Щелкнем по ней дважды. После в окошке редактора состояний добавим новое состояние с индексом 0 зададим для него такие свойства: Text=Безымянный, Width=300, Style=psText. Добавим еще одно состояние. Его пока оставим без изменений.

Внешний вид получившейся формы приведен ниже.

Внешний вид приложения

О программировании напишу в следующем посте. Скачать проект можно по ссылке.

0

  1. Интересный сайт. А главное все расписано до мелочей, разобраться можно. Спасибо за инфу.

  2. В принципе, всё по делу. Единственный минус — не указана версия «билдера», что было бы совсем неплохо (мало ли — вдруг у меня совсем «древний» стоит:-) ). Удачи!

    1. Если будете самостоятельно собирать так, как я описала — заработает в любой версии. Если просто скачаете архив — могут быть проблемы в совместимости…

  3. Здравствуйте! Прошу прощения, что пишу не совсем в тему. Я тоже использую Вордпресс для своего блога и у меня возник вопрос, как настроить новую тему. Поиск на официальном сайте ничего не дал, там только пользовательские настройки рассматривают, а мне нужно, видимо, шаблоны править. Не подскажете, где почитать?

    1. почитать справочник по css. А править в файле style.css расположенном в папке вашего шаблона (возможно во вложенном — в разных темах по разному).

  4. Заинтересовала статья , для меня , как новичка , все подробно расписано.Может послужить отличным тренингом.

  5. Занятно пишете, жизненно. Все-таки, для того, чтобы делать по-настоящему интересный блог, нужно не только сообщать о чем-то, но и делать 🙂

  6. Спасибо! Написано понятно и доходчиво. Тема вполне реальная и пользуется спросом. Изложение материала последовательно.

  7. Жду новых статей) Подписался! *Хорошо-бы видео уроки записывать, а то читать бывает лень))

  8. Отличные статьи,хотелось бы заменить что у автора хорошо получается и есть задатки на будущее,остается только пожелать новых идей и дальнейшего продвижения.

  9. И как это автору не влом столько времени на написание статей тратить, мы конечно очень благодарны, но вот я на такой альтруизм не способен

  10. Спасибо за статью,для меня очень полезна,все очень подробно и понятно написано,спасибо автору!

  11. Все вроде правильно сделал ,НО выдает ошибку ([Linker Fatal Error] Fatal: Expected a file name: )

    PS Студент что тут сказать )))

    1. Доброй ночи. Знаете, ошибка похожа на проблемы «битого» компилятора. У вас элементарные программы компилируются (например, с одной лишь кнопкой «закрыть» или даже без оной)?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *