Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Return sin(t);






}

Добавьте в проект новый ресурс – диалоговую панель для ввода данных IDD_DIALOG_INPUT, свяжите ресурс с новым классом MFC – назовите его CInputDlg.

Разместите на диалоговой панели IDD_DIALOG_INPUT элементы управления: Edit Box – для ввода данных и Static – для поясняющих подписей; создайте с помощью ClassWizard переменные для элементов Edit Box.

Свойства элементов управления и имена связанных с ними переменных приведены в табл. 21.3.

Таблица 21.3

Элемент управления Идентификатор ID Подпись (Caption) Переменная Начальное значение переменной
Static IDC_STATIC Количество точек  
Static IDC_STATIC Начальное значение x  
Static IDC_STATIC Конечное значение x  
Edit Box IDC_EDIT1 m_num  
Edit Box IDC_EDIT2 m_xBegin  
Edit Box IDC_EDIT3 m_xEnd  

Установите начальные значения переменным, для этого с помощью ClassWizard добавьте в класс CInputDlg метод OnInitDialog() и отредактируйте его:

BOOL CInputDlg:: OnInitDialog()

{

CDialog:: OnInitDialog();

//TODO: Add extra initialization here

m_num=10;

m_xBegin=0;

m_xEnd=9;

UpdateData(FALSE);

return TRUE; //return TRUE unless you set the

//focus to a control

//EXCEPTION: OCX Property Pages should

//return FALSE

}

Отредактируйте функцию OnInitDialog() главной диалоговой панели:

BOOL CDialogsDlg:: OnInitDialog()

{

CDialog:: OnInitDialog();

//Set the icon for this dialog. The

//framework does this automatically

//when the application's main window

//is not a dialog

SetIcon(m_hIcon, TRUE); //Set big icon

SetIcon(m_hIcon, FALSE); //Set small icon

//TODO: Add extra initialization here

new_data=0; //Новые данные отсутствуют

return TRUE; //return TRUE unless you set

//the focus to a control

}

С помощью ClassWizard создайте функции, обрабатывающие выбор команд меню главной диалоговой панели.

Команда Выход:

void CDialogsDlg:: OnExit()

{

OnOK();

}

Команда Ввод данных:

void CDialogsDlg:: OnInputdata()

{

CInputDlg inputdlg; //Создание объекта –

//панели диалога

new_data=inputdlg.DoModal();

//Функция DoModal() возвращает значение 1,

//если была нажата клавиша OK, или значение 2,

//если была нажата клавиша Cancel

if (new_data==1)

{

if (inputdlg.m_num > 1)

{

n=inputdlg.m_num;

x_begin=inputdlg.m_xBegin;

x_end=inputdlg.m_xEnd;

}

Else

{

MessageBox(" Ошибка вода данных");

new_data=0;

}

}

}

При нажатии кнопки ОК диалоговой панели inputdlg происходит обновление переменных, связанных с элементами управления (табл. 21.3).

Команда Вычисление:

void CDialogsDlg:: OnCalculate()

{

//TODO: Add your command handler code here

if (new_data==1)

{

Int i;

CString str;

double dx=(x_end-x_begin)/(n-1);

x=x_begin;

M_Result.ResetContent();

for(i=0; i< n; i++)

{

y=f(x);

str.Format(" %3d %6.2lf %6.2lf", i+1, x, y);






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.