C130 MFC-부채꼴 그리기 원을 그리는 것은 쉽지만 부채꼴을 그리기 위해서는 조금더 알아야 할것이 존재한다. 먼저 코드와 실행 화면을 보자. //View::OnPaint CBrush NewBrush( RGB( 0, 192, 192 ) ); CBrush* pOldBrush = dc.SelectObject( &NewBrush ); // CRect를 사용해 특정 좌표를 기억한 이후 CRect PieRect(20, 20, 140, 140); // Pie 함수를 사용해 부채꼴을 그린다. dc.Pie( PieRect, CPoint( PieRect.CenterPoint().x, PieRect.top ), CPoint(PieRect.right, PieRect.CenterPoint().y)); PieRect = CRect( 150, 20, 270.. 2010. 5. 16. MFC-도형 그리기 기본적으로 그리기를 제공하는 원이나, 사각형이 아닌 삼각형을 포함한 다각형을 그리고 싶을 때 어떻게 해야 하는지, 먼저 예제를 보자. //View::OnPaint LOGBRUSH lb; lb.lbStyle = BS_SOLID; lb.lbColor = RGB( 100, 100, 100 ); CPen NewPen; // 여기서 PS_JOIN_MITER가 추가 되었는데 // 이 외에도, ROUND, BEVEL이 존재. NewPen.CreatePen( PS_GEOMETRIC | PS_ENDCAP_FLAT | PS_JOIN_MITER, 20, &lb ); CPen* pOldPen = dc.SelectObject( &NewPen ); CBrush NewBrush( RGB( 0, 0, 192 ) ); CBrush* .. 2010. 5. 16. MFC-선 그리기 이전 GDI개념에 대해 설명할때 간단하게 선의 속성을 잡아 주는 것을 보았다. 이번엔 여러개의 선을 그리고, 그 선에 따른 스타일 값에 따른 변화를 살짝 살펴 보자. WM_PAINT메시지를 추가 하고. //View::OnPaint // 특정 스타일을 기억하게 하기 위한 변수 LOGBRUSH lb; lb.lbStyle = BS_SOLID; lb.lbColor = RGB( 192, 192, 192 ); // 여러개의 팬을 만든다. CPen arNewPen[3]; // 팬을 사용 하였을 때, 이전 값을 저장하기 위해 CPen의 *변수 생성 CPen* pOldPen = NULL; // 각각의 팬의 속성을 지정해 준다. arNewPen[0].CreatePen( PS_GEOMETRIC | PS_SOLID | PS_.. 2010. 5. 16. MFC-GDI의 개념 API에서 GetDC라던가, BeginPaint라던가, ReleaseDC, EndPaint에 대해서, CDC 클래스가 담당 하고 있다고 생각하면 딱히 GDI의 개념 자체는 바뀐게 없다. WM_PAINT에서는 화면에 출력, 가려진 부분이 생기면 다시 출력 하거나 그런 부분은 모두 똑같고, Pen이나 Brush에 대한 것도 CPen이나 CBrush 클래스에서 정보들을 가지고 있다. OldPen이나 OldBrush를 통해서 되돌아 오는 DC의 값을 저장해 두었다가, 출력이 끝나면 다시 이전 값으로 되돌리는 작업이라던가. BitMap을 출력할 때 MemDC를 사용해서 미리 그려 넣은 후 Dc간의 복사를 해준다거나 하는 것도 API의 GDI와 차이가 없다. 단지 그것이 클래스에서 관리하게 되었다는 것뿐? 일단 실.. 2010. 5. 16. MFC-마우스 입력( TRACKMOUSEEVENT ) ...... 1시간동안 썻는데, 실수로 지워서 날라갔다..... 제..ㄴ........자..............ㅇ 다시 쓰자 orz 요점만 다시.............. 후우 잡설은 여까지 하고 TRACKMOUSEEVENT는 마우스 추적을 위한 기능, //View::OnMouseMove // m_bTrack은 View에 멤버변수(BOOL타입, 초기값 FALSE) if( m_bTrack == FALSE ) { TRACKMOUSEEVENT MouseEvent; ::ZeroMemory( &MouseEvent, sizeof( MouseEvent ) ); // 최초 변수 생성 후 ZeroMemory를 사용해 초기화 // cbSize에 sizeof를 사용해 크기 저장 MouseEvent.cbSize= sizeof.. 2010. 5. 16. MFC-새로운 클래스 추가 하기 mfc에서 CWnd 클래스를 기본 클래스로 하는 새로운 클래스를 만드는 방법은 다음과 같다. 프로젝트에서 마우스 우 버튼을 사용해 클래스 추가. 그 후 MFC클래스 선택 후 추가 클래스 이름을 사용하고 베이스 클래스를 선택한다. 그 후 생성! 2010. 5. 16. 이전 1 2 3 4 5 6 7 ··· 22 다음