Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Есть две формы, надо чтобы


Автор: Gnusss 20.5.2006, 22:01
Привет всем!

Объясню:
Например есть Форма1 и Форма2, надо чтобы Форма2 всегда была над Формой1 и наоборот чтобы Форма1 всегда была под Формой2. Т.е. между ними некогда не должно быть третей формы. Т.е формы как бы получаются «приклеены» друг к другу.

Заранее спасибо за ответ! 

Автор: SPrograMMer 20.5.2006, 22:52
ShowModal ? 

Автор: Gnusss 20.5.2006, 23:07
SPrograMMer, а это как может помочь?
ShowModal вообще никаким боком 

Автор: Golden Hands 20.5.2006, 23:12
Gnusss, опиши пример. 

Автор: Foley 20.5.2006, 23:30
Gnusss, FormStyle=StayOnTop подойдет? 

Автор: Gnusss 20.5.2006, 23:33
Foley, тогда форма будет повер всех окон, а мне это не надо. 

Автор: Foley 20.5.2006, 23:50
а как надо? нарисуй картинку и на ней покажи, так трудно догадаться... 

Автор: Gnusss 20.5.2006, 23:51
Golden Hands, что то типа когда меняется Z-позиция одной формы, то автоматически меняется Z-позиция другой. 

Автор: Foley 20.5.2006, 23:57
Gnusss, прилипание что-ли? 

Автор: Sunvas 21.5.2006, 00:30
Gnusss, MDI тебе должно помочь! Ведь исходя из условия 

Цитата(Gnusss @  20.5.2006,  22:01 Найти цитируемый пост)
Т.е. между ними некогда не должно быть третей формы.

это единственное решение. 

Автор: Poseidon 21.5.2006, 04:03
Можно не скромный вопрос? Зачем?

Может есть более гибкое решение поставленной цели 

Автор: Демо 21.5.2006, 11:30
Цитата(Gnusss @  20.5.2006,  23:51 Найти цитируемый пост)
Golden Hands, что то типа когда меняется Z-позиция одной формы, то автоматически меняется Z-позиция другой. 


Каким образом меняется z-позиция одной? Кто ее меняет и каким методом?
Как раз ShowModal полностью удовлетворяет этим требованиям. 

Автор: SPrograMMer 21.5.2006, 20:28
Цитата(Gnusss @  20.5.2006,  23:07 Найти цитируемый пост)
ShowModal вообще никаким боком  

Код

// из 1-ой формы:
Form2.ShowModal
//---------------------
// из второй (если надо)
Form1.ShowModal

и будет тебе - в первом случае: вторая форма над первой, во втором- наоборот 

Автор: Mechanic 21.5.2006, 22:37
Если верно понял, то нужно делать следующее:
Код

procedure TForm2.FormActivate(Sender: TObject);
begin
    //Sticked = 1, 2 for sticked forms  and 0 for others
    Case Sticked of
       1: NextForm.BringToFront;
       2: PrevForm.BringToFront;
    end;
    BringToFront;
end;


Формы держутся вместе по Z-Order'у.
Даже проверил. smile  Код в аттаче. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)