Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
ID_SEPARATOR, // status line indicator
Содержание книги
- Макросы-компоненты карты сообщений
- afx_msg void OnLButtonUP(UINT nFlags, CPoint point);
- Nmhdr *pnotifystruct, //указатель на структуру с данными
- Посылает сообщение в объект класса cwnd или его потомка, непосредственно вызывая оконную процедуру, и не выходит из нее, пока та не обработает сообщение;
- strMessageText.Format("Error number %d", nError);
- Архитектура «Документ-представление» и MDI-приложения
- HMENU CMDIChildWnd::m_hMenuShared
- дескриптор меню, ассоциированного с окном “MDI child”.
- CDocument* CView:: GetDocument()
- Динамическое создание с помощью конструктора
- virtual POSITION CDocument::GetFirstViewPosition()
- Класс шаблона cdoctemplate в приложении отвечает за взаимодействие документов, их представлений и фреймов. В MDI приложении используется его потомок cmultidoctemplate.
- CMultiDocTemplate* pDocTemplate;
- CFrameWnd* pFrame,CDocument* pDoc, BOOL bMakeVisible=TRUE);
- POSITION CWinApp::GetFirstDocTemplatePosition()
- Документ, связанный с активным представлением
- AFX_THREADPROC pfnThreadProc, // Глобальная функция потока
- UINT Msg, // идентификатор сообщения
- Solver* pSolver; //Solver to use
- virtual CDocument* CFrameWnd::GetActiveDocument()
- SendMessage(WM_COMMAND,ID_FILE_SAVE,0);
- while (::GetMessage(&msg, NULL,0,0))
- Объекты, объявленные как volatile, не подвержены оптимизации и временному хранению в регистрах, но читаются и записываются каждый раз напрямую в память.
- if (!m_thisThreadParams.pResults) return 1;
- if (m_thisThreadParams.pResults)
- ID_SEPARATOR, // status line indicator
- m_wndStatusBar.SetPaneText(1,"");
- TODO: Add your message handler code here
- Нажимаем на элементе “решить” мышку и переносим его на место между пунктами ”window” и ”help” (для порядка).
- Separator – элемент представляет собой горизонтальную разделительную линию
- Object IDs:-> IDM_SOLVE_CONV.
- Шаблон диалога, хранящийся в файле ресурсов, описывает форму, размер и расположение на экране блока диалога и каждого из его внутренних элементов управления.
- CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/)
- правой кнопкой)->Ok->Properties->ID:"IDC_START"
- В правом верхнем углу ставим Static Text "&Начальная точка:".
- Имя этого класса должно обязательно (. ) соответствовать вашему методу решения задачи выпуклой оптимизации. Иначе задача на практике приниматься не будет.
- class CMyDialog : public CDialog
- BOOL cwnd::updatedata( BOOL bsaveandvalidate = TRUE )
- void CMyDialog::DoDataExchange(CDataExchange* pDX)
- Vs2005: правой кнопкой на элементе -> Add variable)
- View->ClassWizard->Message Maps->ClassName:"CDFPDialog"->
- int CListBox::AddString( LPCTSTR lpszItem )
- int CListBox::DeleteString( UINT nIndex )
- обновляет содержимое элементов управления на экране
- void CDFPDialog::OnSelchangeCoordList()
- BOOL cwnd::enablewindow(bool benable = TRUE)
- int FuncNum; //Номер целевой функции
- Критическая секция, ее применение в нашем проекте
- И на каждой итерации перед обновлением поля goalvalue вставим
- ResourceView->Optimizer resources –R->
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
ID_SEPARATOR – секция для строки сообщений
ID_INDICATOR_CAPS – индикатор состояния клавиши <Caps Lock>
ID_INDICATOR_NUM – индикатор состояния клавиши <Num Lock>
ID_INDICATOR_SCRL – индикатор состояния клавиши <Scroll Lock>
Функция
CStatusBar::SetIndicators(const UINT * lpIDArray, int nIDCount)
устанавливает идентификатор каждой области в значение, заданное соответствующим элементом массива индикаторов lpIDArray, загружает для них строки ресурса и приводит строку состояния в соответствие с содержимым массива lpIDArray. Параметр nIDCount определяет число элементов в массиве.
В каркасе нашего приложения строка состояния главного окна уже создана в методе CMainFrame::OnCreate и размещена в приватной переменной
CStatusBar m_wndStatusBar;
Для вывода текста в строку состояния часто используется метод
CStatusBar::SetPaneText(int nIndex, LPCTSTR lpszNewText)
записывает текст, на который указывает lpszNewText, в область строки состояния, заданную номером nIndex.
Наша задача – поместить на время счета в строку состояния строчку "РАСЧЕТ" в отдельном поле, созданном нами для этого флага. Если в настоящее время вычисления не ведутся, поле должно быть пустым. Кроме того, при переключении в другие фреймы MDI-child состояние этого поля должно отображать наличие или отсутствие вычислений в текущем окне.
Сначала заведем новое поле в строке состояния. Для этого создадим строку-идентификатор для этого поля в файле ресурсов: ResourceView->Optimizer resources->String table-> String table (double click) и выберем двойным щелчком последнюю (пустую) строку в таблице ресурсных строк. В окошке String Properties в поле Caption: набираем нашу строку: “РАСЧЕТ” и введем в поле ID: имя ее идентификатора, например, “ID_SOLVE”. Жмем <Enter>- и новая строка добавлена в список.
Добавляем вторым элементом массива indicators в файле "MainFrm.cpp" строку с именем нового ресурса ID_SOLVE. Запустив проект Вы сможете полюбоваться на новое поле в строке состояния, соответствующее по размеру слову "РАСЧЕТ" и заполненное знаками вопроса (значение не определено).
Для того, чтобы его инициализировать, добавим в CMainFrame::OnCreate после создания строки состояния вызов SetPaneText:
|