首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到Teechart图和Teechart画布的上/左和上/右?

如何找到Teechart图和Teechart画布的上/左和上/右?
EN

Stack Overflow用户
提问于 2015-06-06 01:31:30
回答 1查看 148关注 0票数 1

我正在尝试找出Teechart控件和客户端坐标中所有四个角的图形画布。

有谁知道Teechart API会返回所有四个角的画布坐标吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-06-11 21:56:47

要确定图表在窗口窗体中的位置,可以使用.Left.Top图表属性。以同样的方式,您可以使用ChartRect获取TChart角。请看下面的代码:

代码语言:javascript
复制
// CDraggingDlg message handlers

BOOL CDraggingDlg::OnInitDialog()
{
….
    CDialog::OnInitDialog();
    // Extra initialization
    m_ctrlChart.RemoveAllSeries();

    m_ctrlChart.GetAspect().SetView3D(false);
    m_ctrlChart.AddSeries(scLine);
    m_ctrlChart.Series(0).FillSampleValues(100); 
    return TRUE;
}

std::string text; 

void CDraggingDlg::OnAfterDrawTChart() 
{

    // Draw a white circle around the clicked pyramid...

    CTeeRect r = m_ctrlChart.GetGetChartRect();
    long recwidth, recheight, posLeft, posTop; 

    int BottomLCornerX,BottomLCornerY, BottomRCornerX, BottomRCornerY, TopLCornerX, TopLCornerY, TopRCornerX, TopRCornerY;
    std::string s1, s2, s3; 

    //Get Width
    recwidth = (r.GetRight()- r.GetLeft()); 
    recheight = (r.GetBottom()-r.GetTop()); 

    //GetPosition
    posLeft =   m_ctrlChart.GetLeft(); 
    posTop = m_ctrlChart.GetTop(); 

    //CalculateCorners
    BottomLCornerX = r.GetLeft();
    BottomLCornerY = r.GetBottom(); 
    BottomRCornerX = r.GetRight(); 
    BottomRCornerY = r.GetBottom(); 
    TopLCornerX = r.GetLeft(); 
    TopLCornerY = r.GetTop(); 
    TopRCornerX = r.GetRight; 
    TopRCornerY = r.GetTop(); 
    //Visualization Values
    s1 = "Position Chart :" + std::to_string(posLeft) + "," + std::to_string(posTop); 
    s2 = "Chart Rect Positons: Left " + std::to_string(r.GetLeft()) + " Top " + std::to_string(r.GetTop()) + " Right " + std::to_string(r.GetRight()) + " Bottom " + std::to_string(r.GetBottom());
    s3 = "Chart Rect Corners: BottomLeft  " + std::to_string(BottomLCornerX) + "," + std::to_string(BottomLCornerY) + " BottomRight " + std::to_string(BottomRCornerX) + "," +
    std::to_string(BottomRCornerY) + "\n TopLeft  " + std::to_string(TopLCornerX) + "," + std::to_string(TopLCornerY) + " TopRight " + std::to_string(TopRCornerX) + "," + std::to_string(TopRCornerY); 
    text = s1 + "\n" + s2 +"\n"+s3 ;
}
void CDraggingDlg::OnButton1()
{MessageBox(text.c_str()); }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30672509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档