Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.01.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
2-1317158516
я
2011-09-28 01:21
2012.01.08
Преобразование форматов TBitmap


2-1317060263
Псарь
2011-09-26 22:04
2012.01.08
Знак минимизации окна.


1-1277762626
Deltas
2010-06-29 02:03
2012.01.08
Анимация окон Windows 7


15-1316516688
KSergey
2011-09-20 15:04
2012.01.08
Как организована продажа игровых артефакт, "вирт. валюты сайтов"


15-1316550580
Юрий
2011-09-21 00:29
2012.01.08
С днем рождения ! 21 сентября 2011 среда





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский