![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет друзья программеры.
С помощью EnumChildWindows ищу TPageControl, а именно нужную мне вкладку другого приложения (разработано в delphi). После нахождения ни как не могу его активировать, т.е. перейти на эту вкладку, выдается ошибка связанная с памятью. Пробовал разные функции: ShowWindow(h, SW_NORMAL), SendMessage(h, WM_ACTIVATE, WA_ACTIVE, 0), SetForegroundWindow(h) и даже пару SendMessage(h, WM_LBUTTONDOWN, 0, 0); SendMessage(h, WM_LBUTTONUP, 0, 0); Но увы, все старания не помогли, что посоветуете? |
|
#2
|
|||
|
|||
|
если окно активное, то кликами, эмуляцией клавиш всяко можно
|
|
#3
|
|||
|
|||
|
Pyro, спасибо конечно за ответ, но я же написал:
Пробовал разные функции: ShowWindow(h, SW_NORMAL), SendMessage(h, WM_ACTIVATE, WA_ACTIVE, 0), SetForegroundWindow(h) и даже пару SendMessage(h, WM_LBUTTONDOWN, 0, 0); SendMessage(h, WM_LBUTTONUP, 0, 0); Но увы, все старания не помогли |
|
#4
|
|||
|
|||
|
а если сделать все вкладки кроме нужной невидимыми?
если не поможет то "эмуляцией клавиш всяко можно": табы, может стрелки и пробел у кликов ещё координаты могут иметь значение Последний раз редактировалось Pyro, 28.06.2012 в 10:59. |
|
#5
|
|||
|
|||
|
В интернете нашел про сообщение TCM_SETCURSEL, но delphi почему то ругается на него: Undeclared identifier, хотя я включил ShellAPI
|
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
|||
|
|||
|
NumLock, спасибо, помогло, нужная мне вкладка становится активной, НО компоненты ране активной вкладки (т.е. другой вкладки) отображаются здесь.
Как можно это исправить? |
|
#8
|
|||
|
|||
|
Всем спасибо, проблема решилась:
SendMessage(Handle, TCM_SETCURFOCUS, TabIndex, 0); |