|
|
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Добрый вечер народ! Бъюсь уже второй день, весь инет перерыл и местный форум тоже, нифига не нашел :( Проблема в следующем: надо програмно устанавливать первый видимый итем(item) в листбоксе, вроде ничего сложного, но нифига не работает, проверял в Spy++ при вызове SendMessage в lResult возвращается 0!, хоть ты тресни. Аналогичная ситуация даже с SendMessage(GetFocus, LB_GETSELCOUNT, 0&, 0&), возвращается зироу. Я уж подумал, что листбокс ваще никаким действиям не поддаётся, однако WM_VSСROLL он хавает и скролится хоть вверх, хоть вниз:) Внизу этот злосчастный код, люди поможите чем можите :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. MultiSilect = Simple RowSource = Query/Table вот собственно краткие сведения о проблеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 18:58 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
А обязательно через API? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:05 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
По другому это не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:11 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
nummer null есть поиск по форуму nummer eins ListBox.SetFocus ListBox.LIstIndex = 1 nummer zwei ListBox.Value = ... P.S. А использовать API в твоем случае - это с пушки по ... ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:19 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Ха-ха и так еще много раз, LB_SETTOPINDEX у него понимаешь ListBox не понимает... Я вот тут лепил WM_VSСROLL к ListBox формы у Excel'a, попросили добрые люди, так в результате экспериментов и Spy++ выяснил, что ListBox Excel'ский вообще на 95% всех стандартных сообщений ListBox плюет. Он не то что событие колесика WM_MSWHEEL (так что ли оно назыв., уж точно не помню) не вопринимает, так он еще WM_VSСROLL не получает когда ему на скролл нажимаешь, все форма перехватывает и только перерисовывает его WM_PAINT (это несмотря на то что ListBox там все-таки имеет свой hWnd в отличии от кнопок и т.д.). Я вывернулся токо так, через SubClassing формы ловил событие поворот колесика и посылал ListBox нажатие клавиши стрелки или PgDn/PgUp (в функции можно настроить что тебе нравится) Так что в том что ListBox не обрабатывает некоторые событие нет НИЧЕГО удивительного, он же рисованый, его Access создает таким обрезанным, он не является стандартным элементом под названием - ListBox из "какой-то там" стандартной системной библиотеки. Так что ищи обходные пути, придется играться другими сообщениями, которые он поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:20 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Дополнение к Shkurenko Alexander: Z.Value = Z.ItemData(0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:23 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Не раз говорилось - стандартные элементы Акеса - вовсе элементы Виндосу (во всяком случае до Акеса 2003 - так было).Не реагирует на огромное число сообщений. Ведут себя по дурному ипрочее. Источник - Гетц Выход - использование стандарных контролов Виндоуса (mscomctl.ocx 1,2,3 библиотеки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:39 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Но в данном случае достаточно написать одну команду Аксесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:41 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
поправка: вовсе не элементы Виндоуса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2003, 19:41 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Да насчёт этого я в курсе, ListIndex тут не поможет, необязательно, что первый элемент будет первым видимым, эта тема на форуме уже обсуждалась. И по поводу из по пушки по птицам: я хотел как лучше, обидно что, как я понял, нифига мне не светит :) все сенкс за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2003, 10:34 |
|
||
|
Манипуляции ListBox'ом через API (AccessXP + SP2)
|
|||
|---|---|---|---|
|
#18+
Приношу свои извенения Kelme за невнимательное прочтение вопроса. Вариант 1. (Простой до безобразия) Код: plaintext 1. 2. 3. 4. 5. 6. 7. Вариант 2. (более сложный, но имеющий дальнейшее развитие в плане расширения возможностей ListBox'a) Код: 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. ну а далее, получив этот самый номер воспользуйся советом Владимира Саныча P.S. Получить hWnd ListBox'a сможешь? Та еще задачка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2003, 17:09 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32302150&tid=1678687]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 389ms |

| 0 / 0 |
