一个MFC单文档程序的问题!!!
我的单文档程序,在运行时,右上角的最大化,最小化,关闭按钮点了没效果,必须等到程序运行完成后才能点击,并且在正常窗口下运行完成后,点击最大化,程序又会运行一遍,反之也一样...
我的单文档程序,在运行时,右上角的最大化,最小化,关闭按钮点了没效果,必须等到程序运行完成后才能点击,并且在正常窗口下运行完成后,点击最大化,程序又会运行一遍,反之也一样,请问各位大虾肿么解决呢?本人刚刚开始接触MFC,很多地方不懂,还请高人指点!!!
展开
3个回答
展开全部
根据你描述的应该是主线程运算未结束,所以不能响应其他时间。建议做你这种长时间运算过程开启新线程运算即可解决。
AfxBeginThread
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
其中第一 第2个参数必填
第一个为函数名 第2个为要传递的参数 如果没有传递可写0
回调函数声明为 UINT fun(LPVOID lpvoid)
AfxBeginThread
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
其中第一 第2个参数必填
第一个为函数名 第2个为要传递的参数 如果没有传递可写0
回调函数声明为 UINT fun(LPVOID lpvoid)
追问
我刚刚接触MFC,很多都不懂,这个函数应该加在哪啊???
追答
这是回调函数 加在你需要创建线程的CPP文件头部就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样来:
1、可以在mainframe中使用下面代码
CxxxView * xxxview;
xxxview = (CxxxView *)GetActiveView();
xxxview->你的函数();
当然要注意#include“xxxView.h”貌似view还要同时include“xxxDoc.h”。
2、可以定义一个全局的CxxxView * xxxview;指针,在CxxxView的构造函数中给指针赋值。这样也可以使用这个全局指针来调用你的函数。
1、可以在mainframe中使用下面代码
CxxxView * xxxview;
xxxview = (CxxxView *)GetActiveView();
xxxview->你的函数();
当然要注意#include“xxxView.h”貌似view还要同时include“xxxDoc.h”。
2、可以定义一个全局的CxxxView * xxxview;指针,在CxxxView的构造函数中给指针赋值。这样也可以使用这个全局指针来调用你的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询