字体
第(3/7)页
关灯
   存书签 书架管理 返回目录
com);

    if(g_hBMutex == NULL)

    {

    return FALSE;

    }

    return TRUE;

    }

    (6)初始化控件

    为CRacingDlg 添加初始化函数InitDlgItem,用来初始化对话框的控件,代码如下:

    void CRacingDlg::InitDlgItem()

    {

    // 设置滑动杆的范围和初始位置

    m_RSpeed.SetRange(10, 100);

    m_RSpeed.SetPos(50);

    m_GSpeed.SetRange(10, 100);

    m_GSpeed.SetPos(50);

    m_BSpeed.SetRange(10, 100);

    m_BSpeed.SetPos(50);

    // 暂停按钮的初始状态

    m_bPaused = FALSE;

    枫叶文学网www.fywxw.com

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

    ·220·

    CButton* pBtn;

    // 开始按钮的状态为TRUE

    pBtn = (CButton*)GetDlgItem(IDSTART);

    pBtn->EnableWindow(TRUE);

    // 暂停按钮的状态为TRUE

    pBtn = (CButton*)GetDlgItem(IDPAUSE);

    pBtn->EnableWindow(FALSE);

    // 结束按钮的状态为TRUE

    pBtn = (CButton*)GetDlgItem(IDSTOP);

    pBtn->EnableWindow(FALSE);

    }

    (7)实现线程函数

    实现线程函数ThreadProc,代码如下:

    extern DWORD WINAPI ThreadProc(LPVOID lpParam)

    {

    LPHORSE lpHorse;

    HANDLE hMutex;

    lpHorse = LPHORSE(lpParam);

    // 打开Mutex 对象

    if( lpHorse->color == RED )

    {

    hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FALSE, g_strRNcom);

    }

    else if ( lpHorse->color == GREEN )

    {

    hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FALSE, g_strGNcom);

    }

    else if ( lpHorse->color == BLUE )

    {

    hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FALSE, g_strBNcom);

    }

    枫叶文学网www.fywxw.com

上一页 目录 下一页