2014-01-07 7 views
0

저는 C++로 재생하고 창을 생성하기 시작했습니다. 나는 CreateWindow 기능을 사용하고 난 오류 여기CreateWindow 인수 유형 오류

Error 2 error C2664: 'HWND CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID)' : cannot convert argument 9 from 'const int' to 'HWND' 

와 무엇입니까 것은 나는 나오지 않았어 말하려고하는 것을 asume 것이다 오류를 살펴보면 질문

//Create the window 
hwnd = CreateWindow(
    "HelloDirectXClass",//Class name, defined above 
    "Hello DirectX",//Top bar title 
    WS_OVERLAPPED | WS_SYSMENU, WS_CAPTION,//Window style, using default 
    GetSystemMetrics(SM_CXSCREEN)/2 - WIDTH/2,//Position relitive to top left corner, X CXSCREEN notice the CX<--for X or width 
    GetSystemMetrics(SM_CYSCREEN)/2 - HEIGHT/2,//Position relitive to top left corner, Y CYSCREEN notice the CY<--for Y or height 
    WIDTH, 
    HEIGHT, 
    (HWND)NULL,//Setting window parent 
    (HMENU)NULL, 
    hInstance,//Window instance defined above 
    (LPVOID)NULL); 

의 코드입니다 arg에서 9, (HMENU)NULL을 정수에서 HWND 유형의 함수로 변환하십시오. 도큐멘트가 arg 9가 내가 가지고있는 것처럼 HMENU이어야한다고 말하기 때문에 이것은 아무런 의미가 없습니다.

Here

는이 문자 바꾸기 버그

WS_OVERLAPPED | WS_SYSMENU, WS_CAPTION,

전체 코드 덤프 여기

+0

오류 메시지가 –

+0

를 CreateWindow 함수하지 CreateWindowExA을 의미로 WS_CAPTION 전에 ,을 @VladfromMoscow 내 전체 대구를 보면'CreateWindowExA'를 사용하지 않기 때문에 더 혼란 스러웠습니다. 전자 덤프. –

+0

CreateWindow는 매크로 정의 일 뿐이며, 유니 코드가 아닌 컴파일의 경우 CreateWindowExA로 변환됩니다. – marcinj

답변