|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
Здравствуйте. такой вопрос. Есть сторонняя программа. Пытаюсь расширить ее функционал. При выборе в комбобоксе выскакивает моя форма. Проблема в том, у большинства контролов отсутствуют имена, поэтому приходится искать перебором хендлов. Более того на форме есть кнопки при которых меняется содержание одних и тех же контролов, поэтому поиск нужного идет по изменившемуся содержанию. Код: 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.
Все работает, но жрет дофига памяти и грузит проц. Нет ли какого-нибудь способа избежать перебора (например аналог эвентс из С++)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2012, 20:19 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
> Автор: Горан > Здравствуйте. такой вопрос. А если попробовать сделать следующий финт ушами: При старте формы, пробежатся один раз по всем котролам родительской формы и получить их хендлы и сохранить в какой-то структура для быстрого доступа к ним. И потом не перебирать каждый раз, а использовать уже полученую информацию. Ы? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 11:01 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
Спассбо за ответ, но на форме есть несколько кнопок, по которым в окне появляются новые контролы и исчезают старые. Тот который нужен мне появляется только после нажатия одной из этих кнопок. В, принципе, можно пробежаться по форме, получить хендл кнопки, по нажатию которой появляется необходимы мне комбобокс и только после этого пробегаться и сохранять в структуру. но как отловить нажатие на кнопку? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 14:04 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
> Автор: Горан > но как отловить нажатие на кнопку? Сабкласить нужную кнопку. При отлове события Click, выполнить "родной обработчик, потом найти добавленые контролы и сохранить их для дальнейшего использования Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 14:12 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
Игорь Горбонос, сабклассинг окна не системного класса возможен при исполнении кода в процессе-владельце дескриптора окна. То есть для применения сабкласинга придётся делать DLL injection. При том, что VB не делает "из коробки" простых DLL. Горан, посмотрите хуки , может, надётся что полезное. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 14:34 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
Горан, так это на твоей форме контролы без имени, к которым нужно обращаться, или на чужеродной? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 15:08 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
QValDГоран, так это на твоей форме контролы без имени, к которым нужно обращаться, или на чужеродной?ГоранЕсть сторонняя программа. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 15:24 |
|
хочу избавиться от циклов
|
|||
---|---|---|---|
#18+
AntonariyQValDГоран, так это на твоей форме контролы без имени, к которым нужно обращаться, или на чужеродной?ГоранЕсть сторонняя программа. Горан При выборе в комбобоксе выскакивает моя форма . ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2012, 15:36 |
|
|
start [/forum/topic.php?fid=60&msg=37885355&tid=2157578]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 145ms |
0 / 0 |