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