|
|
Регистрация | << Правила форума >> | 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); |