Как определить неактивную форму?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
HugoFlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 39
Зарегистрирован: 22.10.2004 (Пт) 21:31
Откуда: от верблюда

Как определить неактивную форму?

Сообщение HugoFlex » 23.10.2004 (Сб) 8:24

Ребята как можно определить активна или нективна форма. Ни как не могу найти способ. Не нашел подобных статей в Инете. :?:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.10.2004 (Сб) 10:42

Сравни результат GetForegroundWindow и hWnd формы. Если равны - значит, активна.
Изображение

HugoFlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 39
Зарегистрирован: 22.10.2004 (Пт) 21:31
Откуда: от верблюда

Сообщение HugoFlex » 23.10.2004 (Сб) 11:39

В каком событии мне это проверить?
Как я понял надо обьявлять это так
Public Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long

А даль ше как мне проверить?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.10.2004 (Сб) 11:42

HugoFlex писал(а):В каком событии мне это проверить?

В том, в котором тебе нужно ;-)

Зачем тебе нужно определить, активна ли форма, и что ты собираешься делать в зависимости от результата? Это определит, в каком событии это писать.
Изображение

HugoFlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 39
Зарегистрирован: 22.10.2004 (Пт) 21:31
Откуда: от верблюда

Сообщение HugoFlex » 23.10.2004 (Сб) 19:12

НУ например я хочу, изменить цвет лейбла от состояния формы

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.10.2004 (Сб) 19:32

Ну, или субклассь WM_ACTIVATEAPP, или по таймеру...
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.10.2004 (Сб) 19:34

form_activate...
form_deactivate...
form_gotfocus...
form_lostfocus...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.10.2004 (Сб) 19:36

Ни одно из них не отловит переход фокуса из другого приложения :-(
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.10.2004 (Сб) 19:37

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 9

    TopList