본문 바로가기

Programming/MFC

[MFC] 내가 만든 메세지 박스



직접 만들었다.

사용법이 복잡허다..-_-;;;


그냥 생각없이 만들다 보니까 이렇게 됐다. ㅎㅎ;


//=====================================================

//프로젝트의 헤더 파일에 추가해준다.

//=====================================================


//내가 만든 메세지 박스 다이얼로그
CMsgBox *m_msgBox;

int MsgBox(CString lpszTitle,CString lpszText,int nButtons);


//예/아니오 버튼 상태 변수

BOOL isYesNo;


//모두 예 버튼 체크 변수
BOOL allYes;

//=====================================================

//프로젝트의 cpp파일에 추가해준다.

//=====================================================

int Cinoexl1Ctrl::MsgBox(CString lpszTitle,CString lpszText,int nButtons)
{
     // 메세지 박스 다이얼로그 초기화, 생성
     m_msgBox = new CMsgBox();
 
     m_msgBox->lpszTitle = lpszTitle;//메세지 박스 다이얼로그의 이름 ^^;
     m_msgBox->lpszText = lpszText;//메세지 박스 출력 내용
     m_msgBox->nButtons = nButtons;//버튼의 종류(?)... MB_OK, MB_YESNO 등...
 
     int bf;


     if(allYes == TRUE)
     {
          bf = IDYES;
     }
     else
     {
          bf = m_msgBox->DoModal();

          if(bf == TRUE)                bf = IDYES;
          else if(bf == FALSE)       bf = IDNO;
          else if(bf == CHECK){     allYes = TRUE; bf = IDYES;}
     }

     isYesNo= bf;
 
     return isYesNo;

}

//=====================================================

//실제 사용할 때 코딩

//=====================================================

bmk = MsgBox("경고",msg,MB_YESNO);

if(bmk == IDYES)             failCnt++;
else if(bmk == IDNO){      RemoveCurrExlData(); return FALSE;}


다시봐도...진짜 복잡허다;;