Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2010, 20:24   #1
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию Всплывающее окно и фокус

В программе есть всплывающее окно, как сделать чтобы когда оно будет всплывать, оно было поверх остальных окон, но при этом не брало на себя фокус ввода?
Пример - окно окончания загрузки файла в Firefox, хочу так.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 08.09.2010, 20:35   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

FireFox'a нету, но возможно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Form2: TForm;
begin
  Form2 := TForm.Create(Form1);
  Form2.FormStyle := fsStayOnTop;
  ...
  Form2.Show;
  Form1.Show;
end;
eoln вне форума Ответить с цитированием
Старый 09.09.2010, 00:20   #3
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

ShowWindow, может быть)
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 09.09.2010, 07:03   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

вот так делается, хотя мною (и не только) замечено что этот способ не всегда корректно работает с VCL формами, а для API это просто подарок )
Код:
SetWindowPos(handle, HWND_TOPMOST, 0,0,0,0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);
ZuBy вне форума Ответить с цитированием
Старый 10.09.2010, 17:16   #5
glGizma
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 49
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var Form2: TForm;
begin
  Form2 := TForm.Create(Form1);
  Form2.FormStyle := fsStayOnTop;
  Form2.top:=Form2.top-Form2.Height;
  Form2.Show;
  while Form2.top <= 0 do Form2.top:= Form2.top+1;
  Form1.Show;
  Sleep(1000);
  while Form2.top >= -Form2.Height do Form2.top:= Form2.top-1;
  form2.close;
end;
Так будет немного реалистичнее
glGizma вне форума Ответить с цитированием
Старый 10.09.2010, 17:55   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

glGizma, Вы уверены что это окно не будет забирать на себя фокус?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.09.2010, 18:10   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А в опросе нет варианта запомнить хендл окна с фокусом, показать второе окно и дать старому фокус?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 10.09.2010, 18:43   #8
glGizma
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 49
По умолчанию

Конечно будет
glGizma вне форума Ответить с цитированием
Старый 10.09.2010, 19:11   #9
uraura
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 87
По умолчанию

вот же:

ShowWindow(Form2.Handle, SW_SHOWNA); покажет форму2

ShowWindow(form2.Handle, SW_HIDE); спрячет ее обратно

я использовал для показа своего хинта
http://programmersforum.ru/showthread.php?t=110267
uraura вне форума Ответить с цитированием
Старый 10.09.2010, 19:40   #10
glGizma
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 49
По умолчанию

Код:
uraura;
Вы глупы... Вы пример-то пробовали?
glGizma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
всплывающее окно beygul Помощь студентам 4 28.08.2010 01:43
Всплывающее окно manick Общие вопросы Delphi 1 13.05.2010 21:24
Всплывающее окно rado Работа с сетью в Delphi 0 20.04.2010 18:23
всплывающее окно niziriska Общие вопросы Delphi 5 08.07.2009 13:27
Всплывающее окно EdNovice Общие вопросы Delphi 2 09.07.2008 18:04