티스토리 뷰


클래스 명..음..그냥..

class CAnimatedGraph 로

필요한 내용은



멤버..

일단 일정 시간 동안의 데이터 값을 저장하고 있어야할 테고(LogData*) // 이것도 CArray로 처리해야겠다..

위의 데이터를 정규화 시킨 (CPoint *)

데이터 몇개를 보여줄지 설정해야하고(nViewDataSize)

그릴 영역의 정보(RECT)

Grid의 수(nXGridNumber , nYGridNumber)

최대 최소 값(fXMax , fXMin , fYMax , fYMin)




함수..

데이터를 뒤에 추가 할 수 있어야할 테고(AddData)

데이터 몇개(GetDataSize)

그리기 함수(Draw(CDC*))

영역 설정(SetArea(x,y,x',y'))


기본적인 기능의 구현은 은근히 간단하네...그럼 직접 코딩으로..


* CArray 멤버 추가하니 afxtempl.h 를 인클루드 해주네...기본이 아닌듯 하다..


아래가 결과 헤더 파일...변수 private정리나 보기 좋게 정리하는건 귀찮아서 나중에...-_-


#pragma once
#include "afxtempl.h"
class CAnimatedGraph
{
public:
 CAnimatedGraph(void);
public:
 ~CAnimatedGraph(void);
public:
 // 로그 데이터 배열
 CArray<LogData> m_arrLogData;
public:
 // 그래프를 그릴 영역
 RECT m_rectArea;
public:
 // x축 그리드 그릴 수
 int m_nXGridNumber;
public:
 // y축 그리드 그릴 수
 int m_nYGridNumber;
public:
 // x축 최대값
 float m_fXMax;
public:
 // x축 최소값
 float m_fXMin;
public:
 // y축 최대값
 float m_fYMax;
public:
 // y축 최소값
 float m_fYMin;
public:
 // 데이터를 추가하는 함수
 int AddData(LogData data);
public:
 // 현재 데이터 크기를 리턴하는 함수
 int GetDataSize(void);
public:
 // 그리기 함수
 int Draw(CDC* pDC);
public:
 // 그래프를 그릴 영역을 설정
 int SetArea(float x1, float y1, float x2, float y2);
};



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함