mfc按钮点击事件,mfc鼠标点击事件

http://www.itjxue.com  2023-01-22 07:04  来源:未知  点击次数: 

C++ MFC怎么给按钮添加单击事件 看详细描述

这个你已经确定了要打开的文件的路径,指定就打开D:\123.exe这个文件,就很简单了。你在资源视图中对话框里添加一个按钮,然后双击按钮,系统就会自动给你添加一个这个按钮的单击事件函数,你在这个函数中输入如下函数 ::ShellExecute(this-m_hWnd,"open",strPath + strName,NULL,NULL,SW_SHOW); 此函数为win32的一个函数,用于打开文件,其中的第三个参数strPath + strName,strPath是文件路径,strNmane是文件名称,这个没有错的。注意函数前面有:: ,不能丢。

MFC中如何在一个按钮中循环一个事件,在点击另一按钮时结束这个事件?

给你个简单的小例子吧实现你的功能。

1、建立一个MFC工程,上面放2个按钮:第一个按钮是启动循环;第二个按钮是结束循环;

2、步骤:

// CreateThreadexDlg.cpp : 实现文件

//

#include "stdafx.h"

#include "CreateThreadex.h"

#include "CreateThreadexDlg.h"

#include "afxdialogex.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

bool bInLoop = true;//------------定义一个全局变量用于控制循环

// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialogEx

{

public:

?CAboutDlg();

...

②在第一个按钮(启动循环)事件里面加入如下代码:

//单击此按钮启动一个线程用于实现循环

void CCreateThreadexDlg::OnBnClickedButton1()

{

?// TODO: 在此添加控件通知处理程序代码

?CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)startlop,NULL,0,0);

}

③在第一个按钮上面定义一个线程函,此函数用于当满足条件实现死循环,不满足条件跳出循环从而关闭线程;

LPTHREAD_START_ROUTINE startlop(void*)

{

?while (bInLoop)//逻辑条件

?{

??MessageBoxW(NULL,L"hello",L"test",MB_OK);

??Sleep(2000);

?}

?return 0;

}

3、关闭循环,点击此按钮将全局变量赋予假,则结束循环

void CCreateThreadexDlg::OnBnClickedButton2()

{

?// TODO: 在此添加控件通知处理程序代码

bInLoop=false;

}

很简单的一个线程例子,当然方法众多,希望对初学的你有帮助,请采纳,谢谢

MFC 按钮事件

最合理的解决办法是线程。

A按钮按下后,创建并抛出一个工作线程来执行数据处理,这样不影响界面和其它程序响应。

B按钮按下后,向线程发送消息,提前终止线程

(责任编辑:IT教学网)

更多

推荐Fireworks教程文章