как правильно врантайме вытащить форму на верх?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение alexs » 07.11.2005 00:58:07

в дельфях привык писать для показа формы такой код:
Код: Выделить всё
if not assigned(Form1) then
 Form1:=TForm1.Create(Application);
Form1.Show;

в результате форма если надо создавалась и отображалась первая

в лазаре если форма уже создана то на верх она не выходит
вобщем нужно чтобы форма была первая по Z-order
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Sphinx » 07.11.2005 19:22:25

WinAPI не пробовал ?
Код: Выделить всё
SetActiveWindow(Form1.Handle);
Sphinx
новенький
 
Сообщения: 33
Зарегистрирован: 27.09.2005 21:52:09

Сообщение Сергей Смирнов » 07.11.2005 20:09:47

Попробуй ещё добавить
Код: Выделить всё
Form1.SetFocus;
Хотя это и выглядит излишним, может помочь.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение alexs » 08.11.2005 03:32:04

WinAPI не пробовал ?

Ну не хочется мне зависить от винды - не привык

Попробуй ещё добавить
Код 
Form1.SetFocus;
Хотя это и выглядит излишним, может помочь.

Помогло - но как-то это не красиво - не сомесимо с дельфой :(
по моему это баг
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Nikolay » 08.11.2005 09:43:23

Однозначно баг.
Там не все события обрабатываются в очереди.
Nikolay
 

Сообщение Сергей Смирнов » 08.11.2005 12:02:54

Однозначно баг.
Там не все события обрабатываются в очереди.
Это, вероятно, одно из проявлений бага 1052.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

Рейтинг@Mail.ru