当前位置: 首页 > news >正文

做个什么样的网站桂林

做个什么样的网站,桂林,网站建设服务费 印花税,广告投放是什么工作功能三个按钮,一个静态框,默认值是0,增加减少按钮和退出按钮.增加减少按钮显示在静态框中.退出按钮退出软件.实验事件思路新建三个事件,add事件sub事件quit事件,一个按钮触发一个事件,静态框新建一个线程接受事件做出对应的改变.UI添加的代码就不具体说,具体说下事件的代码,这才…功能三个按钮,一个静态框,默认值是0,增加减少按钮和退出按钮.增加减少按钮显示在静态框中.退出按钮退出软件.实验事件思路新建三个事件,add事件sub事件quit事件,一个按钮触发一个事件,静态框新建一个线程接受事件做出对应的改变.UI添加的代码就不具体说,具体说下事件的代码,这才是重点.首先在软件初始化的时候新建一个事件数组,存放3个事件.一个增加事件,一个减少事件,一个退出事件.当然这三个事件初始化是在全局中添加的,数组添加实在初始化函数中的,为什么事件初始化在全局了?是因为如果事件初始化放在了初始化函数中,初始化函数完成了退出函数,事件也就消失了,你再出发事件,实际上是找不到事件的.所以才把事件初始化放到全局中.然后每个按钮函数都放一个触发事件的函数.如果按下按钮,新建的线程就会接收到这个事件并会做出相对应的动作.主要代码:事件初始化:CEvent addNum(FALSE, FALSE, (LPCTSTR)AddNum, NULL); CEvent subNum(FALSE, FALSE, (LPCTSTR)subNum, NULL); CEvent quitEvent(FALSE, FALSE, (LPCTSTR)quitEvent, NULL);这三行一定要在全局.事件数组存储事件: events[0] addNum.m_hObject;events[1] subNum.m_hObject;events[2] quitEvent.m_hObject;事件数组我是放到类头文件中的当作类成员,也可以放到全局,我没有测试不知道行不行HANDLE events[3];新建一个线程用作接受事件,以及处理相对应的事件,以及显示 std::thread t1(ShowNum,this);t1.detach();必须要把线程分离,不分离会出错的.线程主函数:void ShowNum(CMFCEventDlg* ptr) {while (true){DWORD waitRet ::WaitForMultipleObjects(3, ptr-events,FALSE,10);//接受事件函数if (waitRet WAIT_OBJECT_0) //接受第一个线程{CString strNum;ptr-GetDlgItem(IDC_STATIC_SHOWNUM)-GetWindowTextW(strNum);int num _ttoi(strNum) 1; std::string str std::to_string(num);ptr-GetDlgItem(IDC_STATIC_SHOWNUM)-SetWindowTextW((LPCTSTR)str.c_str());}else if (waitRet WAIT_OBJECT_0 1)//接受第二个线程{CString strNum;ptr-GetDlgItem(IDC_STATIC_SHOWNUM)-GetWindowTextW(strNum);int num _ttoi(strNum) - 1;std::string str std::to_string(num);ptr-GetDlgItem(IDC_STATIC_SHOWNUM)-SetWindowTextW((LPCTSTR)str.c_str());}else if (waitRet WAIT_OBJECT_0 2)   //接受第三个线程{break;}} } 三个按钮函数void CMFCEventDlg::OnBnClickedBtnAdd() {HANDLE hEvent OpenEvent(EVENT_ALL_ACCESS,0, (LPCTSTR)AddNum);if (hEvent){SetEvent(hEvent);CloseHandle(hEvent);} }void CMFCEventDlg::OnBnClickedBtnSub() {HANDLE hEvent OpenEvent(EVENT_ALL_ACCESS, 0, (LPCTSTR)subNum);if (hEvent){SetEvent(hEvent);CloseHandle(hEvent);} } void CMFCEventDlg::OnBnClickedBtnQuit() {HANDLE hEvent OpenEvent(EVENT_ALL_ACCESS, 0, (LPCTSTR)quitEvent);if (hEvent){SetEvent(hEvent);CloseHandle(hEvent);}exit(0); } 这三个函数就是触发事件的, HANDLE hEvent OpenEvent(EVENT_ALL_ACCESS, 0, (LPCTSTR)quitEvent);这一行是触发那个事件用的,里面的参数就是事件初始化用的字符串. if (hEvent){SetEvent(hEvent);CloseHandle(hEvent);}如果hEvent不为空,进去发送事件.如果把事件初始化函数放到局部变量中,当函数运行事件就没有了,这个hEvent就是空的了,找不到相应的事件了,所以为什么强调事件初始化一定要放到全局中.
http://www.w-s-a.com/news/803544/

相关文章:

  • 电子商务网站建设需要物流网站开发公司
  • 网站的系统建设方式有哪些内容宁波网站建设公司
  • 网站开发 技术方案品牌建设总要求
  • 中卫网站建站设计seo专员的工作内容
  • h5商城网站是什么意思.net 网站开发框架
  • 西安网站改版的公司软件外包是什么意思
  • 网站建设了解眉山网站优化
  • 做网站用php还是node如何申请网站域名流程
  • 销售公司怎么做网站删除wordpress
  • 毕节网站怎么做seohtml代码特效银河系
  • 淄博品质网站建设网站引导页案例
  • 网站建设虚拟空间小豹子韬韬是哪个网站做的
  • 网络司网站如何建立公司网站建议和规则
  • 织梦网站模板后台密码找回企业vi设计公司性价比高
  • php 爬取网站所有链接传奇手游发布网站
  • 免费软文网站wordpress中文名注册
  • 企业网站建设研究目的意义怎样设计一个公司网站
  • 怎么架构网站便民信息发布平台
  • 网站 建设 现状网站推广合同需要缴纳印花税吗
  • 熊猫头表情包制作网站wordpress 缺省目录
  • 网站浏览图片怎么做的群晖wordpress升级5.0
  • 25个优秀个人网站设计模板网站建设定位分析论文
  • 在线网站备案站长seo综合查询工具
  • 网站根 html网站建设行业数据
  • 网站公司做的网站有最字设计说明室内设计
  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站
  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准