Главная страница
    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.038 c
8-1094274897
Nomolos
2004-09-04 09:14
2004.12.05
MCI-окна


6-1096052283
ildar_kh
2004-09-24 22:58
2004.12.05
Отладчик РНР


8-1094471202
L@rs
2004-09-06 15:46
2004.12.05
BINK32W.DLL


14-1100801242
Quath
2004-11-18 21:07
2004.12.05
Мастерам словесного поноса!!! Читать обязательно!!!


14-1100679552
NewDelpher
2004-11-17 11:19
2004.12.05
Зачем нужна JAVA и надо ли на неё переходить?





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