본문 바로가기

Windows/MFC

Modeless Window

[code]
VS8은... VS6 과는 좀 다르다... VS6에서는 간단히 Create하면 되었는데...
달라졌더라는..
[/code]

[code]Parent View[/code]
[code]
CModelessDlg::CModelessDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CModelessDlg::IDD, pParent)
    , m_pDlg(NULL)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    m_pDlg = NULL;
}

void CModelessDlg::OnBnClickedButton1()
{
    if (m_pDlg == NULL)
    {
        m_pDlg = new CDlgModeless(this);
        m_pDlg->Create(CDlgModeless::IDD);
        m_pDlg->ShowWindow(SW_SHOW);
    }
    else
    {
        m_pDlg->SetActiveWindow();
    }
}

void CModelessDlg::CloseModeless(void)
{
    m_pDlg = NULL;
    GetDlgItem(IDOK)->EnableWindow();
}
[/code]
[code]Child Dialog[/code]
[code]
void CDlgModeless::OnNcDestroy()
{
    delete this;
    //CDialog::OnNcDestroy();

    // TODO: Add your message handler code here
}

void CDlgModeless::OnCancel()
{
    CModelessDlg* dlg = (CModelessDlg*)GetParent();
    dlg->CloseModeless();
    DestroyWindow();

    //CDialog::OnCancel();
}

void CDlgModeless::OnOK()
{
    // TODO: Add your specialized code here and/or call the base class

    //CDialog::OnOK();
}
[/code]

'Windows > MFC' 카테고리의 다른 글

GetColor 현재 위치에 색상 가져오기  (0) 2013.10.02
CListCtrl NM_LISTVIEW Click event  (0) 2013.10.02
CToolTipCtrl  (0) 2013.10.02
CScrollBar WM_HSCROLL  (0) 2013.10.02
Regexp Regular expression  (0) 2013.10.02