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

Вниз

форма поверх   Найти похожие ветки 

 
vir ©   (2007-07-05 17:48) [0]

Как создать форму чтобы она на экране была всегда выше основной формы. Но не была StayOnTop? Последнее не подходит т.к. она прекрывает и другие приложения.


 
Ega23 ©   (2007-07-05 17:53) [1]

Form2.ShowModal


 
vir ©   (2007-07-05 17:55) [2]

нет, это останавливает поток вызыващий ShowModal и не дает получать фокус на  другие окна.


 
Игорь Шевченко ©   (2007-07-05 17:58) [3]

BringToFront ?


 
vir ©   (2007-07-05 18:02) [4]

я же говорил всегда ....
т.е. даже при получении фокуса другим окном программы


 
Игорь Шевченко ©   (2007-07-05 18:10) [5]

Тогда простого способа нет. Отслеживай активацию приложения, говори этой форме показаться наверху вызовом

 SetWindowPos(Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);


 
{RASkov} ©   (2007-07-05 19:04) [6]

> [0] vir ©   (05.07.07 17:48)
> Как создать форму чтобы она на экране была всегда выше основной
> формы. Но не была StayOnTop? Последнее не подходит т.к.
> она прекрывает и другие приложения.

fsStayOnTop
И ничего она не перекрывает, если она не МайнФорм в проекте....


 
Инс ©   (2007-07-05 19:22) [7]

Интересно, а как будет выглядеть "драка за TOP", когда пользователь запустит два экземпляра Вашей программы...


 
{RASkov} ©   (2007-07-05 19:41) [8]

> [7] Инс ©   (05.07.07 19:22)

Абсолютно нормально.... если использовать fsStayOnTop
:) Конечно еще зависит от желаний автора.


 
Инс ©   (2007-07-05 19:43) [9]


> Абсолютно нормально.... если использовать fsStayOnTop


Дык да, но... автор, как я понял, хочет каким-то другим путем насильно выносить форму на передний план.


 
{RASkov} ©   (2007-07-05 19:48) [10]

> [9] Инс ©   (05.07.07 19:43)

>[0]...была всегда выше основной формы. Но не была StayOnTop? Последнее не подходит т.к. она прекрывает и другие приложения.

Откуда он пришел к такому мнению.....
Нет... я не тебя спрашиваю.... так это... комментарий автору:)


 
rom4eg   (2007-07-06 06:18) [11]

Форма (не мэйнформ) с StayOnTop, например, может закрыть панель задач с меню "пуск"


 
{RASkov} ©   (2007-07-06 16:36) [12]

> [11] rom4eg   (06.07.07 06:18)
> Форма (не мэйнформ) с StayOnTop, например, может закрыть
> панель задач с меню "пуск"

Да... верно, но оно так и должно быть... и только тогда когда программа, с дочерней формой которая StayOnTop, активна и фокус у той дочерней формы....
Можно глупый совет - таймер и [5] :) или [5] и без таймера, но здесь "каждый" чих ловить нужно... т.е. внимательно следить за тем, что бы ее показывать сверху и только в своем приложении....


 
Юрий Зотов ©   (2007-07-07 14:04) [13]

procedure TForm1.FormDblClick(Sender: TObject);
var
 F: TForm2;
begin
 F := TForm2.Create(Self);
 Windows.SetParent(F.Handle, Handle);
 F.Show;
end;


 
Юрий Зотов ©   (2007-07-07 15:04) [14]

Пояснение - вариант [13] не вполне "чистый", но, возможно, подойдет. Если нет - см. [5].



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
2-1184062709
AleksandrR
2007-07-10 14:18
2007.08.05
Работа с датой


15-1183808974
Bertoluchi
2007-07-07 15:49
2007.08.05
Встречайте новичка


15-1182688287
Martov_cat
2007-06-24 16:31
2007.08.05
Как обработать переменнную типа byte через Table?


2-1183995471
AZIZE
2007-07-09 19:37
2007.08.05
Help me!!!


1-1180200153
Calibr
2007-05-26 21:22
2007.08.05
Текст с консоля