Главная страница
Навигация по странице:

  • Модуль 1. Реализация команд MSPaint и Calc. Свойства CheckBox

  • Функция запуска программы MSPaint

  • Модуль 2. Рисование в окне курсором мыши

  • Функция нажатия кнопки мыши

  • Модуль 3. Отображения нажатия клавиши на клавиатуре

  • Модуль 4. Запись числа, его считывание и вывод в отдельном окне

  • Функция считывания числа

  • Модуль 5. Программа опрос

  • Функция определения выбора вопроса

  • Модуль 6. Прорисовка окружности

  • Функция прорисовки окружности

  • АндроновМД_МП3120. Федеральное государственное бюджетное образовательное учреждение высшего образования московский авиационный институт


    Скачать 0.76 Mb.
    НазваниеФедеральное государственное бюджетное образовательное учреждение высшего образования московский авиационный институт
    Дата15.03.2023
    Размер0.76 Mb.
    Формат файлаpptx
    Имя файлаАндроновМД_МП3120.pptx
    ТипДоклад
    #993133



    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

    УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

    «МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

    (НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)» (МАИ)

    филиал «РКТ» МАИ в г. Химки Московской области

    Автор : Андронов Максим Дмитриевич

    Руководитель: Жилина Татьяна Анатольевна

    Наименование темы: Разработка Windows приложений

    ДОКЛАД

    Квалификация: Техник программист

    Специальность: 09.02.03 Программирование в компьютерных системах Группа: МП31-20
    Модуль 1. Реализация команд MSPaint и Calc. Свойства CheckBox
    Программный модуль создающий диалоговую панель, в которой при вводе в строку редактирования paint или calculator запускаются windows paint или windows calculator. На данной панели присутствуют чек боксы: видимость и блокировка. В активном состоянии строка видна и доступна для редактирования, при снятии галочек строка исчезает или блокируется. Функция запуска программы MSPaint

    if (LOWORD(wParam) == ID_BUTTON_1) //Условие нажатия на кнопку "Открыть"
    {
      int len = GetWindowTextLengthW(hwndEdit) + 1; //Установка длинны текста
      std::vector buf(len);
      GetWindowTextW(hwndEdit, &buf[0], len); //Считывание текста
      std::wstring paint = &buf[0];
      if (paint == L"paint" || paint == L"PAINT" || paint == L"Paint" || paint
      L"ПЕЙНТ" || paint == L"Пейнт" || paint == L"пейнт") //Вариация ввода в поле
      {
      WinExec("mspaint.exe", 1); //Запуск программы MSPaint
      }

    Модуль 2. Рисование в окне курсором мыши

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

    Функция нажатия кнопки мыши

    case WM_LBUTTONDOWN: //Сообщение нажатия левой кнопки мыши
      fDraw = TRUE;
      ptPrevious.x = LOWORD(lParam); //Определение координаты Х
      ptPrevious.y = HIWORD(lParam); //Определение координаты Y
      break;

      case WM_LBUTTONUP: //Сообщение прекращения нажатия левой кнопки мыши

      if (fDraw) {
        hdc = GetDC(hWnd);
        MoveToEx(hdc, ptPrevious.x, ptPrevious.y, NULL);
        LineTo(hdc, LOWORD(lParam), HIWORD(lParam));
        ReleaseDC(hWnd, hdc);
        fDraw = FALSE; //Прекращение рисования

        }
      break;
    Модуль 3. Отображения нажатия клавиши на клавиатуре

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

    Функция нажатия клавиши

    case WM_KEYDOWN: //Сообщение нажатия клавиши
    Модуль 4. Запись числа, его считывание и вывод в отдельном окне

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

    Функция считывания числа

    if ((menu)wParam == menu::show) //Условия нажатия на пункты меню "файл – показать число"
    {
      TCHAR command[1024]; //Объявление строки
      GetWindowText(hwndEdit, command, 1024); //Считывание текста и запись в строку
      MessageBox(hwndA, command, L"Number", MB_OK | MB_ICONINFORMATION);
      //Вывод полученной строки в отдельном окне

      }
    Модуль 5. Программа опрос

    Программный модуль, в главном окне которого расположено 3 кнопки "вопрос 1" "вопрос 2" "вопрос 3", каждая кнопка вызывает отдельное окно, в котором расположен некоторый вопрос и две кнопки ответа. При выборе кнопки с неправильным ответом, выдаётся сообщение о том, что ответ неверный и закрывается окно. При выборе кнопки с правильным ответом появляется сообщение о том, что ответ верный и вопрос "выбрать ли другой вопрос?", где будет 3 варианта - две кнопки с оставшимися вопросами и кнопка "нет", закрывающая окно. Для того, чтобы закрыть главное окно используется пункт меню "файл – выход". При выборе пункта меню "помощь" должно открываться справочное окно, где написано, что надо делать в этой программе.

    Функция определения выбора вопроса

    case WM_COMMAND:
    if ((buttons)wParam == buttons::var1) //Кнопка 1
    {
    DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, var1); //Вызов окна 1
    }
    if ((buttons)wParam == buttons::var2) //Кнопка 2
    {
    DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2 hWnd, var2); //Вызов окна 2
    }
    if ((buttons)wParam == buttons::var3) //Кнопка 3
    {
    DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG3), hWnd, var3); //Вызов окна 3
    }

    Модуль 6. Прорисовка окружности

    Программный модуль создающий диалоговую панель, в которой в непрерывном режиме выполняется прорисовка окружности, у которой постепенно увеличивается радиус. При достижении границ окна радиус начинает уменьшаться. У диалогового окна должна присутствовать кнопка выбора цвета, которая выводит диалоговое окно с выбором цвета круга с помощью радиокнопок. Для изменения цвета круга нужно подтвердить кнопкой "ОК".

    Функция прорисовки окружности

    void draw(HDC hdc) {
      Gdiplus::Graphics gf(hdc);
      Gdiplus::Pen pen(color); //Создание пера
      gf.DrawEllipse(&pen, width / 2 - circle_diameter / 2, height / 2 - circle_diameter / 2, circle_diameter, circle_diameter);
      //Определение координат и диаметра окружности
      }

    Модуль 7. Программа для просмотра изображений

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

    Функция открытия файла

    if (GetOpenFileName(&open_file_name)) //Определение открытия файла
    {
      auto hdc = GetDC(hwndA); //Указание дескриптора окна
      Gdiplus::Graphics gf(hdc); //Указание дескриптора объекта
      Gdiplus::Bitmap bmp(path);
      gf.DrawImage(&bmp, 0, 0, width, height); //Отрисовка изображения
      return 1;

      }


    написать администратору сайта