Вы, я уверен, сталкиваетесь с различными приложениями каждый день. От социальных сетей, до видео-хостингов. Все эти сложные, на первый взгляд вещи, пишут обычные люди, такие же, как и вы. В данных статьях, посвященным языку программирования c++, я буду на собственном примере показывать и рассказывать о том, как можно самому лично с 0 написать рабочие версии программ, которыми вы пользуетесь по сей день. Все будет легко и доступно. Но перед тем, как начать, я хочу добавить, что не буду вдаваться в подробности своего кода, а буду вести описательную характеристику своей деятельности, и рассказывать о том, как решал встающие на моем пути проблемы. По моему мнению этого достаточно, чтоб вы, мой дорогой читатель, изучив азы кода, уже смогли сделать что-то похожее на то, что буду делать я. Главное, делайте некоторые вещи по-своему, тогда и процесс будет доставлять вам больше удовольствия. На сей ноте закончим долгое вступление и приступим к первому не сложному проекту.
Сидел я как-то, решал какую-то задачу, записывая ходы решения в блокноте и появилось у меня необыкновенное желание сделать свой блокнот. И самой главной вишенкой стал бы тот факт, что его не нужно устанавливать и работать он будет в обычной консоли Windows, но будет иметь тот же интерфейс, те же функции, такой же внешний вид, как и приложение, единственное, чего он будет лишён - это возможности управления мышью. Но ей во время письма я не пользуюсь, поэтому обойдёмся клавиатурой. И так, приступим.
Использовать в своем проекте я буду Visual Studio 2019 community edition - она бесплатна и доступна любому пользователю, а также в ней довольно легко и быстро можно конструировать проект. Начну свою разработку с того, как переделаю вот это:
Во что-то более привлекательное и похожее на блокнот, для этого потребуется:
- Изменить начальное расположение консоли на экране и ее начальный размер для удобного использования.
- Изменить цвет фона и цвет текста на тот, что используется в оригинальном блокноте. А также убрать консольный курсор.
- Установить название окна на пресловутое "Безымянный — Блокнот" и разумеется поменять иконку окна на маленький блокнотик:)
Если для изменения расположения и размера консоли нам хватит метода MoveWindow, а для изменения цвета можно вообще прописать консольную команду из под языка system("color F0"). То для того, чтоб установить название окна нужно хранить имя окна, которое по умолчанию установим на "Безымянный". Вот так будут выглядеть заветные строчки для того, чтоб настроить консольку:
Получаем результат:
Теперь разберёмся с иконкой, тут всё просто:
Подключаем окно ресурсов в VS и просто выбираем нашу иконку с расширением .ico
Всё-таки хорошо, но не хорошо. Нужно наметить небольшое поле для дальнейшей работы. За кадром, с помощью магии локальной разработки, напишу функции, которые нарисуют нам линейки, как в блокноте, пропишу всякие: "файл", "справка"... Нам этого пока что будет достаточно. А, совсем забыл, переменные, созданные ранее, сделаем глобальными, чтоб вся программа могла с ними взаимодействовать
До конца первого этапа осталось чуть-чуть. Всё-таки блокнот без возможности писать - не блокнот. Напишем функцию, которая будет ожидать ввода с клавиатуры, обработку нажатия enter, backspace, а также переходов. Получим следующую вещь:
Ух, потратив некоторое время, удалось создать уже что-то похожее на блокнотик.
В дальнейших частях я планирую добавить такие штучки:
1)Возможность перемещаться стрелочками по тексту
2)Вертикальный мигающий курсорчик, как в блокноте Windows
3)Реализовать взаимодействие с кнопками "файл", "справка".
4)Реализовать обозреватель, чтоб можно было легко сохранять и открывать текстовые файлы(придётся попотеть)
5)Реализовать систему выделения с функциями копирования и вставки, также удаления. В общем, все возможные инструменты для форматирования текста.
6)В заключении, я предоставлю вам, мой читатель, ссылку на гугл документ с полным и рабочим проектом, который вы сможете запустить у себя на компьютере и детальнее изучить различные решения, которые не просочились в данный блог.
Но это всё будет когда-то там, в будущем:)
Желаю хорошего настроения, творческого настроя и весёлого дня!
Спасибо, что прочитали мой мини блог, если вам он понравился, то, пожалуйста, оцените его подпиской, комментарием или лайком, так вы поддержите мой труд.