Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Наша программа должна выводить в рабочую область окна приложения две строки. Одна из них должна отображать все элементы массива, а другая, расположенная ниже, отображать на экране значение максимального элемента.
Чтобы проделать эти манипуляции, воспользуемся обработчиком сообщения WMPAINT. Когда приложение получает такое сообщение, это означает, что необходимо выполнить частичную или полную прорисовку окна.
Такое сообщение посылает приложению операционная система, например при образовании окна приложения в момент запуска программы. В это время вызывается функция updatewindow, которая вынуждает систему отправить сообщение WMPAINT приложению.
В функции обратного вызова wndProc определим следующие переменные: char buf[16] ;
float xarray[9] = {12.43, 93.54, -23.1, 23.59, 16.09,
10.67, -54.7, 11.49, 98.06}; .
float *xres;
int cnt;

Строка buf используется для хранения результата преобразования вещественного числа в текст. Далее определен массив вещественных чисел xarray с 9-ю элементами. Нам понадобится указатель вещественного типа (назовем его xres) и счетчик цикла (cnt) для вывода всех 9-ти элементов на экран.
Следующий программный код в обработчике WMPAINT выводит две строки на экран (листинг 3.40).
Интерфейс с языками высокого уровня 179
Листинг 3.40. Фрагмент кода из обработчика WMJPAINT
: ОКОННОЙ Процедуры WndProc
TextOut (hdc, 30, 80, "ARRAY: ", 7) ;
for (cnt = 0; cnt < 9; cnt++)
{
gcvt(xarray[cnt], 6, buf);
TextOut(hdc, 100 + cnt*50, 80, buf, 5);
}
TextOut(hdc, 30, 100, "MAXIMUM: ", 9);
xres = maxreal(xarray, 9) ;
gcvt(*xres, 5, buf);
TextOut(hdc, 220, 100, (LPCTSTR)buf, 5);


 
 
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru