이제 WinMain을 알아보겠습니다.
HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_EX200903)); //리소스 파일 로딩
MSG msg;
// 기본 메시지 루프입니다:
while (GetMessage(&msg, nullptr, 0, 0)) //이벤트가 일어나면 큐에 하나씩 쌓이고 GetMessage로 큐에 있는것을 빠져나오게한다.
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) //단축키 적용하려는 함수
{
TranslateMessage(&msg); //키보드를 누르거나 때면 WM_CHAR 메세지를 발생시킨다.
DispatchMessage(&msg); //WinProc에 던져준다.
}
}
return (int) msg.wParam;
}
Message는 이벤트가 일어나면 큐에 하나씩 쌓인다.
(큐: 자료구조의 하나로 먼저 들어간것이 먼저 빠져나온다. (first in first out => FIFO)
TranslateMessage는 단축키 처리함수이다. 즉 키보드를 누르거나 떼면 WM_CHAR 메세지를 발생시킨다.
그리고 if함수에서 적용시킨다.
DispatchMessage는 들어온 메세지를 WinProc 에 던져주는 역할을 한다.
이번에는 이렇게 도움말을 눌렀을 때 나타내 주는 것과 이것을 ctrl+A로 단추키 설정 해보겠습니다.
여기에 들어가서
정보를 더블클릭하면 메뉴편집기가 나온다. 여기서 Caption을 바꿔주면 된다.
단축키 설정도 바꾸고자 하는 ID와 보조키 + 키를 설정해 주면 된다.
'비트교육 > API' 카테고리의 다른 글
API(8) -window destop으로 선 원 sin그래프 그리기 (0) | 2020.09.07 |
---|---|
API(7) - realtime 방식과 button ,setTimer (0) | 2020.09.05 |
API(5) -WM_PAINT에 대해 알아보기! (0) | 2020.09.03 |
API(4) -win32의 WndProc에 대해 알아보기! (0) | 2020.09.03 |
API(3) -win32의 WinProc에 대해 알아보기! (0) | 2020.09.03 |