-
[MFC] AfxMessageBox 알림창 띄우기 및 활용MFC/Visual C++ 2008 2021. 1. 6. 17:15반응형
https://garage-fullof-dummy.tistory.com/51
**프로젝트 생성은 위의 주소에서 하고 와주세요!
AfxMessageBox 알림창 띄우기 및 활용
1. 다이얼로그 위에 버튼 컨트롤을 하나 배치 해준다.
버튼을 오른쪽 마우스로 클릭해서 속성 창을 열어서 Caption을 '1분 타이머'로 바꿔준다.
2. 버튼에서 오른쪽 마우스를 클릭해서 '이벤트 처리기 추가'를 선택해준다.
3. 버튼 클릭시에 발생하는 이벤트를 처리하기 위한 함수를 추가해준다.
4. 보기에서 '클래스 뷰'를 찾아서 메인 대화 상자인 CTestDlg 클래스에서 오른쪽 마우스 버튼으로 '속성'을 선택해준다.
5. 속성 창에서 메시지 버튼을 클릭해서 어떤 메세지를 처리하려고 하는지 선택해준다.
WM_TIMER 메세지를 처리하기 위한 함수 OnTimer를 추가해서 재정의 해본다.
6. //TestDlg.cpp 파일에서 타이머를 정의 해준다.
7. 아까 추가해준 버튼 컨트롤 함수에다가 타이머를 셋팅해준다.
//TestDlg.cpp
SetTimer(nID , Escape, Func)
nID : 정의해준 타이머의 ID를 넣어준다.
Escape : 타이머가 얼만큼의 시간마다 작동할지 넣어준다.
Func : 타이머가 Escape 시간마다 처리할 함수를 입력해준다. NULL 이라면 OnTimer 함수에서 동작을 수행한다.
이 상태에서 실행하면 1분마다 작동하는 타이머가 될 것이다.
그런데, 만약 1분만 작동하고 다시 버튼을 누르기 전까지는 멈춰있는 타이머를 만들고 싶다면
AfxMessageBox를 MB_OK 모드로 지정해주고(확인 버튼 한개인 창이 뜬다.), IDOK 메세지를 받았을 때 타이머를 죽이도록 셋팅한다.
이렇게 하면 다시 '1분 타이머' 버튼을 누를때까지 타이머가 시작되지 않는다.
+++++ 추가로, 해당 프로젝트를 실행하면 '확인'을 눌러줄 때까지 계속해서 메세지 박스가 생성되는데, 이것은 플래그를 이용하면 처리할 수 있지 않을까 싶다....오늘은 여기까지!
728x90'MFC > Visual C++ 2008' 카테고리의 다른 글
[MFC] 디버깅 정보를 찾을 수 없거나 정보가 ~ (0) 2021.01.14 [MFC] 읽기 전용이므로 추가/제거 (0) 2021.01.12 [MFC] 프로젝트 생성하기 (0) 2021.01.06 [MFC] Date Time Picker으로 선택된 날짜 받아오기 & 현재 시간 받아오기 (0) 2021.01.06 [MFC] 부모 다이얼로그에서 자식 다이얼로그 생성하기 (0) 2021.01.05