![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите мне с этой задачей:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin form2.showmodal; end; http://www.delphisources.ru/forum/at...d=129615910 9 Когда нажимаю на кнопку "Да" то форма закрывается текст сохраняется. А пр нажатие на нопку "Нет" тогда хочу чтоб закрыласьтолько вторая форма, а первая не закрывалась, а код я написал вот так: Код:
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Memo1.Lines.SaveToFile('1.txt');
Form2.Close;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Form2.Close;
end;За ранее блогодаен |
|
#2
|
||||
|
||||
|
Закрывает оба окна в том случае, если ваша 2 форма - главная. Соответственно при ее закрытии закроется вся программа.
Выходов несколько: или сделайте главной другую форму, или, например, просто не закрывайте главную форму, а прячьте ее (не Form2.Close, а Form2.Hide). |
|
#3
|
||||
|
||||
|
[off]
Опять хакиры наступают. ![]() XaKeR282, не твой ли ДР 24 Октября 1998? Совет - смени ник на нормальный. [/off] |
|
#4
|
|||
|
|||
|
Главно окно у меня Form1, а помоему он закрывает оба окна потомучто Form2 вызывается при закритие Form1, а как правильно сделать, не знаю((
|
|
#5
|
||||
|
||||
|
который раз замечаю бессмысленные посты конрда и не ясно зачем.
Последний раз редактировалось ALexandr555, 28.01.2011 в 11:03. |
|
#6
|
|||
|
|||
|
Например можно сделать так:
Код:
//FORM1
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2.Tag:=0;
form2.showmodal;
if form2.Tag=3 then
Action:=caNone
end;
//Form2
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
form2.Tag:=3;
close;
end; |
|
#7
|
||||
|
||||
|
Цитата:
Начни з 20-й страниц и до 1-й: http://www.delphisources.ru/forum/se...&pp=25&page=20 |
|
#8
|
||||
|
||||
|
Делай не в OnClose а в OnCloseQuery, изменяя переменную CanClose (она определяет закрывать окно или нет).И если ты вызываешь вторую форму как модальную, то просто проверяй ModalResult. У кнопки "Да" установи свойство ModalResult в mrOk, у кнопки "Нет" - mrCancel и в OnCloseQuery впиши этот код:
Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := Form2.ShowModal = mrOk; end; |
|
#9
|
|||
|
|||
|
Цитата:
Попробовал этот код, 100 ощибок!!! |
|
#10
|
|||
|
|||
|
Цитата:
Спасибо, получилось)) |