24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 1251  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mmenglu

铜虫 (初入文坛)

[求助] VC界面求助

在VC中,基于对话框的应用程序可以调用画图命令输出曲线吗?我弄了一个基于对话框的MFC应用程序界面计算实验参数,算法有了,能不能通过一个控件输出曲线,怎么做?感谢高手不吝赐教,万分感激啊!!!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xzhdty: 金币+2, 谢谢骠骑将军 2012-06-28 20:43:16
得到控件cdc,然后直接用笔刷画试试
具体参考这帖子
http://paulfzm.iteye.com/blog/974630
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2012-06-28 15:42:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

wpacer

铁虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xzhdty: 金币+2, 谢谢 2012-06-28 20:43:26
可以,在对话框中加入一个组合框(GroupBox)控件,然后在这个控件中画图
无标题.png
http://kuai.xunlei.com/d/GXSUWBTGMHGT?p=130497

» 本帖已获得的红花(最新10朵)

朗月茶馆董事馆长
2楼2012-06-28 10:29:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

voice2001

铜虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
御剑江湖: 金币+1, 谢谢 2012-06-30 18:45:04
建议用TCHART控件
详细情况可以到网上下载相关资料
4楼2012-06-29 13:43:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpacer

铁虫 (正式写手)

【答案】应助回帖

★ ★
御剑江湖: 金币+2, 谢谢 2012-06-30 18:45:24
jjdg: 编辑内容 2012-07-03 00:48
jjdg: 编辑内容 2012-07-03 00:49
示例代码:
//在CFormView视图中的GroupBox控件中画经度、纬度、高程变化走势图
void CvrpView:: DrawCordTrend()
{
        CWnd* pWnd;
        CString strFlag,str;
        CRect rect;
        CDC* pDC;
        CPen pen,*pOldPen,pen2;
        //画高程、经度、纬度变化走势图的画笔
        CPen penAlti,penLong,penLati;
        //画(无差分)高程、经度、纬度变化走势图的画笔
        CPen penNAlti,penNLong,penNLati;

        CBrush brush,*pOldBrush;
        POINT ptOrig;
        COLORREF crRef;
        int i,iXNum,iYNum,iXStep,iYStep;
        long iXCenter,iYCenter;

        double dAltiMax,dAltiMin,dLongMax,dLongMin,dLatiMax,dLatiMin;

       
        pWnd = (CStatic*)GetDlgItem( IDC_STATIC_TREND );
        pWnd->Invalidate( );

        pWnd->GetWindowRect(& rect );
        pWnd->ScreenToClient(&rect);
       
        rect.left += 18;//10
        rect.top += 17; //15
        rect.right -= 18;//10
        rect.bottom -= 12; //10
       
        ptOrig.x = rect.left;
        ptOrig.y = ( rect.bottom + rect.top ) / 2 ;

        iXCenter = ( rect.left + rect.right ) / 2 ;
        iYCenter = ( rect.bottom + rect.top ) / 2 ;

       
        pDC = pWnd->GetDC();
        //背景透明
        pDC->SetBkMode( TRANSPARENT );
       
        //通用笔,灰白色
        pen2.CreatePen(PS_SOLID,2,RGB(128,128,128) );
        pen.CreatePen(PS_SOLID,1,RGB(0,126,0) );
       
        //画高程曲线的笔
        penAlti.CreatePen(PS_SOLID,2,RGB(255,0,0) );
        //画经度曲线的笔
        //penLong.CreatePen(PS_SOLID,2,RGB(0,255,0) );
        penLong.CreatePen(PS_SOLID,2,RGB(200,200,0) );
        //画纬度曲线的笔
        penLati.CreatePen(PS_SOLID,2,RGB(0,0,255) );

        //画(无差分)高程曲线的笔
        penNAlti.CreatePen(PS_DOT,1,RGB(255,0,0) );
        //画(无差分)经度曲线的笔
        //penNLong.CreatePen(PS_DOT,1,RGB(0,255,0) );
        penNLong.CreatePen(PS_DOT,1,RGB(200,200,0) );
        //画(无差分)纬度曲线的笔
        penNLati.CreatePen(PS_DOT,1,RGB(0,0,255) );

        pOldPen = pDC->SelectObject(&pen2);

        //刷子
        brush.CreateSolidBrush( RGB( 255,255,255) );
        pOldBrush = pDC->SelectObject( &brush);
        pDC->FillRect( &rect,&brush );

        //画边框
        pDC->MoveTo( rect.left,rect.top );
        pDC->LineTo( rect.left,rect.bottom );
        pDC->LineTo( rect.right,rect.bottom );
        pDC->LineTo( rect.right,rect.top );
        pDC->LineTo( rect.left,rect.top );
       

        //画X、Y轴
        pDC->MoveTo( rect.left , ( rect.bottom + rect.top ) / 2 );
        pDC->LineTo( rect.right, ( rect.bottom + rect.top ) / 2 );
       
        pDC->TextOut( rect.left - 16,( rect.bottom + rect.top ) / 2 - 8 ,"00" );
        pDC->TextOut( rect.right + 6 ,( rect.bottom + rect.top ) / 2 - 8 ,"X" );
        pDC->TextOut( rect.right - 10 ,rect.bottom - 3 ,"108" ); //68

        pDC->MoveTo( ( rect.left + rect.right ) / 2  , rect.top );
        pDC->LineTo( ( rect.left + rect.right ) / 2  , rect.bottom );
       
        pDC->TextOut( rect.left - 16,rect.top - 4 ,"26" ); //+8,14
        pDC->TextOut( rect.left - 16 ,rect.bottom - 4 ,"-26" ); //-10,-8,-14

        pDC->TextOut( ( rect.left + rect.right ) / 2 - 9,rect.bottom - 3 ,"54" ); //34
       
        //画轴上的箭头
        pDC->MoveTo( rect.right,( rect.bottom + rect.top ) / 2 );
        pDC->LineTo(  rect.right - 6,( rect.bottom + rect.top ) / 2 - 6 );
        pDC->MoveTo( rect.right,( rect.bottom + rect.top ) / 2 );
        pDC->LineTo(  rect.right - 6,( rect.bottom + rect.top ) / 2 + 6 );

        pDC->MoveTo( ( rect.left + rect.right ) / 2,rect.top );
        pDC->LineTo( ( rect.left + rect.right ) / 2 - 6 ,rect.top + 6 );
        pDC->TextOut( ( rect.left + rect.right ) / 2 + 9,rect.top ,"Y" ); //34

        pDC->MoveTo( ( rect.left + rect.right ) / 2,rect.top );
        pDC->LineTo( ( rect.left + rect.right ) / 2 + 6 ,rect.top + 6 );

       
        //画一个点,第一象限45度角
        pDC->SelectObject(&penNLati);
        pDC->MoveTo( ( rect.left + rect.right ) / 2  , ( rect.bottom + rect.top ) / 2  );
        pDC->LineTo(( rect.left + rect.right ) / 2 +(rect.right-rect.left)/2,( rect.bottom + rect.top ) / 2+( rect.top - rect.bottom ) / 2  );
        pDC->MoveTo( ( rect.left + rect.right ) / 2 +(rect.right-rect.left)/4 ,( rect.bottom + rect.top ) / 2+( rect.top - rect.bottom ) / 4  );
       
        pDC->TextOut(( rect.left + rect.right ) / 2 +(rect.right-rect.left)/4 ,( rect.bottom + rect.top ) / 2+( rect.top - rect.bottom ) / 4,"1(45)" );


        pDC->SelectObject(&pen);
        iXNum = 48;//32
        iYNum = 25;//8,14
        iXStep = ( rect.right - rect.left ) / ( 2 * iXNum );
        iYStep = ( rect.bottom - rect.top ) / ( 2 * iYNum );

        //画横轴栅格线
        for ( i = 1;i < ( iYNum + 1 ); i ++)
        {
                pDC->MoveTo( rect.left, iYCenter - i * iYStep );
                pDC->LineTo( rect.right, iYCenter - i * iYStep );

                pDC->MoveTo( rect.left, iYCenter + i * iYStep );
                pDC->LineTo( rect.right, iYCenter + i * iYStep );
        }

        //画纵轴栅格线
        for ( i = 1;i < ( iXNum + 6 ); i ++) //12
        {
                pDC->MoveTo( iXCenter - i * iXStep, rect.top );
                pDC->LineTo( iXCenter - i * iXStep, rect.bottom );

                if ( !( i % 18 ) ) //17
                {
                        str.Format("%02d",i);
                        //pDC->TextOut( iXCenter - i * iXStep - 8,rect.bottom - 3 ,str);
                        pDC->TextOut( i * iXStep - 4,rect.bottom - 3 ,str);
                        str.Format("%02d",( 108 - i ) );
                        pDC->TextOut( rect.right -  i * iXStep - 6,rect.bottom - 3 ,str);
                }

                pDC->MoveTo( iXCenter + i * iXStep, rect.top );
                pDC->LineTo( iXCenter + i * iXStep, rect.bottom );

        }
       
.................
       
        //恢复系统原来的画笔
        pDC->SelectObject( pOldPen );
        pDC->SelectObject( pOldBrush );
        ReleaseDC( pDC );
        pDC = NULL;

}

[ Last edited by jjdg on 2012-7-3 at 00:49 ]
朗月茶馆董事馆长
5楼2012-06-29 16:10:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 药学求调剂 +11 喽哈加油 2026-04-14 13/650 2026-04-14 21:14 by qingfeng258
[考研] 085400电子信息类(川大控制工程)求调剂可跨专业 求老师联系 +6 626776879 2026-04-08 6/300 2026-04-14 20:09 by gwjxiaolang
[考研] 335求调剂 +19 想上岸呀!! 2026-04-12 21/1050 2026-04-14 16:23 by Art1977
[考研] 297,工科调剂?河南农业大学本科 +9 河南农业大学-能 2026-04-14 9/450 2026-04-14 16:03 by Art1977
[考研] 食品与营养(0955)271求调剂 +15 升格阿达 2026-04-12 16/800 2026-04-14 13:18 by 浮若_安生
[考研] 332求调剂 +15 蕉蕉123 2026-04-10 15/750 2026-04-13 23:12 by pies112
[考研] 0856专硕求调剂 希望是a区院校 +24 好好休息好不好 2026-04-09 27/1350 2026-04-13 22:22 by pies112
[考研] 一志愿厦大生物学332求调剂 +11 池池池池池池 2026-04-08 11/550 2026-04-13 14:10 by 科研论
[考研] 0854调剂 +10 长弓傲 2026-04-11 11/550 2026-04-13 10:38 by wp06
[考研] +10 李多米lee. 2026-04-12 11/550 2026-04-12 22:58 by yuyin1233
[考研] 2本,初试303,0860求调剂 +6 floriea 2026-04-12 8/400 2026-04-12 18:13 by zhouxiaoyu
[考研] 307求调剂 +10 tzq94092 2026-04-10 10/500 2026-04-12 08:18 by wise999
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 0854调剂 +5 音像店听花鼓戏 2026-04-10 5/250 2026-04-11 10:49 by qingpingzhu
[考研] 282,求调剂 +12 jggshjkkm 2026-04-09 14/700 2026-04-11 09:39 by 猪会飞
[考研] 085800 能源动力求调剂 +6 阿biu啊啊啊啊啊 2026-04-10 6/300 2026-04-10 15:03 by hemengdong
[考研] 085601初试330分找调剂 +10 流心奶黄包l 2026-04-09 10/500 2026-04-10 08:14 by Sammy2
[考研] 初试分332,一志愿报考西北工业大学, +11 故人?? 2026-04-09 11/550 2026-04-09 21:54 by JineShine
[考研] 296求调剂 +3 汪!?! 2026-04-08 3/150 2026-04-08 22:00 by zhouyuwinner
[考研] 求调剂,现在还能填的 +3 上岸小莹加油 2026-04-08 3/150 2026-04-08 14:30 by zhq0425
信息提示
请填处理意见