![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управление z-order окон
Чайник © (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;