Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.09.2013, 04:06
|
|||
---|---|---|---|
Как сделать событие Handle на "все элементы одного типа" |
|||
#18+
Например есть MainMenu1 У него есть итемы: menu_FileNew, menu_FileEdit, menu_FileDelete и так далее (существенно) Я могу делать так: Код: vbnet 1. 2. 3. 4. 5.
Я могу делать так: Код: vbnet 1. 2. 3. 4.
, где AnyMenuItem_DrawItem -название ф-ции обработчика, при этом должен тупо и явно перечислять Handles Я хочу записать: Код: vbnet 1. 2.
Как? Т.е. у меня 20,30,40 пунктов меню, я могу какие-то добавлять, какие-то удалять, но я хочу для любого элемента вида MenuItem обрабатывать .DrawItem в этой ф-ции. Я видел про AddHandler, но опять же, я должен ручками делать Add для каждого пункта, или хотя бы что-то типа For Each item in items. Меня это не очень устраивает. Мне надо что-то типа Код: vbnet 1.
Подобную задачу когда-то решал: 8494847 Не могу сказать что очень удачно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2013, 10:57
|
|||
---|---|---|---|
Как сделать событие Handle на "все элементы одного типа" |
|||
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2013, 17:47
|
|||
---|---|---|---|
Как сделать событие Handle на "все элементы одного типа" |
|||
#18+
Antonariy Код: vbnet 1.
Ну и? Ты предлагаешь тупо и поименно перечислять все "40 элементов" через запятую, я на этот вариант указал (второй сверху) и сказал что меня не устраивает. Тогда уж мой третий вариант: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Но ты знаешь, проще здесь API везде оставить. Потому как все что сделано в VB6 здесь работает, все вот эти темы: А вообще иконки в VB6 меню тяжело добавить? Как заменить "вдавленный стиль" на "серый" (в меню) Вот как на .NET сделать это: Код: vbnet 1. 2. 3. 4.
Издеваться над нетовским GetDC? Или вот это (Alpha-Blended bitmaps -на Вистах картинки не через DrawItem делаются): Я попробовал тупо взять .ToBitmap(.net ресурс -иконка) вместо HBITMAP_fromICON Догадываешься какая там мазня получилась? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.
По хорошему конечно ToolStrip, но он гад не поддерживает системные стили (на Вистах - даже эмуляции нет). А ты ж меня знаешь, я люблю все делать в стиле системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2013, 22:52
|
|||
---|---|---|---|
Как сделать событие Handle на "все элементы одного типа" |
|||
#18+
Дмитрий77Ты предлагаешь тупо и поименно перечислять все "40 элементов" через запятую, я на этот вариант указал (второй сверху) и сказал что меня не устраивает.Извиняюсь, не заметил. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1404042]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 168ms |
0 / 0 |