Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Для ListView.headers.item Call SendMessage(hwnd, HDM_HITTEST, 0&, HTI) HTI.iItem - номер колонки А для Toolbar номер кнопки как получить? Код: plaintext 1. 2. 3. 4. 5. 6. так не работает, надо что-то аналогичное, пока не нашел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2009, 15:03 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Не, аналогичного не нашел. Задача в общем простая-выводить подсказки при перемещении мыши по кнопкам toolbar. Встроенный mousemove вполне годится, но есть одно но: Код: plaintext В общем получилась некая каша из API и обычных методов. Не оч.красиво, но работает. Код: plaintext 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. NotDoMove нужен чтобы гасить WM_ERASEBKGND если WM_ERASEBKGND не связано с покиданием toolbar, другого способа не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 04:38 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
TB_HITTEST Найдите себе уже MSDN версии 2003 или старше, там все это описано. Во вложении библиотека типов, где декларированы почти все константы, типы и функции, используемые коммон контролами. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 10:47 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Боюсь что эта красота в данном случае не прокатит в VB: lResult = SendMessage( // returns LRESULT in lResult hWndControl, // (HWND) handle to destination control TB_HITTEST, // (UINT) message ID wParam, // = 0; not used, must be zero lParam // = (LPARAM)(LPPOINT) pptHitTest; 'SendMessage function Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal Msg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Public Type POINTAPI X As Long Y As Long End Type Даже если сделать вот так: 'SendMessage function Public Declare Function SendMessage2 Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal Msg As Long, _ ByVal wParam As Long, _ lParam As POINTAPI ) As Long то код: Код: plaintext 1. 2. 3. ничего не рисует. И немногочисленные рез-ты поиска V..B...+TB_HITTEST сводятся похоже к мысли о том что именно в vb не работает. Это как при случае с вложенными структурами...??? А по поводу MSDN: а смысл есть ее иметь на диске,если она доступна в Интернете. А плюс поиск по google дает гораздо больше. Другое дело что я не совсем умею с ней работать м.б., но это другое дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 13:24 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Можно и без TB_HITTEST (лень его проверять) — WM_NOTIFY + TBN_HOTITEMCHANGE Дмитрий77Задача в общем простая-выводить подсказки при перемещении мыши по кнопкам toolbarА чем стандартные тултипы не устраивают? Дмитрий77А по поводу MSDN: а смысл есть ее иметь на диске,если она доступна в Интернете. Смысл есть, потому что в интернете нет поиска по указателю. В локальной версии достаточно ввести, к примеру, tb_, и она сразу переходит с тулбарным сообщениям, среди которых можно выбрать подходящее, а для поиска в онлайновой версии нужно заранее знать, что ищем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 14:00 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
я ж описал основную проблему, почему плохо ограничиться стандартным mousemove Надо еще понять что мышь покинула тулбар . mousemove процедуру можно было бы конечно и в Toolbar_MouseMove ф-цию засунуть в том же виде, но какая разница, если я и так windowproc запускаю. Координаты пересчитывать только надо, но зато научился хоть этому. Ну тогда получается что мой гибридный код вполне сгодится и можно его оставить и не придумывать проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 15:22 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77понять что мышь покинула тулбарВот кусок, который это позволяет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:26 |
|
||
|
Toolbar номер кнопки через subclass?
|
|||
|---|---|---|---|
|
#18+
Спасибо, Antonariy. Как нибудь потом попробую. Честно, уже устал от всего этого, оставлю здесь пока свой вариант. ...Написание проги превратилось в какие-то эксперименты над сабклассами, мышками и окнами. А еще эту Add/remove columns писать куча рутины. Плюс всю эту фигню запоминать в реестр при закрытии, и доставать при открытии. Эдак можно забыть об чем прога...пора включать тормоза. Но ...много нового узнал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=144&tid=2160436]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 134ms |

| 0 / 0 |
