字体
第(1/6)页
关灯
   存书签 书架管理 返回目录
    Horse.speed = m_BSpeed.GetPos();

    m_BlueHorse.size = 10;

    m_BlueHorse.rect.TopLeft() = racingrect.TopLeft()+CPoint(0, racingrect.Height()*2/3);

    m_BlueHorse.rect.right = m_BlueHorse.rect.TopLeft().x + racingrect.Width();

    m_BlueHorse.rect.bottom = m_BlueHorse.rect.TopLeft().y + racingrect.Height()/3;

    m_BlueHorse.x = m_BlueHorse.rect.left + m_BlueHorse.size;

    m_BlueHorse.y = m_BlueHorse.rect.top + m_BlueHorse.rect.Height()/2;

    // 创建蓝马线程

    m_hBlue = CreateThread(NULL, 0, ThreadProc, &m_BlueHorse, 0, &tID);

    if(m_hBlue == NULL)

    {

    AfxMessageBox("创建线程失败");

    枫叶文学网www.fywxw.com

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

    ·226·

    }

    }

    // 设置按钮状态

    CButton* pBtn;

    pBtn = (CButton*)GetDlgItem(IDSTART);

    pBtn->EnableWindow(FALSE);

    pBtn = (CButton*)GetDlgItem(IDPAUSE);

    pBtn->EnableWindow(TRUE);

    pBtn = (CButton*)GetDlgItem(IDSTOP);

    pBtn->EnableWindow(TRUE);

    }

    (11)响应“暂停”按钮

    响应“暂停”按钮,用来暂停和继续线程,代码如下:

    void CRacingDlg::OnPause()

    {

    // 得到button 的指针

    CButton* pBtn = (CButton*)GetDlgItem(IDPAUSE);

    // 改变按钮的名称

    if( !m_bPaused )

    {

    SuspendThread(m_hRed);

    SuspendThread(m_hGreen);

    SuspendThread(m_hBlue);

    pBtn->SetWindowText("继续");

    }

    else

    {

    RescomThread(m_hRed);

    RescomThread(m_hGreen);

    RescomThread(m_hBlue);

    枫叶文学网www.fywxw.com

上一章 目录 下一页