Активация родительской формы и SetForegroundWindow

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

Активация родительской формы и SetForegroundWindow

Сообщение Source » 28.10.2007 (Вс) 10:55

вызываю дочерней форме SetForegroundWindow, затем ReleaseCapture. После закрытия дочерней формы не хочет активироваться родительская форма. Почему?

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 28.10.2007 (Вс) 11:17

проблема в том, что при даблклике на иконке трэя иконка забирает фокус, я передаю фокус уже через Frm.SetFocus, но после закрытия сего окна фокус всё равно переходит иконке, т.к. активации родительского окна не происходит. Установка фокуса происходит в процедуре хука, перехватывающего клики на иконке.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.10.2007 (Вс) 11:26

WM_NULL постишь?
Lasciate ogni speranza, voi ch'entrate.

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 28.10.2007 (Вс) 11:36

не понял

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 28.10.2007 (Вс) 14:18

Это стандартная засада при клике на трей,
надо:
SetForegroundWindow(hWnd);
SendMessage(hWnd,WM_NULL,0,0);
P.S.
~MSDN~
PRB: Menus for Notification Icons Do Not Work Correctly
ID: Q135788

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 28.10.2007 (Вс) 14:34

я попробовал убить даблклик:
uMsg = 0 'убить даблклик
wParam = 0
lParam = 0
почему-то не получилось. ?
Тогда просто показал форму ещё раз (Show) - работает!

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 28.10.2007 (Вс) 15:43

блин, задолбал этот VB! Показываю формы:
Код: Выделить всё
frm1.Show , Me
frmModal.Show vbModal, Me
после закрытия frmModal фокус получает frm1. После закрытия frm1 главная форма не активируется! Опять икона трэя фокус загребает? И непонятно, с какой радости?

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 28.10.2007 (Вс) 20:34

куда уходит фокус? Почему не происходит активация родительской формы?
Вложения
ParentFormActivate.zip
(1.71 Кб) Скачиваний: 62


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

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

Сейчас этот форум просматривают: Google-бот и гости: 90

    TopList