Иллюстрированный самоучитель по Visual Studio.Net


Приложение на основе диалога - часть 3


  • использование стандартного диалога по поиску папки; О поиск в реестре Windows.

  • Основная идея приложения заключается в том, что при его открытии происходит попытка с помощью реестра найти файл WinError.h, сканировать его и заполнить динамический контейнер структур с информацией обо всех ошибках. Далее пользователь имеет возможность либо просматривать информацию об ошибках, последовательно проходя по элементам контейнера, либо ввести код ошибки и увидеть результат его трансляции (расшифровки). Форматы битовых полей HRESULT подсказывают состав полей структуры, которую можно использовать для хранения информации об ошибке:

    //====== Тип стуктур для описания ошибок

    struct ErrorType

    {

    string Code;

    // Код ошибки string Identifier;

    // Ее идентификатор string Message;

    // Текстовое описание

    //======= Конструктор с параметрами

    ErrorType(string с, string i, string m)

    {

    Code = c;

    Identifier = i;

    Message = m;

    }

    };

    Так как мы собираемся использовать контейнер структур такого типа, то полезно определить новый тип:

    typedef vector<ErrorType> ERROR_VECTOR;

    Определения такого типа упрощают создание ссылок на контейнеры или на его составные части. Перед тем как мы приступим к разработке приложения, отметим, что MFC-приложения на основе диалога имеют некоторые преимущества перед другими типами приложений. Главным из них является простота структуры классов и возможность пользоваться глобальными функциями MFC для обмена данными между окнами и переменными диалогового класса. Надо признать, что Эти функции (типа DDX_— Dynamic Data Exchange И DDV_ — Dynamic Data Validation) очень удобны и надежны. Конечно, приложения рассматриваемого типа не обладают такими разнообразными возможностями, как приложения типа MDI (Multiple Document Interface), но для определенного класса задач они являются оптимальным выбором.

    Начнем с создания стартовой заготовки приложения, основанного на диалоге. Тип приложения, как вы помните, выбирается с помощью мастера MFC Application Wizard.


    Начало  Назад  Вперед