WM_ENTERSIZEMOVE / WM_EXITSIZEMOVE - при использовании меню, не всегда соединяемого

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

  1. 3.14 >> 0 (через 2,9999999999999999 > >.5? )
  2. 3.14 | 0 (через , Что лучший метод должен преобразовать плавающую точку в целое число в JavaScript? )
  3. 3.14 & -1
  4. 3.14 ^ 0
  5. ~~3.14

В основном, применяя любую бинарную операцию на плавание, которое не изменит окончательное значение (т.е. тождественное отображение) заканчивает тем, что преобразовал плавание в целое число.

6
задан Suma 1 December 2009 в 13:23
поделиться

2 ответа

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

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

0
ответ дан 17 December 2019 в 18:16
поделиться

Вы должны получать сообщение WM_SIZE каждый раз, когда операция определения размера будет завершена. И при изменении размера вы будете получать сообщения WM_SIZING.

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

-1
ответ дан 17 December 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: