powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменить шрифт в собственном меню (API)
13 сообщений из 13, страница 1 из 1
изменить шрифт в собственном меню (API)
    #34055862
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тону во времени и в незнании.
В один форум уже написал, но там пока что даже никто не смог прочесть вопрос не то чтобы ответить.
А задача душит.
вопрос такой:

Как изменить шрифт в собственном меню, созданном с помощью (API) CreatePopupMenu, AppendMenu и т.д. (Самое главное, можно ли?)
(изменить шрифт на другой шрифт, который уже инсталлирован).
Долгое время бьюсь над этим. Кое что удалось кое что нет.
Куда копать в двух словах, подтолкните.
Например, для формы в Vb изменить шрифт удается сделать. Дальше не смог продвинутся
Основная проблема упирается в нахождении hdc меню для
SelectObject(??,hdc, rFont)
Ну, очень нужно.
Спасибо за любой отзыв!
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34056334
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шрифт меню - системная настройка, находится в свойствах экрана - Оформление - Дополнительно. Изменить для отдельной программы скорее всего не получится.
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34056618
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие системные настройки, Разговор идет об API функциях.
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34056681
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может это пойдёт
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34057020
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бью себя ушами по щекам. Всегда думал, что используется только системный шрифт меню.
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34057556
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
michael Rможет это пойдёт
Спасибо, я стараюсь ваш вариант привязать к своему меню

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
hMenu = CreatePopupMenu()
AppendMenu hMenu, MF_STRING, ByVal  1 &, "  Copy"
AppendMenu hMenu, MF_STRING, ByVal  2 &, "  Paste"
AppendMenu hMenu, MF_SEPARATOR, ByVal  0 &, ByVal  0 &
InsertMenu hMenu,  3 &, MF_POPUP, SubMenu3, "  Format Cell"
InsertMenu hMenu,  4 &, MF_POPUP, SubMenu4, "  Format Column"
...
GetCursorPos Pt
TrackPopupMenu hMenu,  0 , Pt.x, Pt.y,  0 , Fhwnd, ByVal  0 &

пока что результаты неутешительные
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34057755
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что ты хочешь сделать
Может могу помочь
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34058020
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
michael RЧто ты хочешь сделать
Может могу помочьСпасибо, мне нужно было сделать это с PopupMenu при правом клике, с твоей помощью
сделал уже.
Но, у меня такой вопрос если в курсе, все примера которые я встречал, используют
SubClassing, почему это так сложно менять шрифт в меню, неужели нельзя без
SubClassing-а, допустим, задать в какую-то структуру, какие-то параметры, а потом чтоб сам рисовал, пользуясь этими параметрами, в том числе и шрифта. Ну, Канешно я слишком упростил, но что-то в этом роде.
Спасибо еще раз.
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34058068
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению в VB6 нельзя
это одно из его ограничений
в ранних версиях VB можно было делать такие вещи
только через дополнительные контроли
так что перехватывать события и производить перерисовку можно только так
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34058101
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Antonariy
можешь не бить :)

обычное меню всегда юзает системный шрифт, а вариант , что был представлен, использует рисованное на API меню, отсюда и сабклассинг и все остальные прелести ...
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34058272
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все предельно ясно.
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34075063
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я писал выше, приспособил эту перерисовку меню, к своему меню, пошел чуть дальше и добавил рисунки к пунктам меню, но зациклился на одном месте, в частности:

никак не могу заставить перерисоваться элементу созданному как MF_POPUP, т.е. заголовка подменю.
можно или нет заголовку подменю, созданному как MF_POPUP, задать MF_OWNERDRAW.
Спасибо!
...
Рейтинг: 0 / 0
изменить шрифт в собственном меню (API)
    #34088256
Avtopic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AvtopicКак я писал выше, приспособил эту перерисовку меню, к своему меню, пошел чуть дальше и добавил рисунки к пунктам меню, но зациклился на одном месте, в частности:

никак не могу заставить перерисоваться элементу созданному как MF_POPUP, т.е. заголовка подменю.
можно или нет заголовку подменю, созданному как MF_POPUP, задать MF_OWNERDRAW.
Спасибо!
Нашел, наконец!
Может, кому поможет:
для элемента меню MF_POPUP ответ = MF_BYPOSITION Or MF_OWNERDRAW
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменить шрифт в собственном меню (API)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]