Вниз
Скачать: CL | DM;

Окошко, не желающее становиться активным   Найти похожие ветки 

 
jel ©   (2002-10-15 17:15) [0]

Проблема проста до идиотизма. Сворачиваю программку в трей, обрабатывая WM_SysCommand. То бишь прячу форму и кнопку на таскбаре. Потом из обработчика сообщения NotifyIcon пытаюсь развернуть обратно. Результат - окошко восстанавливается но не на переднем плане а за остальными окнами. Нужно вытащить его наверх. Пишу


if a.LParam = 514 then begin // знаю - константа в тексте некрасиво (это отпускание левой кнопки мыши)
TrayHideIcon; // здесь убираю иконку из трея
ShowWindow(Application.Handle, SW_SHOWNORMAL);
ShowWindow(handle, SW_SHOWNORMAL);
SetForegroundWindow(handle); // а вот тут - только начинает мигать кнопка на таскбаре - окно не всплывает!
// SetWindowPos(Handle, HWND_TOP, 0,0,0,0, SWP_NOSIZE + SWP_NOMOVE); // пробовал еще так
// BringWindowToTop(handle); // и вот так
// SendMessage(handle, WM_SYSCOMMAND, SC_RESTORE, 0); // и сяк - результат нулевой
end;
a.Result := 0;


Где грабли-то? Чего я не сделал или сделал не так?
Заранее спасибо.


 
Jel ©   (2002-10-15 17:23) [1]

Простите великодушно! Не в тот форум написал. Не судите строго за оффтопик. :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
1-28060
DDF
2002-11-26 07:02
2002.12.09
Подскажите что делаю не так?


3-27844
Sword-Fish
2002-11-20 08:45
2002.12.09
Работа с БД


1-27999
Sokol
2002-11-29 19:15
2002.12.09
Динамическое создание элемента


4-28358
sender
2002-10-28 19:06
2002.12.09
Буфер ввода/вывода


1-27946
Кокандокало
2002-11-29 12:05
2002.12.09
Exceptions и SocketError




   Наверх