Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Управление z-order окон


Страницы:   1 2

Чайник ©   (2012-02-21 19:16:00) 

Чувствую, что вопрос детский, но ответа не могу найти...
Итак, по ходу работы моё главное окно открывает несколько других окон (не MDI-приложение!). Все нормально, но главное окно почему-то всегда под "вторичными" окнами, даже когда активно.
Пробовал насильно перевести его наверх:

procedure TFMain.FormActivate(Sender: TObject);
var Hwn : HWND;
begin
  if BringWindowToTop(FMain.Handle) Then ShowMessage('Yesss!') Else ShowMessage('Ни фига');
end;


    вроде бы функция выполняется ('Yesss'), нона экране главное окно всё равно сидит под другими.

P.S. Пробовал через
SetWindowPos(FMain.Handle, HWND_TOP, Left, Top, Width, Height, SWP_SHOWWINDOW)
- то же самое.

Как сделать, чтобы главное окно, когда получает фокус, становилось поверх другиз окошек?


QAZ   (2012-02-21 21:51:00) [21]

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


Чайник   (2012-02-21 21:34:00) [22]

Еще раз повторюсь - у мена НЕ MDI приложение. Все вторичные формы ложатся на десктор (т.е. не внутри главной формы). Проблема в том, что главная форма всегда ВНИЗУ

http://imageshack.us/photo/my-images/52/coreloz.jpg/


Чайник   (2012-02-21 21:25:00) [23]


> а как ты их создаеш?


Тупо : Auto-create form


QAZ   (2012-02-21 21:20:00) [24]

а как ты их создаеш?


Чайник   (2012-02-21 21:13:00) [25]


> потому что главная форма родитель других окон,а тебе нужно
> Application сделать их родителем


Аааа, спасибо! А можно чуть поподробнее? Во-первых, как это сделать. А во-вторых, сейчас, когда я закрываю главное окно, все порожденные тоже закрываются. Если родитель будет Application - оно будет само убираться, или это я должен буду позаботиться?


QAZ   (2012-02-21 21:04:00) [26]

потому что главная форма родитель других окон,а тебе нужно Application сделать их родителем


Чайник   (2012-02-21 21:02:00) [27]

To sniknik

Я, видимо плохо объяснил.
У меня так окна и вызываются - Form2.Show; Form3.Show; и т.д.
Проблема в том, что когда они все показаны главное окно находится ПОД ними, даже если оно с фокусом.


sniknik   (2012-02-21 20:13:00) [28]

procedure TForm1.Button1Click(Sender: TObject);
begin
 Form2.Show;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо