winapi 질문드립니다. 에디트 박스 만드는데 어디서 잘못됐는지 알려주세요ㅜㅜ
조회수 350회
winapi 질문드립니다. 에디트 박스 만드는데 어디서 잘못됐는지 알려주세요ㅜㅜ.
윈도우즈 api정복 독학 중인데 아래와 같이 비주얼스튜디오 2022(64비트)에서 실행하는데 작동이 안됩니다. 왜 안되는지 알려주세요ㅜㅜ부탁드립니다
include
define ID_EDIT 100
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HWND hEdit; HINSTANCE g_hInst; LPCTSTR lpszClass = TEXT("Edit");
int APIENTRY wWinMain(In HINSTANCE hInstance, In_opt HINSTANCE hPrevInstance, In LPWSTR lnCmdLine, In int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst = hInstance;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = lpszClass;
WndClass.lpszMenuName = NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hWnd, nCmdShow);
while (GetMessage(&Message, NULL, 0, 0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return((int)Message.wParam);
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam){ TCHAR str[128]; switch (iMessage) { case WM_CREATE: hEdit = CreateWindow(TEXT("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL, 10, 10, 200, 25, hWnd, (HMENU)ID_EDIT, g_hInst, NULL); return 0; case WM_COMMAND: switch (LOWORD(wParam)) { case ID_EDIT: switch (HIWORD(wParam)) { case EN_CHANGE: GetWindowText(hEdit, str, 128); SetWindowText(hWnd, str); } } return(0); case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd, iMessage, wParam, lParam)); }
댓글 입력