안녕하세요^^
저기 제가 지금 만드는 메모장에서요 쪽지 폼이 Form2를 여러개 띄워놓은후에 MainForm 을 강제로 종료를 해버리면 강제로 종료가 될때
Form2 에 쪽지가 바뀐내용이 있으면 저장을 할수 있게 할려고 제가
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Form2.HandleAllocated then
begin
Form2.CheckFileSave;
end;
end;
이런식으로 소스를 만들었는대요..한가지에 문제가 있어서 이렇게
질문을 드립니다.다름이 아니고 저런식으로 하니까 여러쪽지중에 하나만
저장할껀지 물어보고 나머지들은 바뀐내용이 있어도 저장을 할껀지
물어보지를 않아서 질문을 드립니다..
저기 Form2 가 여러개 있더라도 계속 확인하는 방법좀 갈켜주시면
감사드리겠습니다.^^
메인폼의 Close이벤트 말구여...
CloseQuery이벤트인가?
음.. 인스펙트상으로 Close이벤트 바로 밑에 있는 이벤트..
저녁이라.. 갑자기 이벤트 이름이 생각이 가물하네여.. ^^;
하여간.. 메인 폼의 이벤트 중에 CloseQuery 이벤트에
해당 코드를 적어 주시면 되구여..
For I := 0 To MDIChildCount-1 Do
Begin
//=======<< 이런식으로 코딩하시면 될것 같군여 >>========//
자식폼(MDIChildren[I])의 변경된 내용이 저장되었는가?
No이면, 저장하는 루틴
해당 자식폼 Close
End;
그리구, CloseQuery의 이벤트에는
매개변수 CanClose라는 변수가 있는데,
CanClose에 True를 대입하면, 폼이 종료되며, False를 대입하면,
해당 폼이 종료되지 않습니다..
원하시는 답이었는지 모르겠네여..
최강의 프로그래머를 위하여~~~