vc 求VC高手给一段代码,高分求解

我想用VC++6.0做一个程序,程序原理是这样的,利用MFC建立一个按钮和一个edit按下按钮后edit一直+1我的代码:#include"ontt.h"voidCALL... 我想用VC++6.0做一个程序,程序原理是这样的,利用MFC建立一个按钮和一个edit
按下按钮后 edit一直+1
我的代码:
#include "ontt.h"
void CALLBACK ppt(HWND hw,UINT a,UINT b,DWORD c)
{
onTime();
}
void CMy01Dlg::OnButton1()
{
SetTimer(111,500,&ppt);
}
新建的头文件:ontt.h
代码如下:
void onTimer()
{
CMy01Dlg::m_nnm+=1; //m_nnm 是edit的Variable 类型是int
};
提示错误1个:
error C2597: illegal reference to data member 'CMy01Dlg::m_nnm' in a static member function
搞了2天了,网上也没有相关资料,求解,如能立即解答,加高分感激
展开
 我来答
hu_colin
2012-06-21 · TA获得超过582个赞
知道小有建树答主
回答量:738
采纳率:0%
帮助的人:502万
展开全部
很简单啊。建一个MFC工程,放一个button控件,一个edit控件,edit控件用Classwizard加一个int变量m_num。
然后写三行代码:
1.双击按钮生成按钮点击事件函数,加入
m_num+=1;//加1
UpdateData(FALSE);//刷新界面
2.在*Dlg.cpp中的OnInitDialog函数倒数第二行加一句m_num = 0;,给m_num赋初值;
更多追问追答
追问
我要求的是一直+1 不是只在0-1之间,我要让他自动+1 加到999999999(无限)
有办法立即加分100
追答
这样就是一直+1啊
点一下就+1
孤松独海
2012-06-21 · TA获得超过1513个赞
知道大有可为答主
回答量:1220
采纳率:0%
帮助的人:516万
展开全部
你采用的方法是win32里面的方法, m_nnm是属于一个类对象的,而你的onTimer是一个静态函数,它不能直接引用成员变量,m_nnm 。
解决方法 1:就你的代码 将m_nnm定义为static 变量
2:不用win32做法 用MFC的做法,SetTimer(111,500,NULL);最后一个参数改为NULL,这样默认是调用系统的OnTimer函数,你可以重载OnTimer(UINT_PTR nIDEvent) 函数,此时OnTimer称为类的成员函数,然后你可以在里面直接m_nnm+=1
当然都记得m_nnm要初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式