|
|
|
API для жизни
|
|||
|---|---|---|---|
|
#18+
Периодически встречал примеры как некоторые ст. элементы заставить вести себя полюдски. В частности понадобилось мне заставить один ListBox прокрутиться вниз. - ничего не получилось, ... взял вариант попроще, попробовал послать SB_PAGEDOWN главному окну Excel - тоже ничего, ничего понимаю, кто в курсах, гляньте код, почему он не работает, а то уже не знаю что и думать, вроде все уже перепробовал... :-( Dim i As Long Dim hndExpl As Long Public Const WM_VSCROLL = &H115 Public Const SB_PAGEDOWN = 3 hndExpl = FindWindow("XLMAIN", vbNullString) i = SendMessage(hndExpl, WM_VSCROLL, SB_PAGEDOWN, Null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 12:49 |
|
||
|
API для жизни
|
|||
|---|---|---|---|
|
#18+
В частном случае (форма с одним списком, без заголовка и примечания) список крутится так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Кроме того, hwnd списка можно найти так: http://www.mvps.org/access/api/api0027.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 13:07 |
|
||
|
API для жизни
|
|||
|---|---|---|---|
|
#18+
Cпасибо (особенно за ссылку, забыл я совсем про эту функцию), будем экспериментировать дальше, просто я хотел это применять не только в Access, но и в Excel формах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 14:14 |
|
||
|
API для жизни
|
|||
|---|---|---|---|
|
#18+
Достал я наконец Spy++ старенький, чтобы без всяких доп. библиотек запускался, запустил и проследил за этими ListBox. Оказалось, что ListBox из Access вполне приличный себе списочек, который исправно реагирует на колесико мышки, и прокручивается получая WM_VSCROLL. А вот гадский ListBox из Excel просто плюет и на колесико мышки и на WM_VSCROLL в том числе (он себя только лишний раз перерисовывает после получения WM_VSCROLL и все...), тогда я стал мотреть, что же он получает, когда его прокручиваешь нажимая на скролбар, он получает такие сообщения: WM_LBUTTONDOWN: fwKeys: MK_LBUTTON xPos:185 yPos:8 WM_PAINT WM_PAINT WM_NCHITTEST WM_NCHITTEST WM_NCHITTEST WM_NCHITTEST WM_SETCURSOR: ncHittest:HTCLIENT; wMouseMsg: WM_MOUSEMOVE WM_SETCURSOR: fHaltProcessing:False WM_MOUSEMOVE: fwKeys:0000 xPos:185 yPos:8 WM_NCHITTEST WM_NCHITTEST WM_LBUTTONDOWN: fwKeys: MK_LBUTTON xPos:185 yPos:8 WM_PAINT WM_PAINT WM_NCHITTEST WM_NCHITTEST WM_NCHITTEST WM_NCHITTEST WM_SETCURSOR: ncHittest:HTCLIENT; wMouseMsg: WM_MOUSEMOVE WM_SETCURSOR: fHaltProcessing:False WM_MOUSEMOVE: fwKeys:0000 xPos:185 yPos:8 WM_NCHITTEST WM_NCHITTEST это я типа 2 раз нажал скроллбар и прокрутил его вниз .... пытаюсь теперь понять через какие же сообщение он допирает, что его прокручивают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32289093&tid=1678941]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 344ms |

| 0 / 0 |
