Brush Handle값 받아서 테두리없는 사각형패턴
이제 Pen, Brush로 선, 도형 색상이든 그림을 그릴때 무엇을 색상이든 크기등을 조정할 수 있게되었다. 차차 필요한 것은 알아가기로 하자. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == WM_DESTROY)PostQuitMessage(0); else if (uMsg == WM_LBUTTONDOWN) { HDC h_dc = ::GetDC(hWnd); HBRUSH h_brush; const wchar_t* p_style_string[6] = { L"HS_BDIAGONAL",L"HS_CROSS",L"HS_DIAGCROSS", L"HS_FDIAGONAL",L"HS_HORIZONTAL",L"H..
2020. 9. 9.
Pen Handle값 받아서 Pen이나 Brush 다르게 그리는 것
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == WM_DESTROY)PostQuitMessage(0); else if (uMsg == WM_LBUTTONDOWN) { HDC h_dc = ::GetDC(hWnd); HPEN h_pen; const wchar_t* p_style_string[6] = { L"PS_SOLID",L"PS_DASH", L"PS_DOT",L"PS_DASHDOT",L"PS_DASHDOTDOT",L"PS_NULL" }; int pen_style[6] = { PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT, PS_DASHDOTDOT,PS_NULL }; SetBk..
2020. 9. 9.
BitBlt,WM_CLOSE
왼쪽 마우스키를 누르면 비트맵 복사해서 만든 다른 윈도우(클라이언트)에 출력하는 코드 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if(uMsg == WM_DESTROY)PostQuitMessage(0); else if(uMsg == WM_LBUTTONDOWN){ HDC h_wnd_dc = ::GetWindowDC(NULL); HDC h_dc = GetDC(hWnd); BitBlt(h_dc, 0, 0, 300, 200, h_wnd_dc, 50, 50, SRCINVERT); ReleaseDC(hWnd,h_dc); ReleaseDC(NULL); } return DefWindowProc(hWnd,uMsg,wPara..
2020. 9. 7.
마우스로 사각형 움직이기
전체적인 구조의 코드는 너무 기니깐, LRESULT CALLBACK WndProc()함수의 코드만 적도록 하겠다... //전역변수 int g_is_clicked = 0; RECT g_rect = { 50, 50, 50, 50 }; POINT g_prev_pos; LREULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if(uMsg == MW_DESTROY)PostQuitMessage(0); else if(uMsg == WM_PAINT){ PAINTSTRUCT ps; HDC h_dc = BeginPaint(hWnd,&ps); Rectangle(h_dc,g_rect.left,g_rect.top,g_rect.right,g_re..
2020. 9. 6.