티스토리 뷰

- 모달 대화상자

대화상자가 종료되기 전까지 부모 윈도우로 포커스 이동 안됨

int DialogBox(HINSTANCE hInst,
LPCWSTR 대화상자ID,
HWND 부모윈도우핸들,
DLGPROC 대화상사의 함수);

구조

1. DialogBox - 대화상자 화면 출력
2. EndDialog - 대화상자 종료
3. DialogProc - 대화상자 메시지 처리

대화상자에 있는 컨트롤(버튼 등의 자식윈도우)에서 이벤트 발생 시 다이얼로그에 WM_COMMAND 메시지와 함께 컨트롤ID는 LOWORD(wParam)에 저장되어 전달된다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_COMMAND:
        {
            int wmId = LOWORD(wParam);
            // 메뉴 선택을 구문 분석합니다.
            switch (wmId)
            {
            case ID_MODAL:
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG), hWnd, DialogProc);
                break;
cs

DialogProc() 코드 아래 링크 참조
http://petra.tistory.com/admin/entry/post/?id=853

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31