![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| navodri |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 26.10.2007 Репутация: нет Всего: -1 |
У меня менюшка с изображениями, написанная на Win32API, не хочет полностью отображать текст:
![]() Вот код:
А вот исходник: http://depositfiles.com/files/nzmq10h5k Где я допустил ошибку? Пример кода приветcтвуется. Это сообщение отредактировал(а) navodri - 20.5.2010, 13:14 |
|||
|
||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 3 Всего: 5 |
Да это скорее всего я допустил ошибку, это мой код, причем самый ранний. По идее высота и ширина пунктов расчитывается в сообщении WM_MEASUREITEM, здесь же только обрабатывается только WM_DRAWITEM. Пример по ссылке твоей не качается, видать что-то с файлообменником.
Держи новые варианты на апи, немного не доделаны, но работоспособны. Это сообщение отредактировал(а) Maks1509 - 20.5.2010, 15:51 Присоединённый файл ( Кол-во скачиваний: 29 )
menu_draw_api.rar 62,66 Kb |
|||
|
||||
| navodri |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 26.10.2007 Репутация: нет Всего: -1 |
Супер! Спасибо!
|
|||
|
||||
| navodri |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 26.10.2007 Репутация: нет Всего: -1 |
Разобрался с отрисовками. Примеры просто обалдеть! Еще раз спасибо!
Но у меня возник вопрос по теме: а как показать в определенном пункте меню горячие клавишы (или сочетание клавиш), когда пользователь меняет их сам? Например, программа считывает из реестра сочетание клавиш и отображает в определенном пункте меню? |
|||
|
||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 3 Всего: 5 |
Ну тут уже сам считываешь сочетание клавиш как тебе удобно из реестра и меняешь текст в пунктах меню - SetMenuItemInfo с нужными флагами или всякие InsertMenuItem/AppendMenu/InsertMenu/ModifyMenu. Предварительно считываешь текст с пунктов меню если к примеру, ищешь символ табуляции #9 в тексте чтобы отделить положение самого текста меню от текста сочетания клавиш, ну и выполняешь действия со стркоами как тебе удобно.
|
|||
|
||||
| navodri |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 26.10.2007 Репутация: нет Всего: -1 |
С реестром - всё понятно. Тут с меню сложнее. Мне трудно в этом разобратся. Я пропбоавал через ModifyMenu, но думаю, что тут одной строчкой не обойтись, надо считывать пункт меню, а потом всё вместе отрисовывать...
Для меня это темный лес. Можешь представить пример? |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Это сообщение отредактировал(а) bems - 21.5.2010, 18:20 -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |