Суббота, 19.08.2017, 12:27 На сайте время по Москве
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Мастерская/Workshop » Проекты Tuner's Edge/Tuner's Edge Projects » Programming blog (И снова я.)
Programming blog
}0RIC)-(Дата: Среда, 28.08.2013, 08:37 | Сообщение # 1
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Всем привет . Внезапно ко мне в голову пришла идея вести блог по программированию: записывать все что делаю, структурировать знания, все в голове не удержишь ведь. Так вот, создаю тему здесь, ведь форум все ровно пустует, а создавать ради этой идеи отдельный блог как-то не хочется.
 
}0RIC)-(Дата: Среда, 28.08.2013, 09:58 | Сообщение # 2
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Не так давно я начал изучать MFC, посмотрел несколько гайдов и, понятно дело, ничего не понял. Что ж, придется самому разбираться.
И так, в Visual Studio есть специальный Wisard для создания шаблонов программ. Там есть несколько типов приложения - Single Doc (Один открытый документ) и Multi Doc (Несколько открытых документов). Начнем с сингла... Убрав все лишние галочки при создании (типо печати на принтере, ActiveX контроллов) получаем на выходе:

Ничего лишнего: менюшка, туллбар, иконка, кнопки открыть/закрыть.
В исходных кодах дела обстоят не так просто, начнем с хидеров (*.h файлы), посмотрим что там есть.

MainFrm.h



Судя по всему описано самое главное окно приложения.
В нем содержится туллбар. (стр. 33).
Объявлена карта сообщений (стр. 38)
Макрос DECLARE_DYNCREATE (стр. 12)
И 4 важных метода:
    Конструктор (стр. 11)
    Виртуальный деструктор (стр. 26)
    Функция OnCreate (стр. 37)
    Переобъявленная функция PreCreateWindow (стр. 22)


Сообщение отредактировал }0RIC)-( - Среда, 28.08.2013, 10:03
 
}0RIC)-(Дата: Среда, 28.08.2013, 10:36 | Сообщение # 3
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Resource.h



Ну как видно из названия - ресурсы. Да только не совсем так: здесь лежат просто идентификаторы (номера) ресурсов.
Не очень то их много тут...

    SingleDoc1.h



Здесь описан класс самого приложения. По задумке мелкомягких каждое приложение это отдельный объект.
Здесь он и объявляется (стр. 32)

Тут тоже не очень много методов:
    Конструктор (стр. 20)
    Переобъявленная функция InitInstance (стр. 25)
    Функция отклика на сообщение OnAppAbout (стр. 28)

Ну и объявление карты сообщений.

    SingleDoc1Doc.h



Класс документа приложения. Каждое приложение (сингл) работает со своим документом. Например в нем могут содержаться данные о 3D объекте. Его можно открыть, сохранить, создать новый, изменить и.т.д.

Итак, у него есть:
    Макрос DECLARE_DYNCREATE
    Карта сообщений.
    Конструктор (стр. 12)
    Виртуальный деструктор (стр. 32)
    Переобъявленная функция OnNewDocument (стр. 23)
    И еще немного непонятных методов.
 
}0RIC)-(Дата: Среда, 28.08.2013, 10:51 | Сообщение # 4
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
И последний значимый хидер SingleDoc1View.h



Это по-сути вьювпорт. У каждого сингл приложения может быть открыт одновременно только 1 документ, но его можно просматривать с нескольких так скажем "ракурсов". Если это сцена, то можно одновременно просматривать ее в поле рендера и в поле иерархии. А можно просто рендер с разных сторон.

В этом и заключается концепция Документ/Вид.

Так, в этом классе:
    Конструктор (стр. 11)
    Макрос DECLARE_DYNCREATE
    Функция GetDocument, с помощью которой можно получить документ, который отображается.
    Переобъявленная функция OnDraw, которая как раз и рисует этот документ.
    Переобъявленная функция PreCreateWindow.
    Виртуальный деструктор.
    Объявление карты сообщений.
 
}0RIC)-(Дата: Вторник, 03.09.2013, 17:54 | Сообщение # 5
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Так, теперь разберемся с ресурсами:

Тут у нас какой-то Accelerator IDR_MAINFRAME, в котором видимо прописываются горячие клавиши.


Дальше идет диалог IDD_ABOUTBOX 


2 Иконки:
IDR_MAINFRAME
IDR_SingleDoc1TYPE


Менюшка IDR_MAINFRAME


...
 
Форум » Мастерская/Workshop » Проекты Tuner's Edge/Tuner's Edge Projects » Programming blog (И снова я.)
Страница 1 из 11
Поиск:


Эксклюзивные моды для San Andreas и NFS © Все права защищены. Дизайн данного сайта Полностью Принадлежит Администратору Сайта Эксклюзивные  моды для San Andreas и NFS 2017 | Сайт оптимизирован под браузер Opera ,Firefox. Sitemap | Sitemap-forum.
Дизайн данного сайта полностью принадлежит администратору сайта.