티스토리 뷰

 

- API에서 Dialog기반 프로그래밍은 아래와 코드와 같이 WinMain()에서 DIalogBox() 호출하고 WndProc() 대신 DIalogProc() 등록해서 메시지 처리해주면 된다.

- 메시지 루프 구현 없이도 메시지 처리가 된다.

IDD_DIALOG : 화면에 보여줄 Dialog ID
HWND_DESKTOP : 부모윈도우핸들
DialogProc : Dialog 메시지 처리함수명

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
BOOL CALLBACK DialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
 
int APIENTRY WinMain(HINSTANCE hInstane, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)
{
    DialogBox(hInstane, MAKEINTRESOURCE(IDD_DIALOG), HWND_DESKTOP, DialogProc);
}
 
BOOL CALLBACK DialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_INITDIALOG: 
        break;
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDOK:
            EndDialog(hDlg, TRUE);
            break;
        }
        break;
    default:
        break;
    }
    return FALSE;
}
cs
공지사항
최근에 올라온 글
최근에 달린 댓글
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