c++ MFC中 如何在自己创建的函数中 ,调用按键的事件函数
比如MFC的应用程序,其中有BUTTON1:IDC_BUTTON1,控件变量为:m_BUTTON1,它的单击代码:voidCShowgamewinlistDlg::OnB...
比如MFC 的应用程序,其中有BUTTON1:IDC_BUTTON1,控件变量为:m_BUTTON1,它的单击代码:
void CShowgamewinlistDlg::OnButton1()
{
// TODO: Add your control notification handler code here
}
我的自建函数:
void showwin()
{
????????
}
问号这里要调用BUTTON1单击的事件函数,应该怎么填写
就是问号处要调用 void CShowgamewinlistDlg::OnButton1() 这个函数,具体格式怎么写??
void CShowgamewinlistDlg::OnButton1() 这个函数中的代码,不用去管它。 展开
void CShowgamewinlistDlg::OnButton1()
{
// TODO: Add your control notification handler code here
}
我的自建函数:
void showwin()
{
????????
}
问号这里要调用BUTTON1单击的事件函数,应该怎么填写
就是问号处要调用 void CShowgamewinlistDlg::OnButton1() 这个函数,具体格式怎么写??
void CShowgamewinlistDlg::OnButton1() 这个函数中的代码,不用去管它。 展开
展开全部
你建的函数也要属于这个对话框类,然后就可以直接调用了。
头文件中声明
afx_msg void showwin();
源文件中函数定义
voidCShowgamewinlistDlg::showwin()
{
OnButton1() ;
}
头文件中声明
afx_msg void showwin();
源文件中函数定义
voidCShowgamewinlistDlg::showwin()
{
OnButton1() ;
}
更多追问追答
追问
可行,产生新问题,原本showwin() 在任意函数中均可调用,现在不行,请问有没其他方法??
另外,我在回调函数void CALLBACK showwinre()中调用了showwin(),现在不能用了,这个怎么办呢,要是都写成您的那种格式,那么回调函数的格式又该怎么写,这个回调是给计时器函数用的。
追答
void showwin()
{
CShowgamewinlistDlg dlg;
dlg.OnButton1();
}
也可以在回调函数中PostMessage,在消息处理函数中调用属于类的函数。
如果OnButton1()中没有使用类成员,可以把代码放进showwin()里,在OnButton1()中调用showwin()
展开全部
直接调用是调用不好的。
要创建一个对象,再通过对象调用。
或者将showwin()创建成CShowgamewinlistDlg类的函数。
要创建一个对象,再通过对象调用。
或者将showwin()创建成CShowgamewinlistDlg类的函数。
更多追问追答
追问
所谓对象,指的是?是不是创建一个函数,代码写在里面,同时供按键事件和其他函数调用?
追答
CShowgamewinlistDlg Dlg;
Dlg.OnButton1;
但这样写没有意义,应该说是错的。
下面是正确做法:
可以用一个全局指针指向你所定义的那个对象。
定义全局变量 void *pvoid=NULL;
在CShowgamewinlistDlg 的初始化函数中写上代码pvoid=(void*)this;
在函数showwin()中添加代码:CShowgamewinlistDlg*pdlg=(CShowgamewinlistDlg*)pvoid;
pdlg->OnButton();
这样就可以调用函数了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果都是在对话框类内的函数的话直接把button响应函数里面的操作独立放到一个成员函数里面,然后再button响应函数和你自己的函数里面调用这个函数就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是窗口类指针->OnButton1();或者发BUTTON1单击事件的消息。
追问
能给出具体消息的代码吗?这样的话,我既不需要把BUTTON变成PUBLIC:,也不需要把自建的函数加在CShowgamewinlistDlg ::中。
追答
我只知道这么多了,消息什么的我也不会发,不过你可以考虑把OnButton1里的逻辑再封一层函数,OnButton1中再调用这个函数,showwwin中也调这个函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询