Создание меню position, edit и кнопок панели инструментов

      Комментарии к записи Создание меню position, edit и кнопок панели инструментов отключены

ВВЕДЕНИЕ __________________________________________________________________ 3

РАСЧЕТ КООРДИНАТ ТОЧЕК МЕХАНИЗМА __________________________________________ 4

2.1. Исходные данные ______________________________________________________ 4

2.2. Расчет координаты точки B ____________________________________________ 5

2.3. Расчет координаты точки C ____________________________________________ 5

2.4. Расчет координаты точки D ____________________________________________ 6

2.5. Расчет координаты точки E ____________________________________________ 7

Этапы программирования ____________________________________________________ 8

3.1. Создание проекта “Motor” _____________________________________________ 8

3.2. Создание меню Position, Edit и кнопок панели инструментов ____________ 9

3.3. Ввод основных переменных ____________________________________________ 11

3.4. Функции для расчета координат точек C, D и E ________________________ 12

3.5. Функция вывода на экран текущих значений параметров _________________ 13

3.6. Функции отрисовки механизма _________________________________________ 14

3.7. Связывание кода со средствами пользовательского интерфейса __________ 19

3.8. Создание диалогового окна “Parameters” ______________________________ 20

3.9. Изменение параметров механизма с помощью диалогового окна ___________ 21

3.10. Диалоговое окно “About Motor” ______________________________________ 22

ЗАКЛЮЧЕНИЕ _______________________________________________________________ 23

4.1. Исходный текст программы ____________________________________________ 23

4.1.1. MotorView.h ____________________________________________________ 23

4.1.2. MotorView.cpp __________________________________________________ 24

4.1.3. DlgParameters.h ________________________________________________ 30

4.1.4. DlgParameters.cpp ______________________________________________ 31

4.2. Пояснение сносок ____________________________________________________ 33

1. Введение

Данная работа содержит программу, которая отображает на экране заданный механизм в каком-либо одном или сразу в нескольких положениях, также имеет возможность изменения размеров звеньев в разумных пределах, не нарушая целостности механизма, путем вызова специального диалогового окна.

После запуска приложения в окне появляется механизм с начальными параметрами. С помощью кнопок на панели инструментов, пользователь может поменять положение механизма (кнопки “previous” и “next”), вызвать диалоговое окно (кнопка “parameters”) с параметрами механизма.

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

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

Расчет координат точек механизма

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

Исходные данные

Рис. 2.1. Схема механизма

Дано:

Задание:

Написать программу на языке Visual C++, в которой бы осуществлялось отображение модели заданного механизма с возможностью: а) просмотра какого-либо одного положения, или сразу нескольких положений механизма, б) изменять посредством ручного ввода через диалоговое окно параметры механизма, в) просмотра какого-либо одного положения, или сразу нескольких положений механизма с измененными параметрами.

2.2. Расчет координаты точки

Рис. 2.2.

Формулы расчета координат:

;

.

Рис. 2.3.

2.3. Расчет координат точки

Формулы для расчета координат:

;

Найдем расстояние :

;

Расчет и :

;

.

2.4. Расчет координаты точки

Рис. 2.4.

Местоположение звена будет определяться углом , найдем этот угол:

.

Используя теорему синусов найдем углы и :

,

,

где , а находим из теоремы косинусов:

.

Формулы для расчета координат:

;

.

2.5. Расчет координат точки

Рис. 2.5.

Расчет осуществляется следующим образом: т. к. точка перемещается по известной нам прямой, а координаты точки мы уже рассчитали, то будем перемещать точку от (вытекает из аксиомы о длине стороны треугольника, которая гласит, что длина стороны треугольника не может быть меньше модуля разности двух других его сторон), при этом измеряя расстояние , до тех пор, пока оно не будет равно , т. е. пока точка не сольется с искомой точкой E.

Программа расчета координат точки находится в пункте 3.4.

Этапы программирования

3.1. Создание проекта “Motor”

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

Рис. 3.1.1. Начало создания новой программы с помощью мастера AppWizard

1) Запустим Microsoft Visual C++ 6.0 и выполним команду FileaNew; открывается окно диалога New (рис. 3.1.1).

2) Выберем из списка строку MFC AppWizard (exe).

3) Введем в текстовом поле Project Name имя проекта (например, Motor).

Рис. 3.1.2. MFC AppWizard упрощает создание программ на Visual C++

4) Нажмем кнопку ОК, чтобы запустить мастер Visual C++ AppWizard (рис. 3.1.2).

Рис. 3.1.3. Окно New Project Information MFC AppWizard

5) Установим переключатель Multiple Document и нажмем кнопку Finish – откроется окно New Project Information (рис. 3.1.3).

6) Нажмем кнопку ОК, чтобы завершить создание проекта.

Создание меню Position, Edit и кнопок панели инструментов

Рис. 3.2.1. Построение Меню

1) Откроем редактор меню (см. рис. 3.2.1).

2) Удалим все команды меню, которые нам не понадобятся.

3) Включим в меня Edit команду Parameters. Создадим меню Position и включим в него три команды: Initial, Previous, Next.

4) Двойным щелчком мыши на панели откроется окно Menu Item Properties (рис. 3.2.2), в поле Caption введем название меню (Position).

Рис. 3.2.2. Добавление команды меню

5) По аналогии создаются команды подменю.

6) Теперь необходимо присвоить каждой новой команде меню свой идентификатор. Для этого опять вызовем Menu Item Properties, и в поле ID введем следующие идентификаторы:

Объект Свойство Установка
Menu IDCaption ID_PARAMETERSParameters
Menu IDCaption ID_INITIALInitial
Menu IDCaption ID_PREVIOUSPrevious
Menu IDCaption ID_NEXTNext

7) Затем откроем панель инструментов программы (рис. 3.2.3).

Рис. 3.2.3. Построение панели инструментов

8) Удалим все кнопки, кроме About (при нажатии на нее, будет открываться диалоговое окно, в котором будет содержаться информация о программе), и создадим четыре новых кнопки, (каждый раз, когда вы рисуете что-нибудь на кнопке, редактор добавляет в конец панели новую пустую кнопку). Внешний вид кнопок изображен на рис. 3.2.3.

Рис. 3.2.4. Присвоение идентификаторов кнопкам панели инструментов

9) Далее необходимо связать кнопки с соответствующими командами меню, для этого дважды щелкните на кнопке и выберите идентификатор команды меню из списка ID диалогового окна Properties. Пример показан на рис. 3.2.4.

10) Итак, основные средства пользовательского интерфейса – команды меню и кнопки панели инструментов готовы. Теперь необходимо связать их с кодом программы (кнопка Parameters и соответствующая ей команда меню, будут вызывать диалоговое окно, которое мы создадим немного позже).

Ввод основных переменных

1) Начнем с объявления необходимых переменных. Для этого откроем файл MotorView.cpp.

2) Так как размеры звеньев большие, а нам нужно отобразить на экране монитора только модель механизма, то в программе примем за длины звеньев относительные единицы: , , , . Если умножить эти значения на коэффициент , то размерностью звеньев будет — пиксель. Для удобства расположения механизма в окне приложения, возьмем . Получается, что каждый сантиметр заданного механизма, на экране будет отображаться четырьмя пикселями.

3) Нам понадобятся число и коэффициент , введем их в начале файла с помощью директивы #defune, чтобы потом в программе вместо чисел подставлять их обозначения. Добавим следующую запись:

a #define PI 3.1415

a #define mn 4 // множитель

а заодно добавим библиотеку math.h, в которой содержатся математические функции (без них нам не обойтись):

a #include “math.h”

4) В конце файла добавляем следующий код:

a int Ox=200, Oy=250, // Координаты точки A

a Bx, By, // Координаты точки B

a Cx, Cy,

a Dx, Dy,

a Ex, Ey,

a AB = 6 * mn, // Длина звена AB

a BC = 35 * mn, // Длина звена BC

a BD = 3 * mn,

a DE = 32 * mn,

a ACx, ACy, // Координаты второй точки кулисы 1

a AEx, AEy;

a double

a a01 = 32.5 * PI/180, // Угол наклона кулисы 1 к горизонтали

a a02 = 327.5 * PI/180,

a a = 0 * PI/180, // Угол наклона кривошипа

a CBD = 75 * PI/180; // Угол между звеньями CB и BD

a POINT

a KC[4], // 4-е точки, по которым рисуется камень С

a KE[4];

a int dK=13; // 2*dK — диагональ камня

a double aK=PI/6; // 2*aK — угол между диагоналями камня

Здесь объявлены переменные, и одновременно им присвоены заданные значения размеров звеньев и углов, а также координаты точки (стойки).

Статьи к прочтению:

Настройка кнопок панели инструментов Excel


Похожие статьи: