Как включить DropDownList в строку меню с помощью Windows API?

Предполагая программирование на C++ для Win32 API, я бы знал, возможно ли включить DropDownList (окно COMBOBOX со стилем CBS_DROPDOWNLIST) в строке меню.

Любой свет в этом вопросе или где начать изучать эту тему будет принята с благодарностью.

2 ответа

Решение

Чертеж владельца является единственным вариантом для настройки встроенных меню API. Мало того, что это гигантская боль в тылу, она все равно не даст желаемого эффекта. Вам нужно будет нарисовать поле со списком вручную и написать код для ответа на все события мыши, вместо того, чтобы просто добавить стандартный элемент управления со списком.

Я предлагаю использовать панель инструментов или панель управления, которая имитирует строку меню, а не стандартную панель меню. Это то, что Windows (и Internet) Explorer делает, чтобы нарисовать свою строку меню, и предоставляет вам гораздо больше гибкости в том, что элементы управления могут быть включены.

Если вы готовы обрабатывать все сообщения рисования, вы можете в конечном итоге сделать что-нибудь для клиентской области вашего приложения. Сколько работы и кода вы готовы добавить?

Другие вопросы по тегам