대화상자를 열어놓고 다른작업을 같이 할수 있음.
// MainFrm.h : interface of the CMainFrame class
#include "modellessdlg.h" // 대화상자 만든 클래스
class CMainFrame : public CFrameWnd
{
public:
//생성
CModalDialog *m_pDlg;
}
// 생성자
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
// 초기화
m_pDlg = NULL;
}
// 모달리스 대화상자를 여는 메뉴 선택시
void CMainFrame::OnAdd()
{
// TODO: Add your command handler code here
if( m_pDlg != NULL )
{
//대화상자가 출력해 있음.
m_pDlg->SetFocus();
// SetFocus() 윈도우 창을 선택!(커서)
}
else
{
//처음 대화상자를 열때!
m_pDlg = new CModalDialog;
m_pDlg->Create( IDD_MODELESS, this );
m_pDlg->ShowWindow( SW_SHOW );
}
}
void modellessdlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
DestroyWindow(); // 윈도우 창 없앰
// CDialog::OnClose(); // <= 이거 주석처리 해야됨
}
//대화상자에 닫기를 눌렀을때!
{
DestroyWindow(); // 윈도우 창 없앰
}
void modellessdlg::PostNcDestroy()
{
// TODO: Add your specialized code here and/or call the base class
(( CMainFrame* )AfxGetMainWnd())->m_pDlg = NULL;
delete this;
CDialog::PostNcDestroy();
}
'프로그래밍 > MFC' 카테고리의 다른 글
MFC wave 재생시키기 (0) | 2011.05.28 |
---|---|
MFC CString 멤버 함수 (0) | 2011.05.25 |
[MFC] 다른 클래스로 접근하는 방법 (0) | 2011.05.21 |
MFC 소켓프로그래밍 순서 (0) | 2011.05.17 |
CAstncSocket 클래스의 주요 함수 (0) | 2011.05.16 |