void CBandDlg::OnBtnShow()
{
SetTimer(1,1000,NULL);
}在OnTimer中
void CBandDlg::OnTimer(UINT nIDEvent)
{ //未调用!!!!!!!!!
if(nIDEvent==1)
{
AfxMessageBox("success");
}
} 说明:基于对话框的应用程序,而且在该程序中有两个对话框,CBandDlg是主对话框!
OnTimer函数是通过向导添加的
执行程序,1秒后对话框消失,请问为什么不响应OnTimer函数呢?搞不明白
{
SetTimer(1,1000,NULL);
}在OnTimer中
void CBandDlg::OnTimer(UINT nIDEvent)
{ //未调用!!!!!!!!!
if(nIDEvent==1)
{
AfxMessageBox("success");
}
} 说明:基于对话框的应用程序,而且在该程序中有两个对话框,CBandDlg是主对话框!
OnTimer函数是通过向导添加的
执行程序,1秒后对话框消失,请问为什么不响应OnTimer函数呢?搞不明白
解决方案 »
- 如何sniffer3G无线上网卡
- 这是用什么控件做的
- printf("%d,%d\n",sizeof(long),sizeof(int)); 在vc2008下都是4,
- 画波形图时如何实现800个像素表示10000个点的值?
- 软件升级界面下载时候有个进度条,这个进度条,应该的步进应该根据啥来?一边下载一边显示进度条,是不是要用多线程?
- 请问如何在类mainframe里面相应基于类chtmlview里面的命令啊?请看详细...
- 谁知道用VC开发GIS系统时地图数据库如何建?
- 为何看不到网络邻居上其它计算机的共享文件夹?
- 如何判断一个驱动是否已经加载?
- 一个Win98安装问题
- 关于opengl画图的问题
- 定义全局变量出错,为什么啊,该怎样改才行
放InitialDialog中试试.
就是程序没有捕获WM_TIMER消息,就直接退出了
试了试放InitialDialog中,还是不行
按理不应该有什么问题
void CBandDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
//AfxMessageBox("success");
Beep(1000,100);
}
CDialog::OnTimer(nIDEvent);
}
BOOL CBandDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // Add "About..." menu item to system menu. ....... InitSocket();
RECVPARAM *pRecvParam=new RECVPARAM;
pRecvParam->sock=m_socket;
pRecvParam->hwnd=m_hWnd;
HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread); return TRUE; // return TRUE unless you set the focus to a control
} OnTimer函数:
void CBandDlg::OnTimer(UINT nIDEvent)
{ //未调用!!!!!!!!!
if(nIDEvent==1)
{
AfxMessageBox("success");
}
}
HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread);
已经异常.
{ //未调用!!!!!!!!!
if(nIDEvent==1)
{
KillTimer(1);
AfxMessageBox("success");
SetTimer(1,1000,NULL)
}
}
到底什么原因啊,求高手帮帮忙
説不定就执行了ontimer
{
CDialog::OnInitDialog(); // Add "About..." menu item to system menu. ....... InitSocket();
RECVPARAM *pRecvParam=new RECVPARAM;
pRecvParam->sock=m_socket;
pRecvParam->hwnd=m_hWnd;
HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL); return TRUE; // return TRUE unless you set the focus to a control
} void CbandDlg::OnBtnShow()
{
SetTimer(1,1000,NULL);
}OnTimer函数:
void CBandDlg::OnTimer(UINT nIDEvent)
{ //未调用!!!!!!!!!
if(nIDEvent==1)
{
AfxMessageBox("success");
}
}
HWND hWnd, // handle of window for timer messages
UINT nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // address of timer procedure
);
用完整的形式看看,指定hwnd.
一般是什么情况可能干扰OnTimer执行啊
不加定时器,程序能正常运行,加上就好使了!!
把它去掉就好了。
原来是我加载了VC皮肤的原因!
加载皮肤后不能响应OnTimer消息了,不知道怎么能解决这个问题
创建自己的消息处理函数不知道能不能解决,试试去
自己定义定时器回调函数,把该回调函数定义为static类型就可以使用了
在别的贴子里学的
大家共同学习,共同进步吧!!再次谢谢大家!