В ней мы просто отодвинем
В ней мы просто отодвинем окно диалога, чтобы оно при появлении на экране не заслоняло график. Другие установки должны происходить автоматически:
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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий