mfc如何检查该定时器 ID 是否有效
时间: 2023-08-18 11:09:21 浏览: 78
MFC做的定时器
MFC 提供了一个函数 `CWnd::GetTimerID()`,可以用于获取一个窗口或控件关联的定时器 ID。如果该函数返回 0,表示定时器 ID 无效,否则表示定时器 ID 有效。
因此,在检查定时器 ID 是否有效时,可以先获取该窗口或控件关联的定时器 ID,然后判断返回值是否为 0,如果为 0,则说明该定时器 ID 无效,否则说明该定时器 ID 有效。下面是一个示例代码:
```
UINT_PTR nTimerID = SetTimer(nElapse, pfnTimerProc);
if (nTimerID != 0)
{
// 定时器 ID 有效,可以执行相应的操作
// ...
// 检查定时器 ID 是否有效
CWnd* pWnd = GetDlgItem(IDC_MY_TIMER);
UINT_PTR nID = pWnd->GetTimerID();
if (nID == nTimerID)
{
// 定时器 ID 有效
// ...
}
else
{
// 定时器 ID 无效
// ...
}
}
else
{
// 定时器创建失败
// ...
}
```
在上面的代码中,先使用 `SetTimer()` 函数创建一个定时器,并获取返回的定时器 ID。然后,通过 `GetDlgItem()` 函数获取一个控件的指针,并使用 `GetTimerID()` 函数获取该控件关联的定时器 ID。接着,判断获取到的定时器 ID 是否与创建的定时器 ID 相同,如果相同,则说明该定时器 ID 有效,否则说明该定时器 ID 无效。
阅读全文