BUTTON
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { switch (iMessage) { case WM_CREATE: CreateWindow(TEXT("button"), // 클래스 이름 TEXT("Click Me"), // 캡션 이름 :: 버튼은 캡션이 없으므로 버튼 위에 표시될 이름. WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // WS_CHILD : 윈도우 종속(자식윈도우) / WS_VISIBLE : 윈도우 함께 보이기 / BS_PUSHBUTTON : 버튼 종류 20, //Left xPos 20, //Top yPos 100, //Right xPos 25, //Bottom yPos hWnd, // 부모 윈도우 핸들 (HMENU)0, // 원래라면 메뉴가 들어가지만, 여기선 해당 컨트롤 윈도우의 식별번호로 사용. 형식은 유지되야하므로 (HMENU) 로 캐스팅. g_hInst, NULL); CreateWindow(TEXT("button"),TEXT("Me Two"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,20,50,100,25,hWnd,(HMENU)1,g_hInst,NULL); return 0; case WM_COMMAND: switch (LOWORD(wParam)) { case 0: // 위에서 생성한 윈도우 - 메뉴 설정 부분에 넣은 숫자 0. (버튼도 메뉴처럼 사용하면 됨) MessageBox(hWnd,TEXT("First Button Clicked"),TEXT("Button"),MB_OK); break; case 1: // 위에서 생성한 윈도우 - 메뉴 설정 부분에 넣은 숫자 1. MessageBox(hWnd,TEXT("Second Button Clicked"),TEXT("Button"),MB_OK); break; } return 0; case WM_DESTROY : PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } |
EDIT
#define ID_EDIT 100 // 100 을 ID_EDIT 으로 표시 case WM_COMMAND: case WM_DESTROY: |