Готовый перевод The Starts and The Menus / -: The Starts and The Menus

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Кнопки "Пуск" и меню

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

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

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

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

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

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

После долгих часов в течении нескольких дней,

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/48931/201339

Переводчики: MOP3E, evilslon, boikoanusik, StereoLiz

Настройки

Готово:

30.76% КП = 1.0

Непереведённые фрагменты будут пропущены.