![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как свернуть окно программы, если оно родило модальное окно. [D7, WinME]
Реактор © (2004-07-21 00:08:00)Основное окно программы рожает модальное окно (show modal), после чего могу свернуть модальное окно, но не могу свернуть главное окно программы. Как бы сделать так, что бы они оба сворачивались.
Акакий (2004-07-23 13:39:00) [1]Удалено модератором
Реактор (2004-07-23 13:13:00) [2]Извините. все работает. Я переписал с ошибкой.
Тестировщица_ (2004-07-22 19:21:00) [3]У меня работает. Но, возможно, не так как ты ожидаешь. При сворачивании модального окна сворачивается и главное окно (т.е. они оба сворачиваютя - как и написано в вопросе).
Реактор (2004-07-22 10:49:00) [4]Не работает. Модальное как сворачивалочь, так и сворачивается, а предок хрен свернешь.
Тестировщица_ (2004-07-21 11:23:00) [5]Германн © (21.07.04 03:35) [5] В данном случае - никакого. Просто дурная привычка 8)
CHES (2004-07-21 10:18:00) [6]to Реактор
inherited вызывает метод класса-предка
Реактор (2004-07-21 08:53:00) [7]Ох. Спасибо большое. Я с ТР на BD недавно пересел.
А что такое inherited;?
Германн (2004-07-21 03:35:00) [8]2 Тестировщица (21.07.04 01:26) [4]
А какой глубокийсмысл в строке - if Form2.Visible=true then? Чем она лучше строки if Form2.Visible then...
Тестировщица (2004-07-21 01:26:00) [9]
unit Unit1;
//...........
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
if Form2.Visible=true then
SendMessage(Form2.Handle,WM_SYSCOMMAND,SC_RESTORE,0);
end;
//.............
unit Unit2;
//...........
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure WMSYSCOMMAND(var msg:TMessage);message WM_SYSCOMMAND;
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.WMSYSCOMMAND(var msg:TMessage);
begin
if (Msg.wParam=SC_MINIMIZE) then
begin
SendMessage(Form1.Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
Exit;
end;
inherited;
end;
end.
Можно сделать примерно так. Но зачем сворачивать модальные окна???
Eugene1501 (2004-07-21 00:46:00) [10]Сворачивать модальные окна - плохой тон.
Реактор (2004-07-21 00:28:00) [11]Создаешь две формы. В одной пишешь Showmodal(Form2); и все, Form1 уже не сворачивается.
Gero (2004-07-21 00:18:00) [12]
> Основное окно программы рожает модальное окно
Я бы хотел это увидеть ;)