void CDFPDialog::OnSelchangeCoordList() 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

void CDFPDialog::OnSelchangeCoordList()

Поиск

void CDFPDialog::OnSelchangeCoordList()

{

CString s;

int i=m_cCoordList.GetCaretIndex();

m_cCoordList.GetText(i,s);

sscanf(s,"%lf",&m_dCoordinate);

UpdateData(FALSE);

}

 

Аналогично создаем обработчик сообщения о потере фокуса списком (в этом случае также необходимо обновить содержимое элемента редактирования).

 

Инициализация переменных

 

В конструкторе диалога CDFPDialog::CDFPDialog исправляем значения, предложенные ClassWizard:

m_iFuncNumber=0;

m_dPrecision=1e-3;

m_iDimension=3;

m_dCoordinate=0;

 

Инициализацию списка нужно делать уже после того как созданы элементы управления, поэтому мы вынесем ее в обработчик WM_INITDIALOG:

 

View->ClassWizard->Message Maps->ClassName:"CDFPDialog"->

Object IDs:"CDFPDialog"->Messages:"WM_INITDIALOG"->

Add Function->Edit Code

 

Вводим в заготовку OnInitDialog() перед оператором return TRUE;

       ResetCoordList();

 

Некоторые замечания по работе с диалогом решения задачи выпуклой оптимизации

 

Запуск и выход из рабочего потока можно организовать по аналогии с рабочим потоком решателя задачи из файла. Однако, в случае, если пользователь никак не изменил начальный вектор, предложенный ему по умолчанию, необходимо вывести соответствующее информационное окно с кнопками "Ok" и "Cancel" и пиктограммой вопроса:

if (m_bDefaultCoords)

{

if (::AfxMessageBox("Start with the default initial vector?", MB_OKCANCEL|MB_ICONQUESTION)==IDCANCEL) return;

}

Здесь мы используем результат, возвращаемый функцией AfxMessageBox. Это значение совпадает константой, которая идентифицирует выбранную пользователем кнопку.

 

Вместо изменения содержимого строки состояния теперь мы обойдемся сменой состояний кнопок "Start" и "Stop": сделаем неактивным окно элемента управления IDC_START и, наоборот, активизируем окно элемента управления IDC_STOP. Для этого воспользуемся упоминавшейся выше функцией GetDlgItem и методом

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 44; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)