class CGraphic { private : CArrayObj m_arr_curves; CCanvas m_canvas; //--- parameters background int m_height; int m_width; //--- parameters work space int m_left; int m_right; int m_up; int m_down; //--- default parameters work space int m_left0; int m_right0; int m_up0; int m_down0; //--- size of dash on the axes int m_mark_size; //--- scaling parameters double m_dx; double m_dy;
나는 CGraphic 클래스의 멤버에 대해 이야기했는데, 이제는 모두 비공개이며 상속인의 m_canvas, m_dx, m_dy 및 기타 오버로드 멤버에 액세스하지 않으면 작동하지 않습니다.
이제 더 명확해졌습니다. 십자형(및 아마도 다른 상호 작용) - 이것은 성경 로마서의 내장(필수) 기능입니까, 아니면 상속을 추가했습니까?
예, 상속에 의해 추가되었습니다.
SB 그래픽에서 십자형, 확대/축소(양방향) 및 커서 값 강조 표시와 같은 상호 작용 요소를 보고 싶습니다.
메인과 소통하겠습니다. 나도 뭔가 필요해.
- 강조 표시(그렇지 않은 경우 최소한 GetNearY/X 함수)가 필요합니다. 강조 표시는 상속으로 구현하는 것이 더 좋습니다. 사람마다 다릅니다.)
- 아직 십자선 자체는 필요하지 않은데, 아직 성경과 아무 관련이 없는 차트 이벤트의 결과이기 때문입니다.
- 픽셀 좌표에 의해 결정되는 스케일 값 획득 - 이것이 필요합니다.
- 주모모는 어렵다. 스크롤바가 없기 때문입니다. 그리고 솔직히 말해서, 나는 그들이 이 수업에 소개되는 것을 원하지 않습니다. 현재 CCanvas만 사용하고 다른 개체를 요구하지 않습니다. 그리고 이것은 매우 좋습니다. 나는 상속에 의해 자체적으로 확대/축소를 구현할 계획이며 스크롤 막대 를 넣고 필요한 만큼 크기를 조정합니다.
그것들을 virtual 로 만들어도 CGraphics 클래스의 멤버에 대한 전체 액세스 없이 정상적인 오버로드를 수행할 수 없으므로 그들 모두(대부분)는 protected 로 선언되어야 합니다.
이 *** 플롯 기능은 보호됩니다 .
이 *** 플롯 기능은 보호됩니다 .
{
private :
CArrayObj m_arr_curves;
CCanvas m_canvas;
//--- parameters background
int m_height;
int m_width;
//--- parameters work space
int m_left;
int m_right;
int m_up;
int m_down;
//--- default parameters work space
int m_left0;
int m_right0;
int m_up0;
int m_down0;
//--- size of dash on the axes
int m_mark_size;
//--- scaling parameters
double m_dx;
double m_dy;
나는 CGraphic 클래스의 멤버에 대해 이야기했는데, 이제는 모두 비공개이며 상속인의 m_canvas, m_dx, m_dy 및 기타 오버로드 멤버에 액세스하지 않으면 작동하지 않습니다.
좋아, 그러면 모든 것이 당신의 손에 달려 있습니다) 나는 기다릴 것입니다.
그 동안 일시적으로 로컬 변경
일부 기능(모든 곳이 아님)에서 나눗셈이 있으면 0을 확인하지 않습니다.
예를 들어
{
...
...
double x_size=(m_x.Max()-m_x.Min());
double xf_size=xf2-xf1;
//--- keep scaling parameters
m_dx=xf_size/ x_size ;
x.Max() == Min()인 경우 zero_devide가 여기에 발생합니다.
또한 Axis::CalcStepSize / CalcBoundedStepSize / SelectAxisScale 등
일부 기능(모든 곳이 아님)에서 나눗셈이 있으면 0을 확인하지 않습니다.
예를 들어
{
...
...
double x_size=(m_x.Max()-m_x.Min());
double xf_size=xf2-xf1;
//--- keep scaling parameters
m_dx=xf_size/ x_size ;
x.Max() == Min()인 경우 zero_devide가 여기에 발생합니다.
또한 Axis::CalcStepSize / CalcBoundedStepSize / SelectAxisScale 등
고마워, 내가 고칠게.
많은 검사로 라이브러리에 과부하가 걸리지 않도록 Axis::SelectAxisScal 메서드의 모든 경우를 고려했습니다.
1. enum ENUM_AXIS_TYPE이(가) 아침에 수정하지 않은 파일인 것 같습니다.
---
2. 이전 페이지에서 ENUM_AXIS_TYPE의 작업을 테스트했습니다.
콜백 함수의 스타일로 ValuesFunctionFormat을 수행하기 때문에 함수에서 일부 void* 매개변수를 반환해야 합니다.
CAxis 에 추가
void * m_cbdata; // <---
...
// изменить
void ValuesFunctionFormat(DoubleToStringFunction func , void * cbdata ) { m_values_func=func; m_cbdata=cbdata; }
// добавить получение этого void*
void * ValuesFunctionFormatCBData( void ) const { return m_ c bdata ; }
CGraphic:: CalculateXAxis 에서
void * cbdata=m_x.ValuesFunctionFormatCBData(); // <---
...
case AXIS_TYPE_CUSTOM:
{
m_xvalues[i]=(xfunc== NULL ) ? NULL : xfunc(x, cbdata); // <---
----
이 콜백 매개변수는 arrX 배열의 위치를 알고 있는 객체에 대한 포인터를 전달하는 데 필요합니다.
함수는 본질적으로 정적이며 정확히 무엇을 호출했는지 알 수 없기 때문입니다.
추신.
그리고 이것은 원칙적으로 이미 시계열을 표시한 결과가 이렇습니다.
그리고 이것은 원칙적으로 이미 시계열을 표시한 결과가 이렇습니다.
차트가 비어있는 순간부터 동영상이나 긴 애니메이션을 만들어주세요. GIF로 무엇인지 몰랐습니다.
그게 낫다?
이 전문가는 Canvas + CGraphic Roman에서 작동합니다.
이 경우 여러 악기에서 P / L을 구축합니다.이 전문가는 Canvas + CGraphic Roman에서 작동합니다.
이 경우 여러 악기에서 P / L을 구축합니다.이제 더 명확해졌습니다. 십자형(및 아마도 다른 상호 작용) - 이것은 성경 로마서의 내장(필수) 기능입니까, 아니면 상속을 추가했습니까?
SB 그래픽에서 십자형, 확대/축소(양방향) 및 커서 값 강조 표시와 같은 상호 작용 요소를 보고 싶습니다.
저것들. Advisor/indicator를 통해 GraphPlot을 만들고 즉시 이 기능을 얻습니다.
이제 더 명확해졌습니다. 십자형(및 아마도 다른 상호 작용) - 이것은 성경 로마서의 내장(필수) 기능입니까, 아니면 상속을 추가했습니까?
예, 상속에 의해 추가되었습니다.
SB 그래픽에서 십자형, 확대/축소(양방향) 및 커서 값 강조 표시와 같은 상호 작용 요소를 보고 싶습니다.
메인과 소통하겠습니다. 나도 뭔가 필요해.
- 강조 표시(그렇지 않은 경우 최소한 GetNearY/X 함수)가 필요합니다. 강조 표시는 상속으로 구현하는 것이 더 좋습니다. 사람마다 다릅니다.)
- 아직 십자선 자체는 필요하지 않은데, 아직 성경과 아무 관련이 없는 차트 이벤트의 결과이기 때문입니다.
- 픽셀 좌표에 의해 결정되는 스케일 값 획득 - 이것이 필요합니다.
- 주모모는 어렵다. 스크롤바가 없기 때문입니다. 그리고 솔직히 말해서, 나는 그들이 이 수업에 소개되는 것을 원하지 않습니다. 현재 CCanvas만 사용하고 다른 개체를 요구하지 않습니다. 그리고 이것은 매우 좋습니다.
나는 상속에 의해 자체적으로 확대/축소를 구현할 계획이며 스크롤 막대 를 넣고 필요한 만큼 크기를 조정합니다.