Форум: "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