Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

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

 
Жорик   (2004-03-14 16:51) [0]

Уважаемые! Помогите, как сделать так, чтобы моё приложение постоянно было активной? Заранее благодарен.


 
Юрий Зотов ©   (2004-03-14 19:09) [1]

Зачем? Вот можете сказать - зачем это надо?

Представьте - у Вас на компе висит программа, которая все время нахально лезет вперед и держит на себе фокус ввода. Работать с другими программам стало практически невозможно.

Что Вы сделаете?


 
Жорик   (2004-03-14 19:32) [2]

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


 
Юрий Зотов ©   (2004-03-14 19:44) [3]

Не самый лучший, но зато самый простой способ - проверять время по таймеру и потом Application.BringToFront.


 
Gero ©   (2004-03-14 19:48) [4]

> в определенное врямя

Имеется ввиду системное время?


 
RomeoGolf   (2004-03-15 17:21) [5]

Делал я такую фишку одному товарищу- имитатор сбоев системы, шутка для защиты от надоедливого соседа, фишка стартовала в автозапуске, не показывалась в панели и через некоторое время выводила сообщения об ошибках, псевдовиндовские, после 4-5-го отправляла систему на перезапуск, соседу объясняли, что машина глючит, пора винды переставлять, и сегодня посидеть до полдвенадцатого не получится. Короче, сообщения я держал на поверхности следующим образом:
 
SetWindowPos(Form1.Handle,hwnd_TopMost,100,200,500,100,SWP_NOMOVE);

Координаты и размер - детали, у меня были переменные,в зависимости от сообщения, а параметры функции выбери из help"а, там много вариантов, мне вполне подходил приведенный.
Функцию я в первой версии вызывал периодически по таймеру, а потом стал обрабатывать OnDeactivate приложения:

...
public
   { Public declarations }
   procedure AppDeactivate(Sender: TObject);
...

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnDeactivate := AppDeactivate;
end;

procedure TForm1.AppDeactivate(Sender: TObject);  //
begin
   SetWindowPos(Form1.Handle,hwnd_TopMost,
        100,200,500,100,SWP_NOMOVE);
end;

В этом варианте она всегда поверх, но без фокуса ввода за ненадобностью. Фокус, думаю, тоже вещь побеждаемая.


 
Deflorator++   (2004-03-15 23:51) [6]

CHDelphiPack
компонент CHForm
свойство OnTopMode


 
EXE7   (2004-03-16 00:12) [7]

Да лучше TopMost делать,
чем активировать свое окно(фокус)по таймеру {дурной тон кстати}



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

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-1078201011
Алексей Петухов
2004-03-02 07:16
2004.04.04
Оптимизация БД


9-1063362059
Тима
2003-09-12 14:20
2004.04.04
Помогите плиз!


1-1079270474
YurikGl
2004-03-14 16:21
2004.04.04
EhLib


3-1078651599
Masha Streltsova
2004-03-07 12:26
2004.04.04
Ни как не получается вставить долбанный ComboBox в DBGrid


6-1074786599
VAN
2004-01-22 18:49
2004.04.04
ПО на компьтере в сети!