我想让一段代码不停的运行,放在OnSearchMonster函数但它只运行一次,放在TimerProc里又用不了CListBox函数,有什办吗?VOID CALLBACK TimerProc(
HWND hwnd, // handle of window for timer messages
UINT uMsg, // WM_TIMER message
UINT idEvent, // timer identifier
DWORD dwTime // current system time
)
{
/*for(int i=0;i<20;i++ )
{
if(buffer[i].nook)
{
int d=m_monster_data.FindString(0,buffer[i].Name);
if(d<0)
{
m_monster_data.AddString(buffer[i].Name);
for(int count=0;count<20;count++)
{
if(monster[count].nook==false)
{
monster[count].nook=true;
strcpy(monster[count].Name,buffer[i].Name);
monster[count].number=buffer[i].number;
count=21;
}
}
}
}
}*/
}
void CMyDlg::OnSearchMonster()
{
UpdateData(true);
if (m_search_mon)
{ SetTimer(1000,3000,TimerProc);
}
/*for(int i=0;i<20;i++ )
{
if(buffer[i].nook)
{
int d=m_monster_data.FindString(0,buffer[i].Name);
if(d<0)
{
m_monster_data.AddString(buffer[i].Name);
for(int count=0;count<20;count++)
{
if(monster[count].nook==false)
{
monster[count].nook=true;
strcpy(monster[count].Name,buffer[i].Name);
monster[count].number=buffer[i].number;
count=21;
}
}
}
}
}*/
}
HWND hwnd, // handle of window for timer messages
UINT uMsg, // WM_TIMER message
UINT idEvent, // timer identifier
DWORD dwTime // current system time
)
{
/*for(int i=0;i<20;i++ )
{
if(buffer[i].nook)
{
int d=m_monster_data.FindString(0,buffer[i].Name);
if(d<0)
{
m_monster_data.AddString(buffer[i].Name);
for(int count=0;count<20;count++)
{
if(monster[count].nook==false)
{
monster[count].nook=true;
strcpy(monster[count].Name,buffer[i].Name);
monster[count].number=buffer[i].number;
count=21;
}
}
}
}
}*/
}
void CMyDlg::OnSearchMonster()
{
UpdateData(true);
if (m_search_mon)
{ SetTimer(1000,3000,TimerProc);
}
/*for(int i=0;i<20;i++ )
{
if(buffer[i].nook)
{
int d=m_monster_data.FindString(0,buffer[i].Name);
if(d<0)
{
m_monster_data.AddString(buffer[i].Name);
for(int count=0;count<20;count++)
{
if(monster[count].nook==false)
{
monster[count].nook=true;
strcpy(monster[count].Name,buffer[i].Name);
monster[count].number=buffer[i].number;
count=21;
}
}
}
}
}*/
}
推荐一种:
(1)你在TimerProc里面SendMessage(主窗体句柄,自定义消息号,buffer指针,NULL);
(2)你在有CListBox窗体的中 ON_MESSGE(自定义消息号,处理函数)
注意:处理函数LRESULT 函数名(WPARA A,LPARA B);处理函数中把收到的Buffer指针,_monster_data.AddString(buffer[i].Name);即可