데스크탑 응용 프로그램에서 기본적인 winapi동작 배워보는 중이다.
화면을 정중앙에 맞춰 띄우려면
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
위 함수 내부의 createwindow부분에서 4,5번째 parameter을 설정해주면 된다.
먼저 화면 중앙 좌표 계산해준다.
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
hInst = hInstance; // 인스턴스 핸들을 전역 변수에 저장합니다.
// 화면 해상도 얻기
int nResolutionX = GetSystemMetrics(SM_CXSCREEN);
int nResolutionY = GetSystemMetrics(SM_CYSCREEN);
// 창 화면 중앙 위치 계산
int nWinPosX = nResolutionX / 2 - WINSIZEX / 2;
int nWinPosY = nResolutionY / 2 - WINSIZEY / 2;
HWND hWnd = CreateWindowW(
szWindowClass, //윈도우 클래스 이름
szTitle, //타이틀 바에 띄울 이름
WS_OVERLAPPEDWINDOW, //윈도우 스타일
nWinPosX, //윈도우 화면 좌표 x
nWinPosY, //윈도우 화면좌표 y
4, 5번째 parameter가 윈도우 화면 좌표 x,y를 나타내므로 저 두 값을 변경해준다.