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

         

В ней мы просто отодвинем


В ней мы просто отодвинем окно диалога, чтобы оно при появлении на экране не заслоняло график. Другие установки должны происходить автоматически:

BOOL CParamDlg::OnInitDialog(void) {

CDialog:rOnlnitDialog();

CRect r;

//===== С помощью контекста устройства

//===== узнаем размеры всего экрана CClientDC dc(this);

int w = dc.GetDeviceCaps(HORZRES);

int h = dc.GetDeviceCaps(VERTRES);

//===== Узнаем размеры окна диалога GetWindowRect(&r);

//===== Смещаем его вправо и вниз

r.OffsetRect(w-r.right-10,h-r.bottom-30);

MoveWindow(Sr);

return TRUE;

}

В данный момент полезно запустить приложение и поучиться сражаться с ошибками, которые вызваны тем, что классы приложения не очень хорошо знакомы между собой. Добавьте директиву:

#include "ChildView.h"

в список директив файла ParamDlg.cpp, а также директиву

#include "ParamDlg.h"

в список директив файла ChildView.cpp. После этого исправления вы увидите еще одно сообщение об ошибке, которое напомнит вам о том, что еще не реализована работа с диалогом в немодальном режиме. Для этого надо немного потрудиться. Введите в класс CChildView реакцию на событие выбора пользователем команды меню ID_EDIT_PARAMETERS. Напомним, что это делается с помощью кнопки Events окна Properties. В обработчике мы открываем диалог в немодальном режиме:

void CChildView::OnEditParameters(void) {

//===== Если диалог не открыт,

if (!m_pDlg)

{

//== Динамически создаем объект диалогового класса

m_pDlg = new CParamDlg(this);

//== и после этого создаем окно диалога

m_pDlg->Create(IDD_PARAM);

}

}

В окне свойств для формы диалога установим в True свойство visible. В классе cParamDlg следует переопределить виртуальную функцию PostNcDestroy, в теле которой необходимо освободить память, занимаемую объектом диалогового класса:

void CParamDlg::PostNcDestroy(void)

{

delete this;

}

После этого диалог должен работать. Задайте точечный источник поля в узле 100, и вы увидите график решения, которое имеет вид, показанный на рис. 11.5.





Рис. 11.5. Управление параметрами краевой задачи из диалога





Рис. 11.6 Распределение поля в неоднородной среде при наличии осточнтков




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







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий