关于MFC无法进入OnTimer [问题点数:40分,结帖人star_twinkle]

Bbs1
本版专家分:30
结帖率 100%
Bbs12
本版专家分:361059
版主
Blank
名人 2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
Blank
金牌 2012年1月 总版技术专家分月排行榜第一
Bbs1
本版专家分:30
Bbs1
本版专家分:33
Bbs6
本版专家分:5415
Bbs3
本版专家分:716
Bbs10
本版专家分:140811
版主
Blank
微软MVP 2013年10月 荣获微软MVP称号
2012年10月 荣获微软MVP称号
2011年10月 荣获微软MVP称号
2010年10月 荣获微软MVP称号
Blank
红花 2012年4月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年5月 VC/MFC大版内专家分月排行榜第二
2012年3月 VC/MFC大版内专家分月排行榜第二
2011年7月 VC/MFC大版内专家分月排行榜第二
2011年1月 VC/MFC大版内专家分月排行榜第二
2010年12月 VC/MFC大版内专家分月排行榜第二
2010年9月 VC/MFC大版内专家分月排行榜第二
2010年6月 VC/MFC大版内专家分月排行榜第二
2010年5月 VC/MFC大版内专家分月排行榜第二
2010年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2010年11月 VC/MFC大版内专家分月排行榜第三
MFC——SetTimer函数的用法
什么时候我们需要用到SetTimer函数呢?当你需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数了。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1 用WM_TIMER来设置定时器
Windows Timer定时器使用方法
  定时器在VC中的使用频繁,以下讨论定义器的使用方法。定时器的原型是:WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);hWnd       是欲设置定时器的窗体句柄。定时时间到时,系统会向该窗体发送WM_TIMER消息。nID
如何使用SetTimer MFC 够详细
转自:http://blog.csdn.net/ellor/article/details/1714741 Timer事件,即定时器事件,是在游戏编程中,经常使用的一个事件。借助它可以产生定时执行动作的效果。这篇文章,就和大家一起探讨一下如何使用SetTimer()函数。
OnTimer&SetTimer使用方法(MFC)
MFC中使用Timer事件处理机制, 1、在头文件中声明,afx_msg void OnTimer(UINT nIDEvent); 2、在消息映射里追加,ON_WM_TIMER()(忘记追加消息将不会响应) 3、在使用时开始Timer,例如:SetTimer(44, 1000, NULL);原型为SetTimer(UINT_PTR nIDEvent, UINT nElapse, ...
关于OnTimer进入问题
想问大家个问题rnCMyDlg::m_iProgress; //CMyDlg的成员变量rnrnCMyDlg::OnBtn()rnrn SetTimer(1,1,NULL);rn rn dornrn //循环rn m_iProgress++;rn rn while(m_iProgress<100);rnrnrnCMyDlg::OnTimer()rnrn m_pro.SetPos(m_iProgrss);rnrnrn程序是这样 怎么感觉在OnBtn的do while循环之中,OnTimer函数为什么进不去,实现不了进度条循序而进效果
mfc关于ontimer问题
为什么我在<em>ontimer</em>里面改动一个全局变量在onpaint里面这个变量没有变化呢?我在哎<em>ontimer</em>里面设个断点可以监视到bool型变量有变化,但是在onpaint里面对此变量进行判断是,却一直进不去呢?
请教关于mfcontimer
请问如果我<em>ontimer</em>的执行时间 比计时器的周期长的话 会出现什么效果呢? 我怎么感觉稀奇古怪的,谢谢
为什么没进入onTimer
[code=C/C++]rnvoid CNetWordClientDlg::DoTipUser(const CObList &msUser)rnrn POSITION pos=NULL;rn CUserInfo *tempInfo=NULL;rn this->m_msgList.RemoveAll();rn for (pos=msUser.GetHeadPosition();pos!=NULL;)rn rn tempInfo=(CUserInfo*)msUser.GetNext(pos);rn this->m_msgList.AddTail(tempInfo);rn rn if(!m_msgList.IsEmpty())rn rn SetTimer(IDTIMEER1,800,NULL);rn rn rnrnrn[/code]rnrn为什么没有<em>进入</em>OnTimer呢?且出现非法操作!!!!
请问如下程序中的最后一句CDialog::OnTimer(nIDEvent)的作用?
真够弱的我.这个是VC自动的,不知道干啥用. void CTimerTestDlg::OnTimer(UINT nIDEvent) { switch (nIDEvent) { case 24: ///
C++中的定时器-SetTimer OnTimer用法实例
使用步骤如下:1.在消息映射表里声明OnTimer:   2.在BOOL CChargeDlg::OnInitDialog()初始化函数内部,实现SetTimer:    3.设置定时器OnTimer
MFC中OnTimer定时器用法
一、     单个定时器用法 定时器工作主要流程:设置定时器SetTimer,时间到后调用OnTimer函数,关闭定时器KillTimer。可以在程序初始化用SetTimer函数弄成多个线程类似,并行进行多个函数功能。 1.1 SetTimer(H,nID,elipse,NULL) 函数作用:开始nID号定时器 H:要定时的事件句柄,在MFC中不需要该参数,因为MFC封装在CWnd类中
MFC 中SetTimer OnTimer KillTimer 的使用
-
VC++ ontimer使用
1、添加消息处理 BEGIN_MESSAGE_MAP(CHklhImageGrabDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_TIMER()//添加消息处理 ON_WM_QUERYDRAGICON() END_MESSAGE_MAP() 2、设置计时器 SetTimer(1, 100, NULL); 3、 //添加处理函数 afx_...
事件定时触发器 MFC(OnTimer,SetTimer,KillTimer)
#include "afxcmn.h" #include "afxwin.h"//有<em>关于</em>这些文件可以从网上下载   1.在头文件中  加  afx_msg void OnTimer(UINT_PTR  nIDEvent);nIDEvent:是触发器的名字,由SetTimer设置 2.源文件中 加 ON_WM_TIMER(&ReduceDB::OnTimer)//添加相应机制
mfc ontimer事件处理!
[code=C/C++]// 连连看Dlg.cpp : implementation filern/*********************************rn[学VC编游戏]rn编著、程序设计:唐明理 2004.7rnE-mail: cqtml@163.comrn**********************************/rn#include "stdafx.h"rn#include "连连看.h"rn#include "连连看Dlg.h"rnrn#ifdef _DEBUGrn#define new DEBUG_NEWrn#undef THIS_FILErnstatic char THIS_FILE[] = __FILE__;rn#endifrn/////////////////////////////////////////////rn// 全程变量定义rn/////////////////////////////////////////////rnHBITMAP bit; //设备相关位图 [2章]rnHDC MemDC; //暂存设备场景 [2章]rnint w,h; //图形尺寸 [2章]rnCString dir; //定义路径变量 [2章]rnCString cc; //公用变量 [2章]rnint k;rnint p; //当前图形序号 [2章]rnrn////////////////////////////////////////////rn// 函数定义rn////////////////////////////////////////////rnBOOL loadbmp(CString cc);//调BMP图片[2章]rn/////////////////////////////////////////////////////////////////////////////rn// C连连看Dlg dialogrnrnC连连看Dlg::C连连看Dlg(CWnd* pParent /*=NULL*/)//[MFC自动生成]rn : CDialog(C连连看Dlg::IDD, pParent)rnrn //AFX_DATA_INIT(C连连看Dlg)rn // NOTE: the ClassWizard will add member initialization herern //AFX_DATA_INITrn m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);rnrnrnvoid C连连看Dlg::DoDataExchange(CDataExchange* pDX)//[MFC自动生成]rnrn CDialog::DoDataExchange(pDX);rn //AFX_DATA_MAP(C连连看Dlg)rn // NOTE: the ClassWizard will add DDX and DDV calls herern //AFX_DATA_MAPrnrnrnBEGIN_MESSAGE_MAP(C连连看Dlg, CDialog)//[MFC自动生成]rn //AFX_MSG_MAP(C连连看Dlg)rn ON_WM_PAINT()rn ON_WM_QUERYDRAGICON()rn //AFX_MSG_MAPrn ON_BN_CLICKED(IDC_BUTTON1, &C连连看Dlg::OnBnClickedButton1)rn ON_BN_CLICKED(IDC_BUTTON2, &C连连看Dlg::OnBnClickedButton2)rn ON_WM_TIMER()rnEND_MESSAGE_MAP()rnrn/////////////////////////////////////////////////////////////////////////////rn// C连连看Dlg message handlersrnrnBOOL C连连看Dlg::OnInitDialog()//对话框程序的初始入口,[MFC自动产生]rnrn CDialog::OnInitDialog();rnrn SetIcon(m_hIcon, TRUE); // Set big iconrn SetIcon(m_hIcon, FALSE); // Set small iconrn rn // TODO: Add extra initialization herern//A、在编辑框显示说明文字rn k=15;rn//B、建立图形环境rn MemDC =CreateCompatibleDC(0); //创建设备场景rn//C、设角色数据rn dir="图片/"; //设图形路径rn p=0; //当前图形序号rn//D.调入背景图片rn /* cc=dir+"bg.BMP"; //设地图图形文件名rn if(loadbmp(cc)==FALSE) //调BMP图片 rn AfxMessageBox(cc+"没找到!");return FALSE; //显示错误提示,返回。*/rn SelectObject(MemDC,bit); //设备相关位图关联到暂存设备场景rn if(k>=0)SetTimer(1,500,NULL);rn return TRUE; // return TRUE unless you set the focus to a controlrnrnrnrnrnvoid C连连看Dlg::OnPaint() //刷新[MFC自动生成]rnrn if (IsIconic())rn rn CPaintDC dc(this); // device context for paintingrnrn SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);rnrn // Center icon in client rectanglern int cxIcon = GetSystemMetrics(SM_CXICON);rn int cyIcon = GetSystemMetrics(SM_CYICON);rn CRect rect;rn GetClientRect(&rect);rn int x = (rect.Width() - cxIcon + 1) / 2;rn int y = (rect.Height() - cyIcon + 1) / 2;rnrn // Draw the iconrn dc.DrawIcon(x, y, m_hIcon);rn rn elsern rn CDialog::OnPaint();rn rnrnrnHCURSOR C连连看Dlg::OnQueryDragIcon()//[MFC自动生成]rnrn return (HCURSOR) m_hIcon;rnrnrnrnrn//**************************************************rn// loadbmp(CString cc)//调BMP图片rn// 调cc指定的图形;取得的图形在设备相关位图bit中rn// 图形的宽、高存于全局变量w,h中rn//**************************************************rnBOOL loadbmp(CString cc)//调BMP图片[2章]rn DeleteObject(bit); //删除上次的位图内存。rn bit=(HBITMAP)LoadImage //调入cc指定的图形rn (AfxGetInstanceHandle(),//rn cc, //文件名rn IMAGE_BITMAP, //位图方式rn 0, //图形宽rn 0, //图形高rn LR_LOADFROMFILE|LR_CREATEDIBSECTION//方式rn );rn if(bit==NULL) return FALSE; //调图失败rn DIBSECTION ds; //rn BITMAPINFOHEADER &bm = ds.dsBmih; //rn GetObject(bit,sizeof(ds),&ds); //取位图的信息->bminforn w = bm.biWidth; //得到位图宽度值 rn h = bm.biHeight; //得到位图高度值rn return TRUE;rnrnrnvoid C连连看Dlg::OnBnClickedButton1()rn rn CClientDC dc(this); rn int i; rn p=0;rn rn for(i=0;i);return;rn SelectObject(MemDC,bit); //设备相关位图关联到暂存设备场景rn BitBlt(dc.m_hDC,1+i*23,1,w,h,MemDC,0,0,SRCCOPY);//将MemDC的图形在当前屏幕上显出rn // TODO: 在此添加控件通知处理程序代码rn rn rn rn rnrnvoid C连连看Dlg::OnBnClickedButton2()rnrn DeleteDC(MemDC); //删除暂存设备场景rn DeleteObject(bit); //删除暂存设备相关位图rn//////////////////////////////////rn CDialog::OnCancel();// TODO: 在此添加控件通知处理程序代码rnrnrnvoid C连连看Dlg::OnTimer(UINT_PTR nIDEvent)rn rn k--;rnrn rn rn CDialog::OnTimer(nIDEvent);rnrn[/code]rn尝试用进度条实现时间的减少显示,结果没实现,现改用图片随时间的减少来实现!rn想在按button1后开始执行<em>ontimer</em> 然后没一秒减少一张图片 但是没有成功,rn请大神指点迷津!
MFC中OnTimer的使用
OnTimer()函数用于实现定式控制功能,主要有三个函数实现的(1)SetTimer():设置一个定时器开始执行计时器(2)KillTimer():停止计时器(3)OnTimer():是计时器所执行的代码SetTimer(窗口句柄,定时器ID ,时间间隔,回调函数)...
C++ MFC 计时 SetTimer函数不经过OnTimer
-
OnTimer()函数怎么添加呢? 我的怎么老报错。
我的程序直接在CLASS里面通过那个WM_TIMER添加ONTIMER函数,但是添加后编译通不过,会报错,报错的地方全部是我自己自定义的那些发送消息的函数。但是如果我不添加ONTIMER的话,程序很正
OnTimer
OnTimer不是多线程。 OnTimer是以SendMessage的方式发送消息到消息队列。 sendMessage必须等待对话框响应完消息后才返回。 转载于:https://www.cnblogs.com/mycway/p/4439623.html...
'OnTimer' : member function not declared in
初学VC,做一个绘图程序,在添加定时器的时候编译不能通过,提示:'OnTimer' : member function not declared in 'CHellowordView' 下面是相关代码
无法从“overloaded-function”转换为“TIMERPROC”
-
MFC OnTimer的用法问题
MFC 用SetTimer创建了一个定时器,并且按照教程编写了OnTimer但是为什么没法触发?
mfc Ontimer用法 ,,,,,,,,,,,,,,,
我用<em>mfc</em>依据某种算法设计有个随时间不断运动的质点,有一条固定宽度的轨道,质点按在轨道中向前运动,有时候会超出轨道范围,如何统计超出的次数??如何在Ontimer中判断语句如何定义啊?
MFC OnTimer阻塞问题。
如题,我可能不太了解MFC的消息处理机制。rn我要做这样的一件事,打开对话框A,但是A的初始化是一个耗时操作,于是我想在对话框A的初始化期间,弹出一个对话框B显示“正在处理”。rnrn我是这样实现的:rn在对话框A中,重载OnInitDialog,自定义消息处理函数OnMessage。rn在OnInitDialog中,创建对话框B的对象DlgB,然后DlgB.DoModal()打开模态对话框,这样在这个DlgB消失之前,对话框A的OnInitDialog不会结束,它的窗口就不会被画出来。rnrn然后,在对话框B的OnInitDialog中,我设置了2个Timer,一个TImer用于每0.1秒刷新UI(就是“正在处理.”->“正在处理..”->“正在处理...”这个样子轮回着刷新),另一个Timer使用PostMessage发送消息给父窗口,即发给刚才的对话框A,这个消息告诉对话框A执行耗时操作。然后,对话框A响应这个消息,耗时操作结束后,PostMessage发消息给对话框B,这个消息告诉对话框B结束自己(CDialogEx::OnOK()),然后当B的DoModal结束后,A的OnInitDialog就结束,A就被绘制出来了。rnrn但是实际的问题时,发消息的Timer,虽然是PostMessage(SendMessage也试过不行),但是,当OnTimer响应这个Timer后,另外一个刷新UI的Timer就被阻塞了,UI没有被更新。我猜多半是PostMessage在等待对话框A响应完毕,但这是个耗时操作,所以刷新UI的Timer就被阻塞了,UI卡很久都不刷新。rn[code=c]BOOL CProcessDlg::OnInitDialog() rn CDialogEx::OnInitDialog();rn // 初始化rn m_staticShow.SetWindowTextW(WAIT_MESSAGE_0);rn SetTimer(TIMER_ID_UPDATE_UI, 100, NULL);rn SetTimer(TIMER_ID_SEND_MESSAGE, 1000, NULL);rn return TRUE;rnrnvoid CProcessDlg::OnTimer(UINT_PTR nIDEvent) rn switch(nIDEvent) rn case TIMER_ID_UPDATE_UI:rn // 刷新UIrn m_staticShow.SetWindowTextW(wcsWaitMsgList[m_nRound%WAIT_MESSAGE_COUNT]);rn m_nRound++;rn break;rn case TIMER_ID_SEND_MESSAGE:rn KillTimer(TIMER_ID_SEND_MESSAGE);rn ::PostMessage(给父窗口A)rn break;rn default:break;rn rn CDialogEx::OnTimer(nIDEvent);rnrn[/code]rnrn后来我试着用子线程去优化,让发消息的Timer开个子线程去发送消息,但OnTimer还是阻塞的,UI更新不了rn[code=c]rnvoid CProcessDlg::OnTimer(UINT_PTR nIDEvent) rn switch(nIDEvent) rn case TIMER_ID_UPDATE_UI:rn // 刷新UIrn m_staticShow.SetWindowTextW(wcsWaitMsgList[m_nRound%WAIT_MESSAGE_COUNT]);rn m_nRound++;rn break;rn case TIMER_ID_SEND_MESSAGE:rn KillTimer(TIMER_ID_SEND_MESSAGE);rn _beginthreadex(NULL, 0, ThreadSendMessage, (void*)(this), 0, NULL);rn break;rn default:break;rn rn CDialogEx::OnTimer(nIDEvent);rnrnunsigned int __stdcall ThreadSendMessage(void *pM) rn const CProcessDlg* pDlg = (CProcessDlg*)pM;rn ::PostMessage(给父窗口A)rn return 0;rnrn[/code]rnrn还是不行,可能我对消息机制还不够了解,求详解。rnrnrnPS:rn自己解决了,原来是我的耗时操作直接放在了对话框A的OnMessage里面执行了,在OnMessage里面开个子线程执行就可以了。但是既然如此,我是否就可以认为,PostMessage并不像网上说的是异步的?而是和SendMessage没区别,都是要等发出去的消息被处理完回复了之后再继续往下执行的?rn可能我的设计还有很多缺陷,谁能分享一下<em>关于</em>这种问题的设计思路?
MFC延时函数OnTimer()
        MFC延时函数OnTimer()本文转自:http://hi.baidu.com/huaixiaohai/blog/item/a37d8e100c28af0d203f2e16.html<em>关于</em>OnTimer()函数的填写,对于CDialog,可以Ctrl+W中添加; 对于SetTimer可以在初始化当中添加! OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时
请教OnTimer(nIDEvent)函数的使用
class CMeasureView : public CFormView ;//CMeasureView 派生自CFormView CMeasureView::OnMeasure()函数中执行了:S
CListView中ontimer()怎么只能执行两次或一次
-
关于Ontimer()函数
<em>关于</em>OnTimer()     OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。   为类添加VM_TIMER消息响应,会看到类中多了个OnTimer(UINT nIDEvent)。     然后用SetTimer(1,10,NULL)就行了。第一个参数是ID,第二个是间隔时间
OnTimer()函数用于实现定时控制功能
OnTimer()函数: OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现: SetTimer, KillTimer()和OnTimer(). 粗略的说, Settimer是设置一个计时器并开始执行计时器Ontimer中的代码, Ontimer是计时器所执行的代码。 KillTimer用于停止计时器。 或者说Settimer是设置定时器的,Ontim
C++ 关于ontimer函数求助
#define NDIV 50 #define PI 3.1415926 float xc,yc,xb,yb,xe,ye; float AB=100,BC=330,CE=330,DE=100; fl
为什么没有进入ontimer呢?
我已经在::OnInitDialog()中,u=SetTimer(15,100,NULL); 了,而且执行后u返回15;但是就是<em>进入</em>不了<em>ontimer</em>,rn同时我也是按照规矩添加wm_timer生成的<em>ontimer</em>的,不知道有没有高手能解决?
关于OnTimer
我在构造函数当中定义了一个double X[25]的数组rn目的是一秒钟读取该数组的一个值,并循环的读取rnrn但是发现数据<em>无法</em>传递过去,为什么!!!rnrnrnrnprivate:rn int yNum;rn double X[25];rnrn.........rn.........rnrnOnTimer里面的部分函数:rn rnrn if(yNum==24)rn rn yNum=0;rn rn double nRandomY=X[yNum];rn ...............rn yNum++;rn................rn
MFC中关于ontimer和postmessage的问题
编写一个程序有两个主要功能图像处理显示和串口通信功能,图像处理和显示程序放在了主线程里,使用<em>ontimer</em>,每隔几十个毫秒就去读下数据并作图像处理,该项计算量比较大,开启此功能时四核的CPU的使用率为25%,串口通信的接收功能放在子线程里,通过postmessage告知主线程接收到字符,并在界面上显示接收到的字符。rn现在碰到的问题是:当不开启ontime时,界面能够实时显示接收到的字符;开启<em>ontimer</em>进行图像处理时,子线程还能接收到串口数据,但postmessage不起作用,主线程在界面不显示接收到的字符,postmessage的消息主线程好像没有处理。请问这到底是什么原因?
关于重启无法进入
电脑开机时正常工作,rn但是重启后就会听到滴滴滴的一直响,然后就<em>无法</em>启动。屏幕什么也没显示。rn只有开关那边一直闪着灯,还间断的发出滴滴声。rn这是什么原因,如何解决。rn已经困扰了很久。
MFC中添加ontimer的方法
MFC中添加<em>ontimer</em>的方法 刚开始学 直接往里面写 <em>ontimer</em>下面会报错
SetTimer与OnTimer问题
我用类向导生成OnTimer函数,环境是vc2008,在view类里面用向导添加一个菜单响应函数,由于添加完后仍是灰色的,<em>无法</em>点击,在网上找了个解决方法,在CMainFrame添加了ON_COMMAN
OnTimer使用
定时器在VC中的使用频繁,以下讨论定义器的使用方法。  定时器的原型是:  WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);    hWnd      是欲设置定时器的窗体句柄。定时时间到时,系统会向该窗体发送WM_TIMER消息。    nIDEvent      定时器标识符。在一个窗体内可以使用多
OnTimer函数的用法
我做的是一个利用VC来加载MapX电子地图的程序,现在想让地图每隔5秒刷新显示坐标信息,请问我应该怎么添加代码??? 我的View.cpp代码如下: // aaaaaaView.cpp : imple
MFC 定时器用法 SetTimer、KillTimer
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1 用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原
SetTimer()不触发OnTimer()
找了好几天,终于找到了答案。 我是在CXXView类下面绑定了WM_PAINT事件,在一个类似按钮控件中,添加SetTimer(),每次一按都没有反应,后来在OnTimer()中放了MessageBox(),发现消息对话框没有弹出,才知道SetTimer()没有触发OnTimer(),于是就上网就看到了一个同样被折磨的人的帖子,大概意思是WM_TIME的优先级比WM_PAINT还要低,所以每次都会...
MFC 基本对话框 ontimer的问题
是这样的、老师写的个对话框版本的抽奖工程、让我们改进下。三个静态文本框、settimer()后在<em>ontimer</em>()的代码如下:rnvoid CMy_Ex_LotteryDlg::OnTimer(UINT nIDEvent) rnrn // TODO: Add your message handler code here and/or call defaultrn// CString str;rn int i;rn switch(nIDEvent)rn rn case 1:rn i=rand()%10+1;rn if(iSetWindowText(str1);rn rn break;rn case 2:rn i=rand()%10+1;rn if(iSetWindowText(str2);rn rn break;rn case 3:rn i=rand()%10+1;rn if(iSetWindowText(str3);rn rn break;rn rn rn CDialog::OnTimer(nIDEvent);rnrnrn这样我们在killtimer的时候、就回显示我们的抽奖结果 三个随机数。rn但问题是 :要不出现重复的数字。rn我试过用链表。但失败了(所以<em>关于</em>链表的我删掉了。。。。)。我的想法是只把最终在界面显示的数字存入链表中、然后下个显示的数字和链表里面比较、相等的话再随机产生一个数、不相等就显示、但由于<em>ontimer</em>总是隔一段时间运行一次、我不知道代码到底该放入哪里。还是我的想法根本就是错的。求大侠们帮帮忙!小弟谢谢啦。
请教一个MFC onTimer() 问题
当SetTime()每隔一秒触发一次这个程序,rn但是响应行数Ontime()在一秒钟内,并没有执行完成,它会进行下一次触发吗?rnrn为什么?
MFC多个OnTimer()函数问题
VS2005 MFC中,我在主对话框和子对话框各添加了一个OnTimer()。在子对话框用SetTimer函数如何只运行子对话框中的OnTimer()。本人刚开始接触MFC,往大神们解答下,小弟谢谢啦
MFC手动添加OnTimer响应事件
afx_msg void OnTimer(UINT nIDEvent); ON_WM_TIMER() void CXXXDlg::OnTimer(UINT nIDEvent) { CDialog::OnTimer(nIDEvent); // TODO: }
CMyView::OnTimer函数中又出现了"CView::OnTimer(nIDEvent);语句。
CMyView::OnTimer函数中又出现了"CView::OnTimer(nIDEvent);语句 还有以下函数 void CMy6_1View::OnKeyDown(UINT nChar, UI
no member 和no member function declared in class
A.h文件 #include class A { public: void saya(); A(); }; A.cpp文件 #include "A.h" A::A() { std
C++ 定时器的用法:SetTimer和Ontimer
摘要: Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。 KillTimer用于停止计时器。 Settimer是设置,Ontimer是响应Settimer消息的。 SetTimer函数的用法 1)用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(
OnTimer()函数
//类向导里面添加WM_TIMER消息,然后在OnTimer里面添加响应代码 //初始化函数中设置 SetTimer(1, 500, NULL);//事件1每500毫秒执行一次 //定义OnTimervoid ImgPro::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CDialogEx::OnTimer(nID
为何OnTimer函数不执行?
MFC应用程序中用消息向导添加WM_TIMER消息 .h文件中 public: afx_msg void OnTimer(UINT_PTR nIDEvent); .CPP文件中 BEGIN_MESSA
关于无法进入xdb的问题
我的oracle数据库有xdb组件,但是通过8080端口并不能<em>进入</em>rn xdb,把端口更改为8081,还是不行,查看被占用的端口也并rn 没有8080和8081,这是为什么,应该怎么解决呀?rn 谢谢!
程序运行时无法进入MFC自带的源文件
在创建自定义的工具栏时,为了验证工具栏上加粗按钮的作用,在其消息响应函数中所用到的MFC自带的源文件中的函数中设置断点,但断点在调试时无效,而且单步运行时,<em>无法</em><em>进入</em>MFC自带的源文件,代码如下:rnvoid CMainFrame::OnFormatB()//加粗按钮消息处理函数rnrn // TODO: Add your command handler code herern CRichEditView* m_pView;rn m_pView=(CRichEditView*)this->GetActiveView();rn m_pView->OnCharEffect(CFM_BOLD,CFE_BOLD);rnrnrnMFC自带的源文件:rnCView* CFrameWnd::GetActiveView() const//获得视图地址rnrn ASSERT(m_pViewActive == NULL ||rn m_pViewActive->IsKindOf(RUNTIME_CLASS(CView)));rn return m_pViewActive;rnrn程序执行到rnm_pView=(CRichEditView*)this->GetActiveView();rn本来应该调用rnCView* CFrameWnd::GetActiveView() const//获得视图地址rn但是单步运行时并没有调用,此函数位于MFC自带的源文件winfrm.cpprn请高手指点是什么原因造成的
关于无法进入断点的问题
<em>关于</em><em>无法</em><em>进入</em>断点的问题 1. Jquery使用$.post后<em>无法</em><em>进入</em>ashx文件断点<em>无法</em>触发 在web.config里注册了 注释掉即可 或则改为这个: 意思是只把ajaxpro的相关请求交给ajaxpro处理,其它ashx还是按默认处理 2. 禁止生成‍pdb文件后导致断点<em>无法</em><em>进入</em> ‍VS2008默认生成类库项目时除了生成dll文件外,还会生成一个同名的pdb文
关于无法进入XP系统的解决方法
系统<em>无法</em><em>进入</em>XP系统 故障: 朋友的一台电脑,开机到登录页面,输入帐号密码后,点击<em>进入</em>系统,点击后提示正在保存,又回到输入帐号密码的页面了。 原因及解决方法: 一、可能是userinit.exe坏了。 此文件在system32文件夹,到别人电脑上去copy一个到U盘...
VC++中OnTimer()问题
a. 新建工程1_1,选择单文档,完成。 b. 在view类加变量int ituxing,并在构造函数里赋值为ituxing=0; c. 在OnDraw(CDC* pDC)函数上添上以下语句: voi
CListView中OnTimer()函数只进入一次的问题
今天写一个服务自启程序,遇到了一个问题:在CListView中的OnTimer()函数,只<em>进入</em>一次就不<em>进入</em>了,经过百度查找到了原因:原来在CListCtrl中,基类的的OnTimer()会调用KillTimer,杀死你的定时器。1、下面是原因:SYMPTOMS If you call the SetTimer function to send periodic WM_TIMER messages ...
ontimer问题
目的:循环生成txt文件,大致程序如下 for(i=0;i<5;i++) { settimer(1,100,NULL) } void CExport::OnTimer(UINT nIDEvent) {
关于Ontimer()的问题
我用基于MFC的单文档形式建立了一个工程 rnrn然后增加了一个菜单实现了读取文件的功能 rnrn将SetTimer()设置在View里面的Ondraw()中 rnrn但是在调试的时候我发现了一个问题 rnrn在我将断点放在文件读取菜单功能的位置时发现,在我从电脑中选择了相应的文件读入之前,其实OnTimer()已经在执行了 rnrn我怎么样才能控制OnTimer()在我读取文件以后才执行? rnrn谢谢大家。现在刚接触MFC,不是很了解他的执行顺序,请帮我具体讲一下在MFC基于单文档的函数的执行顺序。 rnrn十分感谢 rn
关于OnTimer消息响应的问题
我在对话框上加了一个文本框,准备显示程序运行的即时时间,为对话框rn添加响应rnrnvoid MyDlg::OnTimer(UINT nIDEvent) rnrnSetDlgItemText(IDC_STATIC,"当前所用时间"); //假定当前所用时间已算出rnDialog::OnTimer(nIDEvent);rnrnrn但是为什么没反映,我在其中设置断点,但运行时就进不去rn不知道哪儿有问题rn另外还有什么办法显示当前运行程序所用的时间rn谢谢
关于ONTIMER函数的问题
我想利用ONTIMER函数记时,但程序调试中发现怎么也进不了rn void CDESDlg::OnTimer(UINT nIDEvent).rn 那位帮忙看看,下面就是相关的段 rnvoid CDESDlg::OnJmbutton() rnrn // TODO: Add your control notification handler code herern //UpdateData(true);rn int i,j;rn SetTimer(1,1000,NULL);rn //SetDlgItemInt(IDC_TIME,a);rn for(i=1;i<=10000;j++) rn rnvoid CDESDlg::OnTimer(UINT nIDEvent) rnrn // TODO: Add your message handler code here and/or call defaultrn if(nIDEvent==1)rn SetDlgItemInt(IDC_TIME,a);rn a++;rn rn //CDialog::OnTimer(nIDEvent);rn
关于wml中的ontimer
在xHTML中使用meta元素:rn rn这样的代码是不是能达到与<em>ontimer</em>相同的效果呢?rnrn有没有在某些应用中, <em>无法</em>完成<em>ontimer</em>的功能呢?
关于ontimer的奇怪现象
一个direct draw全屏独占的图像采集显示程序,当采集卡有新的图像到达的时候,驱动就产生一个中断,大约1秒钟40次,显示程序就把这一帧图像读入内存,256k字节。rn而在<em>ontimer</em>,已经设置为20毫秒,每个<em>ontimer</em>要做的事情就是把刚才读入内存里的图像数据转化为bitmap并显示出来,当然还有一些其他操作,不过如果键盘鼠标不动的话,也就是十几个判断而且不执行的语句而已。rn奇怪的事情来了,在这样的情况下(整台机子就运行这一个程序,键盘鼠标不动,程序也就只有运行那个中断响应和<em>ontimer</em>),<em>ontimer</em>每秒钟竟然只能执行不到10次,正常的话20毫秒可是每50次啊。rn更奇怪的事情是,如果在<em>ontimer</em>里面加入一个sleep(20),<em>ontimer</em>的执行频率竟然略有提高,可以达到每秒15次左右,但仍然达不到希望的50次。rn机器的大致配置是:工业控制主板,cpu是主板自带via的cryin III 800M,内存256M,显卡内置rnrnrn在此请各位达人前辈多多帮忙,指点一下<em>ontimer</em>为何总达不到50次/秒,另外帮我分析一下加入sleep以后执行频率略有提高的原因。
【C++】Visual Studio 2012 MFC中添加OnTimer时间函数
手工添加时间函数步骤: ——> |* 首先,ClassView(类视图)中在类名上点右键选中C***Dlg类(就是你自己的对话框类) ——> |* 然后,在属性页里的“消息”下选择WM_TIMER消息,点右边的空白处出现个下箭头,就用那个添加消息处理函数OnTimer就行了。 另一种方法: 自己手动添加OnTimer:         在消息映射列表里加上ON_WM_TIME
MFC中的SetTimer、ON_WM_TIMER 和OnTimer的关系和使用
原文链接:http://hi.baidu.com/sgglong70626/item/069220f017c9aac7a835a21f 定时器在VC中的使用频繁,以下讨论定时器的使用方法。 定时器的原型是: //windows API 函数 WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT
VC定时器的用法:SetTimer和Ontimer
Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。 Settimer是设置,Ontimer是响应Settimer消息的。 SetTimer函数的用法 1 )用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(
vc高精度多媒体定时器的使用方法
在VC编程中,用SetTimer可以定义一个定时器,到时间了,就响应OnTimer消息,但这种定时器精度太低了。如果需要精度更高一些的定时器(精确到1ms),可以使用下面的高精度多媒体定时器进行代码优化,可以达到毫秒级的精度,而且使用方便。先要包含头文件"mmsystem.h"和库文件"winmm.lib"。vc高精度多媒体定时器的使用方法如下:复制内容到剪贴板 程序代码#include "mmsystem.h"  //head file#pragma comment(lib,"winmm")  //lib
MFC中如何使用OnTimer()函数实现定时控制
最近要实现一个类似于Sniffer的网络抓包程序, 其中需要一个按钮具有以下功能: 当按下按钮开始抓包, 再按一次就停止抓包. 开始考虑过用多进程实现, 但是这个比较麻烦. 其实这个功能可以用计时器实现. 介绍如下:   总的来说, 这里面一共需要三个函数:SetTimer, KillTimer()和OnTimer().   先请看SetTimer这个API函数的原型 UINT_
关于OnTimer()函数的问题?
[code=C/C++]BOOL CFindFileDlg::OnInitDialog()rnrn CDialog::OnInitDialog();rnrn SetTimer(TIME_PROGRESS, 1000, NULL); //放在初始化函数中,会响应OnTimer()函数rnrn return TRUE; rnrnrn//“查找” -- 按钮rnvoid CFindFileDlg::OnBnClickedSearchFileByTime()rnrn SetTimer(TIME_PROGRESS, 1000, NULL); //放在一个按钮响应函数中,就不会响应到OnTimer()函数!请问这是什么原因啊????rn[/code]
关于setTimer()和onTimer?在线
以前都是在create里设置setTimer(),然后添加onTimer(),这样程序一启动就会执行onTimer();rn我现在想在程序启动后,首先通过菜单弹出一个对话框,然后对话框里有个按钮,通过这个按就来启动程序的onTimer。rn那么我应该在那里设置设置setTimer()???
关于OnTIMER消息(求助)
void CCZkvodDlg::OnTimer(UINT_PTR nIDEvent)rnrn //我在这里弹出对话框rn m_Digle=new CDigle();rn m_Digle->DoModal();rn KillTimer(m_timer);rn CDialog::OnTimer(nIDEvent);rnrn上面的代码有个死循环 它会不停的调用这两句rnm_Digle=new CDigle();rnm_Digle->DoModal();rn我把这两句话删除之后rn里面的代码都能实现 也不会造成死循环 rnrn这是为什么呢? rnrn补充 vc基于对话框 我为了实现:先弹出主对话框后自动再弹出一个小对话框rn至于OnCreate()和OnInitDialog() 都是初始化的地方,我也试过了 这样会造成先弹出小对话框rnrnrn希望各位大虾,指教一下新手小弟! 谢谢
关于vc6.0下,OnTimer 的问题
我怎样才能知道所设置的定时器现在是否运行rnrn rn rn
OnTimer不被调用诊断步骤
在系统中设置了定时器,但发现OnTimer没有被调用。但windowproc函数是被调用的。 根据定时器的优先级确定应该是消息队列中的消息太多导致定时器消息没有被调用。 在windowproc打印日志监控什么消息被频繁调用,发现id=15的WM_PAINT消息被持续调用。 经查是在OnPaint处理中不小心注释掉了CPaintDC dc(this);这句,通常看起来这个对象好像没被使用,应该
急!!关于OnTimer()的使用??
当用两个SetTimer来定时,OnTimer 怎样判断是哪一个SetTimer?rn能否举个代码例子?
关于OnTimer函数
第一个参数是ID,但是我想在for循环中使用,要设置多个时间计时器,ID能为变量吗?或者能有其他的解决方法吗?rn随便问下那第三个参数是干嘛用的?
关于ontimer的问题?
BOOL CHxivrDlg::OnInitDialog()rnrn CDialog::OnInitDialog();rn // Set the icon for this dialog. The framework does this automaticallyrn // when the application's main window is not a dialogrn SetIcon(m_hIcon, TRUE); // Set big iconrn SetIcon(m_hIcon, FALSE); // Set small iconrn rn // TODO: Add extra initialization herern SetTimer( 1000, 10, NULL ) ;rn AddSysListMsg("1111111");rn return TRUE; // return TRUE unless you set the focus to a controlrnrn然后rnvoid CHxivrDlg::OnTimer(UINT nIDEvent)rnrn // TODO: Add your message handler code here and/or call defaultrn AddSysListMsg("222222");rnrn CDialog::OnTimer(nIDEvent);rnrnrnAddSysListMsg是一个打印函数,上面的1111111都可以打印出来,2222222却不能,好象<em>ontimer</em>没起作用 为什么呢?
关于使用ontimer的问题
我做了一个服务器程序,当用了settimer() 后出错, 一执行到连接成功后出错rn详细在onaccept();函数rn CClientSocket* pSocket=new CClientSocket();rn CSeverSocketDlg*rn pMainWnd=((CSeverSocketDlg*)(AfxGetApp()->m_pMainWnd));rn if(pMainWnd->m_pSocket->Accept(*pSocket))//这里出错?rn rn pMainWnd->m_SocketList.AddTail(pSocket);rn rn else delete pSocket;rn rn CSocket::OnAccept(nErrorCode);
MFC 定时器执行不到OnTimer()
今天初步使用MFC的定时器功能|时,遇到了SetTimer之后执行不到onTimer函数???
Professional asp.net 4 in Csharp and VB part2下载
book: Professional asp.net 4 in Csharp and VB part2 English version PDF format 相关下载链接:[url=//download.csdn.net/download/liberwang/2364642?utm_source=bbsseo]//download.csdn.net/download/liberwang/2364642?utm_source=bbsseo[/url]
ramdisk 不需要winimage下载
支持 新版本的ramdisk的DiskSizeK 参数,从而可以可以生成360k-2.88M的内存盘。 支持 直接加载和存储镜像文件,支持fat16,fat32,ntfs,不需要winimage 了,我甚至尝试了一下 一个linux的启动盘,也没有什么问题,只不过windows 不认识磁盘格式,但是vmware 可以通过 这个非fat格式的软盘启动(当然vmware可以直接用镜像文件启动,我这样是为了测试)。 支持命令行接口,可以把命令“ ramdisk imgfilename ” 放到启动脚本中。 相关下载链接:[url=//download.csdn.net/download/wxy8000/2590178?utm_source=bbsseo]//download.csdn.net/download/wxy8000/2590178?utm_source=bbsseo[/url]
通达oa 2011增强版v3 5.1.120523 升级包下载
通达oa 2011增强版v3 5.1.120523 升级包 相关下载链接:[url=//download.csdn.net/download/sgbjjx/5495309?utm_source=bbsseo]//download.csdn.net/download/sgbjjx/5495309?utm_source=bbsseo[/url]
相关热词 c#串口测试应用程序 c# 匹配 正则表达式 c#防止窗体重绘 c#读写txt文件 c#挖地雷源代码 c#弹框选项 c# 移除 队列 c# 密码写入配置文件 c# 获取可用内存大小 c# 嵌入excel编辑
我们是很有底线的