본문 바로가기

Programming/API

api 그림그리기 2 //브러쉬와 팬을 만들어보도록하자. case WM_PAINT : HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hWnd,&ps); //먼저 브러쉬4개와 기본 브러쉬 1개를 만들자.​ HBRUSH hMyBrush[5]; hMyBrush[1] = CreateHatchBrush(HS_DIAGCROSS,RGB(186,0,255)); hMyBrush[2] = CreateHatchBrush(HS_VERTICAL,RGB(0,128,255)); hMyBrush[3] = CreateHatchBrush(HS_BDIAGONAL,RGB(125,100,50)); hMyBrush[4] = CreateHatchBrush(HS_CROSS,RGB(128,128,128)); hMyBrush[0] = (HBR.. 더보기
api 그림그리기1 case WM_PAINT : HDC hDC; PAINTSTRUCT ps; HBRUSH hMyBrush,hPrevBrush; //그림그리기 과정에는 나의 브러쉬와 기본 디폴드 브러쉬 2개가 필요하다. hDC = BeginPaint(hWnd, &ps); hMyBrush =(HBRUSH)GetStockObject(GRAY_BRUSH); //나의 브러쉬를 지정한다. hPrevBrush =(HBRUSH)SelectObject(hDC,hMyBrush); //기본 브러쉬를 지정한다. Rectangle(hDC, 50,50,300,200); SelectObject( hDC,hPrevBrush); DeleteObject( hMyBrush); //그림을 그리기 위해서는 나의 브러쉬를 주고난다음 그리고난다음 끝마치면 기존 브.. 더보기
각종 박스들 COMMAND입력 //버튼박스 체크기능 case CHILD_BUTTON_CHECK1: { switch(SendMessage(g_hButton_Check1, BM_GETCHECK, 0,0)) { case BST_CHECKED: SendMessage(g_hButton_Check1, BM_SETCHECK,BST_UNCHECKED,0); break; case BST_UNCHECKED: SendMessage(g_hButton_Check1, BM_SETCHECK, BST_CHECKED, 0); break; } break; } case CHILD_BUTTON_CHECK3: { switch(SendMessage(g_hButton_Check3, BM_GETCHECK, 0,0)) { case BST_INDETERMINATE: SendMes.. 더보기
각종 박스들 만들기! // 버튼박스 CreateWindow(L"button",L"Button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,10,40,200,20,hWnd, (HMENU)CHILD_BUTTON, NULL,NULL); ​ //기본 체크박스 CreateWindow(L"button",L"CheckBox", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 10,130,200,20,hWnd,(HMENU)CHILD_BUTTON_CHECK1,NULL,NULL); //Auto 체크박스 CreateWindow(L"button",L"AutoCheckBox", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, 10,160,200,20,hWnd,(HMENU)CHIL.. 더보기
자식 윈도우창 만들기 - 4 창 비활성화 하기 EnableWindow(g_hButton_Check1, FALSE); g_hButton_check1 의 핸들값을 비활성화 시킨다. EnableWindow(g_hButton_Check1, TRUE); g_hButton_check1 의 핸들값을 활성화 시킨다 더보기
wParam WPARAM값의 정체 과거 WPARAM 16bit /LPARAM 32bit => 현재 32Bit / 32Bit 0x12345678 (이라고 볼때) 1234 High //// 5678 Low HIWORD(Param) => 상위 비트값 얻어오기 (WORD) data >> 16 & 0xffff LOWORD(Param) => 하위 비트값 얻어오기 (WORD) data 하나의 Param을 두개로 쪼갤수 있다. 더보기
PostMessage,SendMessage BOOL PostMessage(HWND, UINT, WPARAM, LPARAM);​ ​대상 메시지 내용1 내용2 보내고 결과 리턴하고 끝낸다. 성공 True 실패 False(쿨한 친구) LRESULT SendMessage(HWND, UINT, WPARAM, LPARAM) 메시지를 보내고 결과를 기다려서 그 값을 리턴한다.(다양한 값 리턴) 더보기
자식 윈도우창 만들기 - 3 WM_COMMAND case WM_COMMAND: { switch(LOWORD(wParam)) { case CHILD_BUTTON_CHECK1: { switch(SendMessage(g_hButton_Check1, BM_GETCHECK, 0,0)) { case BST_CHECKED: SendMessage(g_hButton_Check1, BM_SETCHECK,BST_UNCHECKED,0); break; case BST_UNCHECKED: SendMessage(g_hButton_Check1, BM_SETCHECK, BST_CHECKED, 0); break; } break; } case CHILD_BUTTON: MessageBox(hWnd,L"버튼을 누르셨네요.",L"알람",MB_OK); break; } br.. 더보기
자식 윈도우창 만들기 - 2 CreateWindow(L"static",L"종류:Button",WS_CHILD| WS_VISIBLE,10,10,200,20, hWnd,NULL,NULL,NULL); L"static" 더보기
자식 윈도우창 만들기 - 1 enum = 열거용 자료 #define 과 비슷 CreateWindow(생성할 클래스,제목,스타일,X,Y,Width, Height,부모,메뉴번호,인스턴스,MDI); WS_VISIBLE 윈도우 생성시 바로표시 BS_PUSHBUTTON 누르는 버튼 스타일 버튼을 눌렀을때 일어나는 현상 uMsg WM_COMMAND wParam LOWORD Control Id HIWORD State ID 더보기