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

Вниз

Всегда активная форма.   Найти похожие ветки 

 
Андрей Ваганов   (2002-11-24 18:27) [0]

Привет Всем!
Кто пробовал создать форму которая была бы всегда активной, либо получала фокус сразу после его потери(например при сообщениях винды или собственных).
Как анализировать потерю фокса знаю:

protected Procedure LastFocus(var Mess:TMessage); message WM_ACTIVATE;

. . . .
. . . .
. . . .
procedure TForm1.LastFocus(var Mess : TMessage) ;
begin
if Mess.wParam = WA_INACTIVE then
Form1.Panel.Color:=clInactiveCaption
else
Form1.Panel.Color:=clActiveCaption;
Inherited;
end;

...просто меняю цвет панели.
Подскажите пожалуйста как вернуть фокус форме.
_________________
Заранее Благодарю
Ваганов Андрей


 
rhf ©   (2002-11-24 19:17) [1]

SetForegrounfWindow()


 
Андрей Ваганов   (2002-11-25 13:26) [2]

...ну и...
...у меня не прет!


 
Андрей Ваганов   (2002-11-25 13:27) [3]

...да ясно енто!
...но у меня не прет!


 
vaneks   (2002-11-25 14:01) [4]

Попробуй у главной формы покалдовать со свойствами.
Если неошибаюсь по-моему FormStyle нужно установить в StayOnTop или что-то созвучное!


 
Андрей Ваганов   (2002-11-25 14:05) [5]

2 vaneks
Пробовал! Все хорошо! Но форма не активна.


 
esu ©   (2002-11-25 14:23) [6]

Дак а как же работать если всегда активна только твоя форма ??
Такгда уж меняй оболочку с explorer на свою программу... Эффект тот же :)


 
Андрей Ваганов   (2002-11-25 14:59) [7]

2 esu
Такая форма нужна в тех случаях, когда требуется отделить ламеров от системы(именно этот способ требуется)!
А на счет того, чтобы сменить оболочку я подумывал, но не знаю как. А можно ли в таком случае(если сменить оболочку) администратору попасть в систему?


 
esu ©   (2002-11-25 15:05) [8]


> Андрей Ваганов (25.11.02 14:59)

Ну эт от твоей оболочки зависит, а еще зависит от того какая у тебя операционная система.
Что-то такое должно заменить стандартную оболочку win9x на старую, как в win3x но можно написать свою. И там скажем кнопку поставить которая бы при нажатии ATL+"Наши поезда самые поездатые поезда в мире" активировалась и меняла твою оболочку на стандартную.

ini := TIniFile.Create("c:\windows\system.ini");
ini.WriteString("boot", "shell", "progman.exe");
ini.Free;

Естественно c:\windows писать нельзя, нужно использовать GetWindowsDirectory для определения местоположения винды.


 
Андрей Ваганов   (2002-11-25 18:45) [9]

2 esu
Благодарю за идею!
С Уваженим
Андрей Ваганов



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
4-5353
_Newbie
2002-12-22 00:15
2003.02.03
Два вопроса. Указатель на структуру и тип ULONG_PTR в M$ VS .NET.


3-4739
viper
2003-01-15 17:15
2003.02.03
Проблема вывода на печать в FastReports!


3-4712
Шевченко Александр
2003-01-18 11:35
2003.02.03
Вопросы по работе с ADO.


1-4852
Oleon
2003-01-24 16:19
2003.02.03
Поиск компонентов конкретного класса на форме в RUNTIMEе...


14-5129
kronprince
2003-01-13 16:37
2003.02.03
Разочаровался я в Delphi :(((