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

Простое приложение и шаблон. Рисование эллипса. Рисование сегмента. Рисование сектора. Рисование прямоугольника.

Читайте также:
  1. V Приложение II
  2. Анализ карты мотиваторов Приложение 3
  3. В том-то и дело, - пояснил учитель, - хотя и там, и тут простое стекло, второе просто слегка припудрено серебром.
  4. Вместе с Товаром Поставщик обязуется передать Покупателю документы на него, указанные в Спецификации (Приложение N 1).
  5. Глава 9 Простое решение
  6. Глава XL; Рисование
  7. Задание 1. Рисование примитивов. Автоматическая анимация

Для рисования эллипса или окружности применяется функция Ellipse(). Центром эллипса является центр воображаемого прямоугольника, заданного точками (х1, у1) и (х2, у2).

Поскольку эллипс — замкнутая фигура, его можно закрасить.

Вызов функции выглядит так:

Ellipse (hdc,x1,y1,x2,y2)

Параметр hdc задает контекст устройства, остальные параметры имеют тип int. Функция возвращает значение типа BOOL.

Для рисования сектора эллипса используется функция Pie(). Центр дуги эллипса совпадает с центром прямоугольника, задаваемого точками (х1, у1) и (х2, у2). Дуга проводится между точками (хЗ, уЗ) и (х4, у4) в положительном направлении (против часовой стрелки). Концы дуги соединены отрезками с центром эллипса. Сектор также является замкнутой фигурой и закрашивается текущей кистью. Функция вызывается так:

Pie(hdc,x1,y1,x2,y2,x3,y3,x4,y4}

Функция Rectangle() рисует прямоугольник, заданный точками (х1, у1) и (х2, у2). Как и другие замкнутые фигуры, прямоугольник закрашивается текущей кистью. Вызов функции выглядит так:

 

Rectangle (hdc, х1,у1,х2,у2)

Параметр hdc задает контекст устройства, остальные параметры имеют тип int. Их значения не должны превосходить 32 767 (7FFFH).

Шаблоны приложения. Использование шаблона для создания программы, изображающей синусоиду. Файлы заголовков Windows. Файлы ресурсов. Создание программы для вывода круговых диаграмм.

пример демонстрирует использование шаблона для разработки простого приложения, которое будет изображать в своем окне синусоиду. Ниже приведен файл определения модуля для этого приложения.

 

NAME 22SINE

DESCRIPTION 'Simplified Windows Platform'

;Упрощенное приложение Windows

EXETYPE WINDOWS

STUB 'WINSTUB.EXE'

CODE PRELOAD MOVEABLE DISCARDABLE

DATA PRELOAD MOVEABLE MULTIPLE

HEAPSIZE 4096

EXPORTS WindowProc @1

Рисование синусоиды происходит при обработке сообщения WM_PAINT. При помощи нескольких обращений к MoveTo() и LineTo() изображаются координатные оси:

/* проводим координатные оси х и у */

MoveToEx(hdc,100,50,NULL);

LineTo(hdc,100,350);

MoveToEx(hdc,100,200,NULL);

LineTo(hdc,500,200);

MoveToEx(hdc,100,200,NULL);

 

Синусоида масштабируется непосредственно при рисовании. В этой программе амплитуда синуса составит 120 точек. Для вычисления синусов применяется функция sin(), объявленная в МАТН.Н. Для преобразования градусов в радианы необходима константа pi.

 

/* рисуем синусоиду */

for (i=0;i<400;i++) {

y=120.0*sin(pi*i* (360.0/400.0/180.0);

LineTo(hdc,i+100, (int) (200.0-у));

}

 

 

Команда New позволяет дать имя файлу проекта. Затем появится возможность командой Add добавлять компоненты, необходимые для сборки приложения. Как правило, здесь указывают только файлы с исходными текстами (.С или.СРР), файлы ресурсов (.RC) и файл определения модуля (.DEF).

В заголовочном файле(имя.H) находятся константы, используемые для идентификации различных пунктов меню и элементов окон диалога.

В файле ресурсов (имя.RC) содержится описание курсора мыши, меню,окон диалога.

Управление окном Windows. Понимание полос прокрутки. Терминология полос прокрутки. Константы полос прокрутки. Диапазон полосы прокрутки. Положение полосы прокрутки. Типы полос прокрутки.

При необходимости приложение может отобразить вертикальную полосу прокрутки (scroll bar). Она расположена непосредственно снизу от кнопки развертывания окна и имеет на концах две кнопки со стрелочками вверх и вниз, а также бегунок, перемещающийся между этими кнопками. Одно из лучших применений вертикальной полосы прокрутки — быстрое перемещение по многостраничному документу. Эту возможность используют многие текстовые процессоры, например, Microsoft Word for Windows и Word Perfect.

Горизонтальная полоса прокрутки работает аналогично вертикальной, позволяя выбирать горизонтальное смещение окна в пределах документа. Одно из лучших применений горизонтальной полосы прокрутки — быстрое перемещение по столбцам электронной таблицы. Этой возможностью пользуется, например, электронная таблица Microsoft Excel.

Для создания полос просмотра достаточно в стиле редактора указать константы WS_HSCROLL и WS_VSCROLL

 

Использование графических и звуковых ресурсов в приложениях. Использование редактора ресурсов. Добавление пиктограмм. Добавление курсоров. Добавление битовых образов. Использование фонографа (Sound Recorder).

Запустить любой редактор ресурсов можно командой Resource|New.

Редактор значков Icon Editor и редактор курсоров Cursor Editor позволяют создавать растровые изображения, не зависящие от целевого устройства. Значки и курсоры, создаваемые этими редакторами, не будут зависеть от разрешающей способности устройства, на котором они будут отображаться.

Создать значок или курсор очень легко. Сначала выберите New из меню Resource. Затем выберите нужный тип ресурса из предложенного списка (Bitmap — растровое изображение, Icon — значок, Cursor — курсор).

Редактор дает возможность выбора из широкого спектра цветов для значков и разнообразных смешанных цветов для курсоров.

Специальный фонограф - Sound Recorder, предназначен для записи и воспроизведения звука

Разработка ресурсов меню и акселераторов клавиатуры. Основные понятия меню. Назначение меню. Ресурсы меню и компилятор ресурсов. Зарезервированные слова и опции меню. Создание акселераторов(быстрые клавиши) клавиатуры.

Оконное меню (system menu) вызывается щелчком на кнопке (или значке) оконного меню. В это меню входят стандартные команды управления окном: Restore (восстановить). Move (переместить), Size (изменить размер), Minimize (свернуть), Maximize (развернуть), Close (закрыть).

Информацию о ресурсе меню можно компилировать при помощи компилятора ресурсов. Результат компиляции (файл.RES) будет встроен в программу на этапе компоновки, в результате чего получится исполняемый файл (.ЕХЕ).

Понять структуру простого меню довольно легко. Вот файл описания ресурса:

 

PIEMENU MENU LOADONCALL MOVEABLE PURE DISCARDABLE

BEGIN

POPUP "Pie_Chart_Data" - подменю

BEGIN

Menultem "About Box...", IDM_ABOUT

Menultem "Data Entry...", IDM_INPUT

Menultem "Exit", IDM_EXIT

END

END

Вместо слов BEGIN и END можно использовать фигурные скобки ({}).About Box..., Data Entry... и Exit. Многоточие, следующее за названием пункта, указывает, что соответствующая команда вызывает появление окна диалога.

Если определено слишком много подменю, названия автоматически переносятся на следующую строку в главном меню. В любой момент может быть активно не более одного подменю. В названии пункта меню можно использовать символ амперсанд (&) для того, чтобы следующая за ним буква стала подчеркнутой. Каждая строка, начинающаяся ключевым словом MENUITEM, определяет один пункт меню, например "Data Entry".

Справа от названия пункта находится его идентификатор или константа. Числовые значения можно заменить идентификаторами, определенными в заголовочном файле, — например, IDM_ABOUT 40, IDM_INPUT 50 и IDM_EXIT 70 (необязательно). IDM означает, что это идентификатор пункта меню.

Быстрые клавиши чаще всего используются создателями меню в качестве "клавиш быстрого доступа" для обращения к командам меню.

 

Использование ресурсов диалоговых окон. Описатели и виды диалоговых окон. Редактор диалогов фирмы Microsoft. Необходимость редактор диалогов. Использование редактора ресурсов компилятора. Разработка простого диалогового окна About.

предпочтительным способом ввода является использование окна диалога. Окна диалога позволяют пользователям отмечать элементы в списке, устанавливать флажки опций, вводить строки и числа непосредственно с клавиатуры. Начиная с Windows 3.0, в окно диалога также может входить поле со списком. Окно диалога может быть одного из двух основных типов — модального (все остальные элементы данной программы становятся недоступными для пользователя до тех пор, пока он не закроет окно диалога, нажав кнопку ОК или Cancel (Отмена).)

и немодального (пользователь имеет возможность переключаться между окнами)

редакторов ресурсов - можно обратиться посредством команды Resource|New. позволяют быстро создавать значки, курсоры и растровые изображения. позволяют дополнить программу элементами для взаимодействия с пользователем, такими, как меню, клавиши доступа и окна диалога.

PIEMENU MENU LOADONCALL MOVEABLE PURE DISCARDABLE

BEGIN

POPUP "Pie_Chart_Data"

BEGIN

Menultem "About Box...", IDM_ABOUT

Menultem "Data Entry...", IDM_INPUT

Menultem "Exit", IDM_EXIT

END

END

Команды About Box... и Data Entry... в примере вызывают появление окна диалога. Как правило, описание окна диалога генерируется редактором диалогов Dialog Editor. Этот редактор рассчитан на считывание и редактирование ресурсов в текстовом формате (.RC) или уже откомпилированных (.RES).

Есть два способа ввести информацию о диалоге в файл ресурса (.RES)

Если вы для своего проекта создаете окно диалога с нуля, вам следует использовать меню Resource, выбрав в качестве редактора Dialog

меню File, чтобы открыть новое окно диалога. Остальные пункты — это Edit, Resource, Layout (расположение), Window и Help. Названия большинства из них говорят сами за себя; отметим лишь самые важные моменты.

· Меню Edit, помимо всего прочего, позволяет быстро вернуться на шаг назад, если в процессе создания окна диалога допущена ошибка. Вы можете также вырезать, копировать, вставлять и удалять элементы, как вы делаете это в большинстве приложений Windows.

· Меню Resource позволит вам увидеть список параметров конкретного управляющего элемента.

· Меню Layout позволит выровнять, разнести и центрировать управляющие элементы, упорядочить кнопки, изменить размеры и так далее.

· Меню Help сообщит дополнительные подробности обо всех перечисленных средствах.

 

описание диалога "О Программе"

 

ABOUTDLGBOX DIALOG DISCARDABLE 50, 300, 180, 80

STYLE DS_MODALFRAME | WS_POPUP

FONT 8, "System"

BEGIN

CTEXT "Microsoft С Pie Chart Program",-1,2,60,176,10,

NOT WS_GROUP

CTEXT "by N.Beloded",-1,2,45,176,10,

NOT WS_GROUP

PUSHBUTTON "OK",IDOK,74,10,32,14

END

 

Разработка диалоговых окон для ввода данных. Реализация простого диалогового окна About. Использование переключателей для выбора графических образов с помощью диалогового окна. Использование диалогового окна для ввода текста и целых чисел. Использование диалогового окна для ввода вещественных чисел.

описание диалога "О Программе"

ABOUTDLGBOX DIALOG DISCARDABLE 50, 300, 180, 80

STYLE DS_MODALFRAME | WS_POPUP

FONT 8, "System"

BEGIN

CTEXT "Microsoft С Pie Chart Program",-1,2,60,176,10,

NOT WS_GROUP

CTEXT "by N.Beloded",-1,2,45,176,10,

NOT WS_GROUP

PUSHBUTTON "OK",IDOK,74,10,32,14

END

Этому окну диалога присвоено имя ABOUTDLGBOX. Далее константы, задающие стиль, указывают, что окно диалога имеет рамку модального окна диалога и является раскрывающимся. В списке перечислены три управляющих элемента. Первый и второй элементы являются статическим текстом. Параметры указывают тип и расположение текста.Третий элемент — кнопка ОК

Хотя можно вводить данные и просто в рабочей области окна, предпочтительным способом ввода является использование окна диалога, поскольку здесь достигается согласованность в работе различных программ Windows.

Окна диалога позволяют пользователям отмечать элементы в списке, устанавливать флажки опций, вводить строки и числа непосредственно с клавиатуры и косвенным образом вводить вещественные числа (с плавающей точкой). Начиная с Windows 3.0, в окно диалога также может входить поле со списком. Поле со списком (combo box) — это сочетание однострочного поля редактирования с окном-списком. Окно диалога для программиста является ключевым элементом при организации в программе Windows ввода нетривиальных данных. Диалог также облегчает жизнь программиста, поскольку Windows берет на себя часть необходимых забот о нем.

Окна диалога вызываются при выборе команды из меню и появляются в виде раскрывающихся окон. Команда, которая вызывает появление окна диалога, обычно помечается многоточием после названия. Команды About Box... и Data Entry... вызывают появление окна диалога.

Инструмент "переключатель" создает небольшой кружок, называемый переключателем, справа от которого расположен пояснительный текст. Как и флажки, переключатели обычно собраны в группы. В то же время, в отличие от флажков, лишь один переключатель в группе может быть включен в данный момент.

Инструмент "статический текст" позволит вставлять в окно диалога строку текста. Его можно использовать, например, чтобы создать заголовок для редактора.

Поле со списком состоит из двух элементов. Оно представляет собой комбинацию однострочного редактора (называемого также статическим текстом) и списка. С его помощью пользователь может ввести что-либо в редактор или прокручивать список в поисках подходящего варианта. В Windows существует несколько разновидностей полей со списком.

Инструмент "редактор текста" создает небольшой прямоугольник, куда пользователь может вводить информацию в виде строк. Размер элемента редактора можно изменять, чтобы в нем помещался текст нужной длины. Строковая информация может обрабатываться непосредственно как символьное или целое значение, а также путем преобразования, как вещественное число. Редактор обычно употребляется для ввода данных.

Некоторые диалоговые окна используют поля редактирования, которые позволяют пользователю вводить числа. Процедура блока диалога может извлечь число из поля редактирования, используя функцию GetDlgItemInt, которая извлекает текст из элемента редактирования и преобразует текст в десятичные значения. Пользователь вводит число десятичными цифрами. Оно может быть или знаковое или без знака. Процедура диалогового окна может отображать целое число, используя функцию SetDlgItemInt. Эта функция преобразует знаковое или беззнаковое целое число в строку десятичных цифр.


Дата добавления: 2015-12-08; просмотров: 57 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.016 сек.)