1.使用隨機函數
srand((unsigned)time(NULL));
int rnd = rand()%DJ_MAX_USER;
2.使用定時器
#define TIMER1 WM_USER+1234
BOOL CUIDesignDlg::OnInitDialog()
{
SetTimer(TIMER1,600,0);
}
3.在類視圖中右擊CUIDesignDlg屬性,在消息響應函數中找到WM_TIMER,然後添加響應函數OnTimer()。
void CUIDesignDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
refreshUserList();
CDialogEx::OnTimer(nIDEvent);
}
4.在CUIDesignDlg的析構函數中添加釋放定時器函數
KillTimer(TIMER1);
void CUIDesignDlg::refreshUserList()
{
srand((unsigned)time(NULL));
int rnd = rand()%DJ_MAX_USER;
int rnd1 = rand()%DJ_MAX_USER;
m_tListUser.SetItemText(rnd,1,m_tUser[rnd1].m_s8UserID);
//m_tListUser.SetItemText(rnd,1,m_tUser[rnd1].m_s8TelNo);
m_tListUser.SetItemText(rnd,2,m_tUser[rnd1].m_s8Address);
CString strBuf;
m_tUser[rnd].SetState(1);
m_tListUser.SetItemText(rnd,3,strBuf);
m_tListUser.EnsureVisible(rnd,FALSE);
}
注:
1.設置定時器(定義一個定時器的屬性):
SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD));
2.定時器響應(響應系統定義WM_TIMER消息):
OnTimer( UINT nIDEvent );
3.釋放定時器:
KillTimer( int nIDEvent );
其中:
UINT nIDEvent:定時器的ID,在一個程序中用這個ID來確定是那個定時器發送的消息。
UINT nElapse: 定義刷新時間,即間隔多長時間刷新一次,單位是毫秒。
void (CALLBACK EXPORT* lpfnTimer)( HWND, UINT, UINT, DWORD):回調函數的參數,實現刷新時所做的操作,一般情況下都設爲0。