Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.08;
Скачать: CL | DM;

Вниз

передний план   Найти похожие ветки 

 
Gu   (2011-09-29 08:58) [0]

есть несколько функций для вывода окна на передний план

ShowWindow(Application.MainForm.Handle,SW_RESTORE);
SetActiveWindow(Application.MainForm.Handle);
SetForegroundWindow(Application.MainForm.Handle);

но на передний план окно выводится в редких случаях (win7x64ent), в основном только кнопка на панели задач моргает. раньше помница какойто параметр был в виндах типа "запрещать окнам забирать фокусировку" и кнопка мигала, никто не знает как это отключить хотябы на время или может еще какие функции есть?

вот это тоже не помогает:

procedure AppGoToForeground;
var
 Info: TAnimationInfo;
 Animation: Boolean;
begin
 // Проверяем, включена ли анимация для окон
 Info.cbSize := SizeOf(TAnimationInfo);
 Animation := SystemParametersInfo(SPI_GETANIMATION, SizeOf(Info), @Info, 0) and
   (Info.iMinAnimate <> 0);
 // Если включена, отключаем, чтобы не было ненужного мерцания
 if Animation then
 begin
   Info.iMinAnimate := 0;
   SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
 end;
 // Если приложение не минимизировано, минимизируем
 if not IsIconic(Application.Handle) then Application.Minimize;
 // Восстанавливаем приложение. При этом оно автоматически выводится
 // на передний план
 Application.Restore;
 // Если анимация окон была включена, снова включаем её
 if Animation then
 begin
   Info.iMinAnimate := 1;
   SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
 end;
end;


 
Омлет ©   (2011-09-29 09:17) [1]

http://www.transl-gunsmoker.ru/2010/10/blog-post_25.html


 
DVM ©   (2011-09-29 10:10) [2]


> Gu   (29.09.11 08:58) 

Вот так попробуй http://www.swissdelphicenter.ch/torry/showcode.php?id=261
Несмотря на все дебаты вокруг метода, работает нормально уже многие годы.

Еще есть SwitchToThisWindow()


 
Gu   (2011-09-29 11:25) [3]


> Омлет ©   (29.09.11 09:17) [1]

это уже видел. там из всей толпы только функция с маусом работает, но как то стремно - курсор на другие приложение кликает попутно

+


> Еще есть SwitchToThisWindow


тоже странно себя ведет, окно вытаскивается на передний план через раз, а вместе с ним все окна которые под ним были.

> Вот так попробуй

интересно, ща займусь пробованием...


 
RWolf ©   (2011-09-29 13:32) [4]

а зачем вам выводить окно неактивного приложения на передний план?
чтобы мешать пользователю печатать?
для уведомлений есть специальная область — трей. за подробностями юзер сам сходит, щелчком мыши.


 
Омлет ©   (2011-09-29 13:47) [5]

> RWolf ©

Обычно это делается при предотвращении запуска второй копии приложения - уже запущенный экземпляр должен выползти на передний план.



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

Текущий архив: 2012.01.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1317295658
Колька
2011-09-29 15:27
2012.01.08
MDI


3-1269608174
mefodiy
2010-03-26 15:56
2012.01.08
MySQL запрос


15-1315302753
Pit
2011-09-06 13:52
2012.01.08
Особенности отображения сайтоа на iPhone


15-1316774640
К-111
2011-09-23 14:44
2012.01.08
Что нужно знать, чтобы выполнить ТЗ?


15-1316636981
Юрий
2011-09-22 00:29
2012.01.08
С днем рождения ! 22 сентября 2011 четверг