Отловить и запретить потерю фокуса окна

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
M.A.R.K
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 11.11.2007 (Вс) 11:50
Откуда: Иркутск

Отловить и запретить потерю фокуса окна

Сообщение M.A.R.K » 29.03.2008 (Сб) 9:03

Привет всем.
Приведу хороший пример реализации задачи:
Если в стандартном "Диспетчере задач Windows" выбрать "Вид->Выбрать столбцы...", откроется окно выбора столбцов.
Если незакрывая окно "Выбора столбцов" сщелкнуть на главное окно "Диспетчера задач Windows", то окно "Выбора столбцов" отловит и запретит потерю фокуса, ну и мигнет несколько раз.
Задача:
1) Как мне также отловить и запретить потерю фокуса, у определенного окна? (исходники приветствуются... :) )
2) Я сказал: "...ну и мигнет несколько раз."
Здесь, точно, не используется FlashWindow, т.к. за 1 сек. окно мигает 3-4 раза, а FlashWindow за 1 сек. дает 1 мигание.
Как сделать 3-4 мигания за 1 сек.?
Заранее благодарен.
-Решил Хакер блины печь...
-Первый блин у него вышел, как обычно - Комом...
-А второй - Экзешником...

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 29.03.2008 (Сб) 9:48

Сделай две формы.
Form1:

Код: Выделить всё
Private Sub Command1_Click()
Form2.Show vbModal, Me
End Sub


Form2:

Код: Выделить всё

Private Sub Flash()
Dim i As Integer

For i = 0 To 25
  FlashWindow Me.hwnd, 1
  Sleep 30
Next

End Sub

Private Sub Form_LostFocus()
Flash
End Sub
В нашем деле главное ЛОГИКА.

косил косой косой косой.

M.A.R.K
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 11.11.2007 (Вс) 11:50
Откуда: Иркутск

Сообщение M.A.R.K » 31.03.2008 (Пн) 7:13

1) Gemini, благодарю!

P.S.
Ну знал я, что нужна модальная форма, да недознался... :D

2) Gemini, мне интересно, можно (через SubClass или Hook) сделать отлавливание/запрет потери фокуса?
-Решил Хакер блины печь...
-Первый блин у него вышел, как обычно - Комом...
-А второй - Экзешником...

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 31.03.2008 (Пн) 9:54

M.A.R.K

2) Gemini, мне интересно, можно (через SubClass или Hook) сделать отлавливание/запрет потери фокуса?

Зачем тебе это??? у тебя же есть Private Sub Form_LostFocus()
В нашем деле главное ЛОГИКА.

косил косой косой косой.

M.A.R.K
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 11.11.2007 (Вс) 11:50
Откуда: Иркутск

Сообщение M.A.R.K » 01.04.2008 (Вт) 5:17

Gemini писал(а):Зачем тебе это??? у тебя же есть Private Sub Form_LostFocus()
Согласен. Спасибо всем, все понятно. :)
-Решил Хакер блины печь...
-Первый блин у него вышел, как обычно - Комом...
-А второй - Экзешником...


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 78

    TopList