![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Proxin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
проблема такая. нужно поменять отрисовку пунктов - с этим разобрался. но их много (около десятка), а на каждый создавать ondrawitem и onmeasureitem - долго и, кажется, неразумно. есть ли способ задать новый способ отрисовки сразу для всех пунктов меню?
upd. нашёл изврат
но интересует цивилизованный способ. Это сообщение отредактировал(а) Proxin - 26.5.2010, 22:16 |
|||
|
||||
| DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Можно задать всем пунктам некоторую общую функцию которая и будет отрисовывать: задавать надо на том этапе где это нужно
Ну что-то типа такого сли у вас всё через N1, N2 и т.д. for i:=1 to 10 do begin (findconponent('N'+inttostr(i)) as TpopupmenuItem).OnDrawItem:=N1DrawItem; (findconponent('N'+inttostr(i)) as TpopupmenuItem).OnMeasureItem:=N1MeasureItem; end; Имя функций которые присваиваю обычно задаю следующим образом: сначала создаю функцию для одного объекта, потом у этого объекта убираю связь, а имя что-то типа PopupMenuDrawItems и это имя ставлю как у самой присваиваемой функции, так и выше где она объявлена. P.S. код писал "на коленке", прям в браузере так что возможны ошибки. Я надеюсь понятно написал, если нет спрашивайте. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
|||
|
||||
| Proxin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
это прекрасно знаю. но как сделать цивилизованный способ отрисовки без div-ов и прочего?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |