MessageDlg가 어차피 Modal 로 뜨기 때문에 MessageDlg를 닫기 전에는
다음 코드가 실행되지 않습니다. 그냥 MessageDlg 다음에 코드를 넣으면 됩니다.
아래와같이 MessageDlg를 실행하고 바로 아래 Caption에 현재 시간을 찍는 코드가 있을 경우
MessageDlg를 닫아야 Caption에 현재 시간이 찍힙니다.
만약 다이얼로그에서 Ok 또는 No 등의 리턴을 받고 싶으면
int nRet 값을 이용하면 됩니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int nRet = MessageDlg("test", mtWarning, TMsgDlgButtons() << mbOK, 0);
Caption = Now();
if(nRet == IDOK) {
// OK를 누름..
}
}
그래도 꼭 Close 이밴트를 받고 싶다면
MessageDlg 역활을 하는 Form을 새로 만드셔서 사용하시면 됩니다.
FormClose 시에 Main Form으로 SendMessage 를 날리는 방법등을 사용하면 되겠죠...
초보자 님이 쓰신 글 :
: 안녕하세요.
: main form에서 알람이 발생했을때 MessageDlg를 통해서 경고를 알립니다.
: 이후에 다이얼 로그 창이 닫혔을때 Close 이벤트를 받고자합니다.
: Close이벤트를 통해 다시 경고를 할지 여부를 확인하고자 하려는데
: MessageDlg를 통한 다이얼에서 Close 이벤트 받는 방법을 찾지못해 질문드립니다.
:
|