Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 26

/ вопрос открыт /

Подскажите, что надо сделать, чтобы форма находилась поверх всех окон.
Спасибо!

Игорь Середюк Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Игорь Середюк (статус: Посетитель)
Вопрос отправлен: 27 июня 2006, 13:21
Состояние вопроса: открыт, ответов: 6.

Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович

Здравствуйте, Игорь Середюк!
Вам нужно свойствe FormStyle дать значение fsStayOnTop

Приложение:
  1. FormStyle:=fsStayOnTop;


Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)
Время отправки: 27 июня 2006, 14:19

Ответ #2. Отвечает эксперт: Вадим К

Здравствуйте, Игорь Середюк!
У формы FormStyle = fsStayOnTop
Но для полного функционала, наверное прийдётся перехватывать деактивацию формы и выводить её поверх. Но после того, как в 3.11 windows программисты взяли привычку выводить окошка повер всех, майкрософт зделала многое, что бы препятствовать этому.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 27 июня 2006, 14:24

Ответ #3. Отвечает эксперт: Евгений В

Здравствуйте, Игорь Середюк!
В свойстве FormStyle поставте значение fsStayOnTop.

Ответ отправил: Евгений В (статус: 1-ый класс)
Время отправки: 27 июня 2006, 14:33

Ответ #4. Отвечает эксперт: Alexander A. Gribanov

А чем не угодило свойство формы FormStyle, установленное в fsStayOnTop ?
Если действительно чем-то не угодило - можно посмотреть на win-API функцию SetForegroundWindow() и те, что рядом с ней...

Ответ отправил: Alexander A. Gribanov (статус: 2-ой класс)
Время отправки: 27 июня 2006, 17:01

Ответ #5. Отвечает эксперт: min@y™

Если надо поверх всех окон ТВОЕГО приложения, то действительно, FormStyle:= fsStayOnTop;. А если надо повесить окно поверх ВСЕХ окон СИСТЕМЫ, то см. приложение.

Приложение:
  1. procedure TMainForm.FormActivate(Sender: TObject);
  2. begin
  3. SetWindowPos(Handle,
  4. hwnd_TopMost,
  5. Left,
  6. Top,
  7. Width,
  8. Height,
  9. swp_noActivate);
  10. end;


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 28 июня 2006, 08:15

Ответ #6. Отвечает эксперт: Programme®

Здравствуйте, Игорь Середюк!
Для того, чтобы форму сделать поверх окон надо в пункте "FormStyle" "Инспектор объектов" выбрать "fsStayOnTop", либо смотри приложение.

Приложение:
  1. Procedure TForm1.Button1Click(Sender:TObject);
  2. Begin
  3. Form1.FormStyle:=fsStayOnTop;
  4. End;


Ответ отправил: Programme® (статус: 1-ый класс)
Время отправки: 28 июня 2006, 19:26


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:52
Выполнено за 0.03 сек.