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

Вниз

Как сделать чтобы форма получила фокус и стала поверх другх окон?   Найти похожие ветки 

 
Slonco   (2004-10-22 13:32) [0]

Делаю клиентскую программку, которая должна вывести окно с сообщением о тревоге. Надо: подать звуковой сигнал, вывести окно поверх других и сделать его активным.
Звук я подал (на бипер и на звуковуху), форму вывел, а вот как заставить ее AlwaysOnTop быть и сделать ее активной не знаю :(

Допоможить будласка!
Дякую.


 
Дмитрий Ботвин   (2004-10-22 13:45) [1]

Попробуй с помощью API-функции BringWindowToTop, вроде помогает


 
MBo ©   (2004-10-22 13:48) [2]

ShowModal


 
Slonco   (2004-10-22 13:51) [3]

Спасибо, Дмитрий, заработало. Только Активной она почему-то не становится :( Не знаешь как?

MBo - я таким методом ее и рисовал.


 
Slonco   (2004-10-22 13:54) [4]

Упс, извините, BringWindowToTop не помогло. Не помогло и BringToFront :(


 
Ogin   (2004-10-22 13:54) [5]

Если не ошибаюсь есть такая апишка SetForegroundWindow


 
Дмитрий Ботвин   (2004-10-22 13:57) [6]

Можно например так: Form1.BringToFront или опять же API-функцией
SetActiveWindow


 
Дмитрий Ботвин   (2004-10-22 13:59) [7]

Как это BringWindowToTop не помогло??? Напиши кусок кода, в
котором ты хочешь её использовать?


 
Slonco   (2004-10-22 15:03) [8]

Рад бы да только при запуске на исполнение программы стало выводиться окно отладки CPU ?????? Как его убрать? Не ставил я его! Говорит Thread и какой-то номер. Причем здесь мои потоки?


 
Дмитрий Ботвин   (2004-10-22 15:28) [9]

Значит ты функции BringWindowToTop не тот параметр передаешь.


 
Slonco   (2004-10-22 16:48) [10]

Параметр задал правильно - окно вывелось поверх остальных. :">
А как сделать чтобы оно там и оставалось?
....
Придумал!
FormStyle:=fsStayOnTop ;) но только в рантайме!!! Если в дизайн-тайме поставить fsStayOnTop, то форма просто не создается :(
Почему? Кто ответит?


 
Кириешки ©   (2004-10-22 18:34) [11]

Может вот так поможет

SetWindowPos(Application.Handle, HWND_TOPMOST, 0, 0, Width, Height, SWP_NoSize or SWP_ShowWindow);


 
Кириешки ©   (2004-10-22 18:34) [12]

Может вот так поможет

SetWindowPos(Application.Handle, HWND_TOPMOST, 0, 0, Width, Height, SWP_NoSize or SWP_ShowWindow);


 
DVM ©   (2004-10-22 20:53) [13]

к [11-12] надо бы добавить, что переключаться на окно лучше с пом. SwitchToThisWindow(), т.к. просто так BringWindowToTop, SetForegroundWindow и т.д. в Win2000-xp больше не могут в некоторых случаях выкинуть окно наверх.


 
Slonco   (2004-10-25 09:20) [14]

Увы, ни один из предложенных способов не помог, а SwitchToThisWindow() я совсем не нашел :( Окно выводится поверх остальных и издает звук. Решил не заморачиваться на "деланьи" его активным.

Большое спасибо всем участникам!



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

Форум: "WinAPI";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1100791891
PVOzerski
2004-11-18 18:31
2004.12.05
Загадочная история с CPPBuilder 6


3-1099560939
Kat
2004-11-04 12:35
2004.12.05
Если затем открыть запрос надо ли делать IBQuery.SQL.Clear ?


1-1100579612
FastByte
2004-11-16 07:33
2004.12.05
Как создать таблицу в Word из Delphi ?


6-1096557772
Ig
2004-09-30 19:22
2004.12.05
Статьи по компонентам Indy ( TIdTCPServer,TIdUDPServer)


1-1100685529
Lola
2004-11-17 12:58
2004.12.05
Вывести список файлов из папки, в имени которой есть побел





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский