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




Диалог для исследования решений


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

Так как диалог будет вызываться по команде меню, откройте в окне редактора ресурс меню IDR_MAINFRAME и приведите его в соответствие со следующей схемой. В меню File должна быть только одна команда Exit, в меню Edit уберите все команды и вставьте одну команду Parameters, индекс (ID_EDIT_PARAMETERS) ей будет присвоен автоматически. Остальные меню оставьте без изменения. С помощью редактора диалогов создайте новое диалоговое окно (форму), которое имеет вид, изображенный на рис. 11.4. Типы элементов управления, размещенных в окне диалога, и их идентификаторы сведены в табл. 11.1. Затем создайте класс для управления диалогом.

  • Вызовите контекстное меню в форме диалога и выберите команду Add Class.

  • В качестве типа класса выберите MFC Class.

  • В окне мастера MFC Class Wizard задайте имя класса CParamDlg, базовый класс CDialog, идентификатор диалога: IDD_PARAM и нажмите кнопку Finish.

    Рис. 11.4. Форма диалога для управления параметрами краевой задачи

    Таблица 11.1. Идентификаторы элементов управления

    Вручную введите изменения в файл с объявлением класса, так чтобы он стал: ftpragma once

    class CParamDlg : public CDialog {

    //===== Будем общаться с окном

    friend class CChildView;

    DECLARE_DYNAMIC(CParamDlg)

    public:

    //===== Будем помнить его адрес

    CChildView *m_pView;

    //===== В конструкторе запросим его адрес

    CParamDlg(CChildView* р) ;

    virtual ~CParamDlg () ;

    // Dialog Data

    enum { IDD = IDD_PARAM );

    protected:

    virtual void DoDataExchange(CDataExchange* pDX) ;

    DECLARE_MESSAGE_MAP() );

    Для всех четырех кнопок на форме диалога создайте обработчики уведомлений, или, используя терминологию Microsoft, Control Event типа BN_CLICKED. Вы помните, что это делается с помощью небольшой кнопки Control Event, которая расположена на панели инструментов окна Properties.


    Содержание  Назад  Вперед