字体
第(4/6)页
关灯
   存书签 书架管理 返回目录
, 2, RGB(0, 255, 0));

    oldpen = pDC->SelectObject(&curpen);

    pDC->MoveTo(rect.left, rect.bottom);

    // 用线段近似曲线

    for(int i=0; i
    {

    x = rect.left + (int)(i*xinterval);

    y = rect.bottom - (int)(m_UsageHistory[i]*yinterval);

    pDC->LineTo(x, y);

    }

    // 恢复设备上下文

    pDC->SelectObject(oldpen);

    curpen.DeleteObject();

    }

    (4)动态绘制CPU 使用记录

    响应CCpuUsageDlg 的WM_PAINT 消息,用来动态绘制CPU 使用记录,代码如下:

    void CCpuUsageDlg::OnPaint()

    枫叶文学网www.fywxw.com

    第7 章 图形图像

    ·171·

    {

    if (IsIconic())

    {

    ……

    }

    else

    {

    CPaintDC dc(this);

    // 绘制CPU 使用记录

    DrawDiagram(&dc);

    }

    }

    (5)释放资源

    最后,响应CCpuUsageDlg 的WM_DESTROY 消息,在程序退出时,删除定时器,释放

    系统资源,代码如下:

    void CCpuUsageDlg::OnDestroy()

    {

    CDialog::OnDestroy();

    // 释放定时器资源

    KillTcomr(m_tcomr);

    }

    (6)运行结果

    程序运行后, 界面如图7-2 至7-5 所示。

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·172·

    图7-2 Cpu 使用记录1

    图7-3 Cpu 使用记录2

    图7-4 Cpu 使用记录3 枫叶文学网www.fywxw.com

    第7 章 图形图像

    ·173·

    图7-5 CPU 使用记录

    7.4.2 画刷

    实例7-2:画刷使用实例实例。源代码在光盘中“\07\实例7-2\Color”目录下。

    1.创建程序

    本节利用CDC 类的一个函数和画刷来取得指定点的颜色。首先用Visual C++的

    AppWizard 创建一个基于对话框的应用程序Color,为对话框添加两个图像框控件。为

    CColorDlg 添加如表7-2 所示的成员变量,。

    表7-2 CColorDlg 的成员变量表

    成员变量 类型 作用

    m_StaticC
上一页 目录 下一页