24小时热门版块排行榜    

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

mmenglu

铜虫 (初入文坛)

[求助] VC界面求助

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

» 猜你喜欢

已阅   回复此楼   关注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的回帖
查看全部 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的回帖

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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 药学求调剂 +10 RussHu 2026-04-12 12/600 2026-04-15 12:02 by zhping515
[考研] 273求调剂 +4 白居不易. 2026-04-09 6/300 2026-04-14 19:54 by 逆水乘风
[考研] 通信工程求调剂!!! +4 zlb770521 2026-04-14 4/200 2026-04-14 18:19 by lbsjt
[考研] 一志愿085502,267分求调剂 +19 再忙也要吃饭啊 2026-04-08 20/1000 2026-04-14 16:03 by zs92450
[考研] 279学硕食品专业求调剂院校 20+6 孤独的狼爱吃羊 2026-04-12 28/1400 2026-04-14 15:44 by zs92450
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 085404 298分求调剂 +11 呼啦呼啦呼呼呼 2026-04-10 12/600 2026-04-14 08:38 by wfj257
[考研] 0856专硕求调剂 希望是a区院校 +24 好好休息好不好 2026-04-09 27/1350 2026-04-13 22:22 by pies112
[考研] 一志愿085802 323分求调剂 +13 drizzle_9 2026-04-12 14/700 2026-04-13 10:26 by Faiz5552
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 一志愿西北工业大学289 085602 +33 yang婷 2026-04-10 34/1700 2026-04-12 08:11 by Art1977
[考研] 085404 293求调剂 +9 勇远库爱314 2026-04-08 9/450 2026-04-12 02:24 by 秋豆菜芽
[考研] 296求调剂 +14 汪!?! 2026-04-08 15/750 2026-04-11 20:28 by dongdian1
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 0854调剂 +8 950824he@ 2026-04-09 8/400 2026-04-11 10:11 by zhq0425
[考研] 337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 08:57 by zhq0425
[考研] 085506-求调剂-285分 +3 雷欧飞踢 2026-04-08 3/150 2026-04-11 08:37 by zhq0425
[考研] 调剂 +19 小张ZA 2026-04-10 20/1000 2026-04-10 22:08 by 猪会飞
[考研] 284求调剂 +9 让我上岸吧阿西 2026-04-09 11/550 2026-04-10 19:18 by 靖jing
[考研] 本9 一志愿西工大085601 324求调剂 +5 wysyjs25 2026-04-10 5/250 2026-04-10 16:57 by luoyongfeng
信息提示
请填处理意见