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

Вниз

StayOnTop   Найти похожие ветки 

 
d6   (2002-08-31 20:57) [0]

Как сделать форму StayOnTop. При установке свойства FormStyle в fsSatyOnTop форма оттображается только поверх окон своего приложения. А мне надо поверх всех.


 
Алексей Ким ©   (2002-08-31 20:59) [1]

Уже спрашивал... и мне надо было но люди такие
ответы писали...


 
Ученик ©   (2002-08-31 21:22) [2]

>d6 (31.08.02 20:57)
Оно будет поверх всех, пока другое приложение это не изменит.


 
VID ©   (2002-09-01 00:34) [3]

SetWindowPos(form1.handle, hwnd_topmost, 0,0,0,0, swp_nomove+swp_nosize);


 
d6   (2002-09-01 11:26) [4]


> VID ©

Это проходит только с главной формой. А мне надо любую.


 
VID ©   (2002-09-01 12:36) [5]

to d6: а ты оказывается шутник :)
а что если вместо приведённого мною в качестве примера FORM1.Handle ты напишешь, MyNotMainForm.Handle ?
т.е. в первом параметре надо указывать хэндл той формы, которую ты собираешься закинуть на верхний уровень.


 
L   (2002-09-01 13:31) [6]


> to d6: а ты оказывается шутник :)
> а что если вместо приведённого мною в качестве примера FORM1.Handle
> ты напишешь, MyNotMainForm.Handle ?
> т.е. в первом параметре надо указывать хэндл той формы,
> которую ты собираешься закинуть на верхний уровень.

Я так и делаю. Форма выходит на верхний уровень, но стоит мне сделать активным любое другое окно (IE например) и она благополучно скрывается под ним.


 
d6   (2002-09-01 13:31) [7]


> to d6: а ты оказывается шутник :)
> а что если вместо приведённого мною в качестве примера FORM1.Handle
> ты напишешь, MyNotMainForm.Handle ?
> т.е. в первом параметре надо указывать хэндл той формы,
> которую ты собираешься закинуть на верхний уровень.

Я так и делаю. Форма выходит на верхний уровень, но стоит мне сделать активным любое другое окно (IE например) и она благополучно скрывается под ним.


 
Юрий Зотов ©   (2002-09-01 14:29) [8]

А что же Вы хотели? Вы ставите форму поверх всех, но ведь этого мало - надо еще запретить ее перемещение по Z-порядку.

type
TForm1 = class(TForm)
procedure FormShow(Sender: TObject);
private
procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
end;

procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
inherited;
with Message.WindowPos^ do flags := flags or SWP_NOZORDER
end;

procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE)
end;


 
Ученик ©   (2002-09-01 14:42) [9]

>Юрий Зотов © (01.09.02 14:29)
Извиняюсь, но с этим даже не поверх TaskBar


 
Юрий Зотов ©   (2002-09-01 14:45) [10]

Естественно. TaskBar - он и в Aфрике TaskBar, у него особый статус.


 
Ученик ©   (2002-09-01 14:47) [11]

>Юрий Зотов © (01.09.02 14:45)
Не, не естественно,
без with Message.WindowPos^ do flags := flags or SWP_NOZORDER, все как надо


 
Юрий Зотов ©   (2002-09-01 14:53) [12]

Точно. Tnx.
Тогда вообще непонятно - а какие же проблемы у d6?



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
1-35727
Yaro
2002-08-31 06:18
2002.09.12
Прорисовка при скроллинге в StringGrid e


3-35581
nic418
2002-08-22 09:19
2002.09.12
DbiRegenIndexes для FoxPro2.5! Помогите горю по срокам!!!


14-35910
VictorT
2002-08-16 17:20
2002.09.12
EPILz


3-35612
Corr
2002-08-22 17:28
2002.09.12
Абсолютный и относительный пути к локальной базе данных


14-35883
SemFLY
2002-08-17 18:40
2002.09.12
Подскажите ,где можно скачать софт для сотовых телефонов ?