비주얼 스튜디오가 기본적으로 제공해주는 Client프로젝트의 winMain은 초심자인 나에게 도전 욕구를 꺽는 아주 불친절한 존재다.
별 것도 아닌 것들을 리소스에 넣어넣고, 땡겨오고, 변수화 하고 읽기 아주 불편하게 해놨다.
조금씩 정리해를 해보고자 한다.
HWND CreateWindowW(
LPCWSTR lpClassName, // 등록된 윈도우 클래스 이름
LPCWSTR lpWindowName, // 윈도우 제목
DWORD dwStyle, // 윈도우 스타일
int x, // 윈도우의 x 좌표
int y, // 윈도우의 y 좌표
int nWidth, // 윈도우 너비
int nHeight, // 윈도우 높이
HWND hWndParent, // 부모 윈도우 핸들
HMENU hMenu, // 메뉴 핸들(또는 자식 윈도우 ID)
HINSTANCE hInstance, // 인스턴스 핸들
LPVOID lpParam // 추가 매개변수
);
윈도우 생성하고 핸들값을 반환하는 WinApi 함수다.
클래스 이름과 윈도우 제목은 직접 지정해줘도 된다.
이후 클래스이름만 동일하게 맞춰준다.
GetMessage는 메세지가 없으면 반환값이 없다.
반응형 프로그램 제작시 사용가능하겠지만,
기본적으로 그래픽스는 게임과 연관이 많으니, 메세지가 없어도 구동 가능한 형태로 변경한다
PeekMessage는 메세지가 없어도 반환하니, 메세지가 없을때 우리의 그래픽이 연산을 하면 된다.
'Study > C++' 카테고리의 다른 글
DX11) 프로젝트 설정 (0) | 2025.01.25 |
---|---|
C++) ComPtr (0) | 2025.01.24 |
C++) 싱글톤(Singleton) 패턴 (0) | 2025.01.23 |