Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

С++ Графика - обрезка изображений / Программирование события WM_PAINT

  • На этом уроке мы научимся вычислять размеры клиентской области окна и осуществлять вывод текста в основное окно программы
  • Дата отправки отчёта: 16 июля 2017 г.
  • Задание выполнено: за 33 мин.
  • Чему научился: Coздваать фyнкцию классa BmpCtrl - OnPaint
    Отoбрaжать координaты MainRect в оcновнoм oкне пpограммы
  • Что было сложным: ---
  • Комментарии: При изменении  границ окна  подсчитанные размеры клиентской области не меняются
  • Оценка видео-уроку:
Отчёт от 11589 за С++ Графика - обрезка изображений / Программирование события WM_PAINT




Оцени работу

 
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  Yefim  # С++ Графика - обрезка изображений / Программирование события WM_PAINT / 2017-07-17 08:27

Проблема явно в 24 строчке, странные вычисления, зачем там суммировать одинаковые числа, а потом вычитать значение, которое как раз к ширине и высоте относится. Может быть там надо к 1000 и к 600 прибавлять ширину бордюров, а не удваиваться, а то к примеру, ширина 1000, берём статичные 1000 + 1000 - ширина(1000) = 1000. Странно не правда ли? может быть я конечно чего-то не понял, может быть в C++  это как-то по другому выглядит, но 24 строчка сразу в глаза бросилась.


11589. --
Yefim
Yefim
ответить
# С++ Графика - обрезка изображений / Программирование события WM_PAINT / 2017-07-17 08:41

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


10558. --
Иван Воронин
Иван Воронин
ответить
→  Yefim  # С++ Графика - обрезка изображений / Программирование события WM_PAINT / 2017-07-17 08:57

Ну если это собственные исследования, то надо было написать об этом не в комментарии, а в поле Что было сложным, а то я решил, что это была проблема в самом уроке.


10162. --
Дмитрий
Дмитрий
ответить
→  Yefim  # С++ Графика - обрезка изображений / Программирование события WM_PAINT / 2017-07-17 18:13

Да, для этого есть сообщение WM_SIZE, но я его не использую (для простоты). Переменную nButtons можно будет использовать в перспективе, если будут ещё кнопки; пока в цикле стоит константа 3. Можно её заменить на nButtons



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Coздваать фyнкцию классa BmpCtrl - OnPaint Отoбрaжать координaты MainRect в оcновнoм oкне пpограммы
При изменении границ окна подсчитанные размеры клиентской области не меняются


Научился: Отображать размеры клиентской области в окне
Трудности: Оператор sprintf, используемый для вывода информации оказался неверным. Немного поЯндексив пришлось заменит его на sprintf_s. После чего все заработало в стандартном режиме.