登录
首页 » VC++源码 » VC++ 使用自定义消息进行线程间的通信

VC++ 使用自定义消息进行线程间的通信

于 2023-03-13 发布 文件大小:13.75 kB
0 209
下载积分: 2 下载次数: 1

代码说明:

VC++ 使用自定义消息进行线程间的通信,在本例子中,当计数到17的整数倍时,工作线程通过自定义消息与主线程通信。最后会弹出消息框:当前计数器的计数为17的整数倍。计数器有几个选项:高速计数、低速计数,相关参数设置如下:   SpeedControl=1;   GetDlgItem(IDC_RADIO1)->EnableWindow(true);//单选按钮生效   GetDlgItem(IDC_RADIO2)->EnableWindow(true);   GetDlgItem(IDC_RADIO3)->EnableWindow(true);   GetDlgItem(IDC_STAR)->EnableWindow(false);//开始按钮无效   numinfo.pedit=&m_Num;   numinfo.hwnd=GetSafeHwnd();//获取主线程窗口指针   CWinThread* pThread=AfxBeginThread(ThreadFunc,&numinfo);//创建新的线程并开始执行

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++基于VC++写的登录程序
    VC++基于VC++写的登录程序,结合数据库实现的,是一个简单数据库程序,测试前请做以下工作:   1.配置ODBC数据源   2.新建CAdminDatasets类(方便登录对话框的调用),新建过程当中以CRecordset为基类,数据源选中对应数据库,然后选中对应用户登录表   3.新建登录对话框,以CDialog为基类。然后按程序代码执行登录检查
    2022-08-22 14:43:26下载
    积分:1
  • 兼容64位的VC++ 音乐播放器 带进度条
    这是一个比较早的VC++播放器源码,兼容64位的VC++ 音乐播放器 带进度条和音量控制拖动条,同时还有几个常用的播放控制按钮,暂停、播放、打开文件、快进等,这个播放窗口可以随拖动大小而自动变化。运行效果如上图所示,源代码来自国外网站,注释全是英文英文的。
    2022-01-25 16:55:52下载
    积分:1
  • VC++ 首字母大写自动转换
    VC++拼音首字母大写自动转换程序,获取汉字的拼音首字母,并把首字母转换成大写,这是个VC.NET程序,我电脑上暂时没有编译环境,没有抓到截图,部分代码如下:   class CUpperFirstLetterApp : public CWinAppEx   {   public:    CUpperFirstLetterApp();   // 重写    public:    virtual BOOL InitInstance();   // 实现    DECLARE_MESSAGE_MAP()   };
    2022-04-18 02:09:56下载
    积分:1
  • VC++ 6.0 实现选中项缩进的列表框
    VC++ 6.0 实现选中项缩进的列表框,选中列表项后,该项缩进,文本显示为红色,自定义列表框控件,注意观察选中后的特性,重载控件的DrawItem函数。下面来看实现这一功能的代码段:   dc.Attach(lpDrawItemStruct->hDC);//获取列表框的DC   CRect rect(lpDrawItemStruct->rcItem);//获取列表框的矩形区域   COLORREF bk = dc.GetBkColor();//背景颜色   COLORREF fg = dc.GetTextColor();//系统文本颜色   if(lpDrawItemStruct->itemState & ODS_SELECTED)//该项被选中   {    bk = RGB(180,180,0 );//背景颜色    fg = RGB(255,0,0 );//红色文本   }   dc.SetTextColor(fg);   CBrush brush(bk);   dc.FillRect(&rect,&brush);   if (lpDrawItemStruct->itemState&ODS_SELECTED)   rect.left +=25;//缩进25个象素   int nBkMode = dc.SetBkMode( TRANSPARENT );   CString str;   GetText(lpDrawItemStruct->itemID,str) ;   dc.DrawText(str, &rect, DT_LEFT|DT_VCENTER);//显示文本   dc.SetTextColor(fg);   dc.SetBkMode( nBkMode );   dc.Detach() ;
    2022-06-13 09:32:23下载
    积分:1
  • VC++ 实现基于文档视图结构的打印
    VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:   CFont m_titlefont; //标题字体   CFont m_bodyfont; //正文字体   int screenx,screeny; //获取窗口每英寸像素数   int printx,printy; //获取打印机每英寸像素数   double xrate,yrate; //打印机与屏幕的像素比率   int pageheight; //打印纸高度   int pagewidth; //打印纸宽度   int leftmargin,rightmargin; //打印纸左右边距   BOOL isPreview; //是否处于预览状态
    2022-06-19 11:39:54下载
    积分:1
  • VC++ 使用CDib类实现显示与保存BMP文件
    VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:   m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像   if(m_hDIB==NULL)   {   AfxMessageBox("图像格式不正确!");// 提示出错   return FALSE;   }   SetDib();// 初始化DIB   if (m_hDIB == NULL)// 判断读取文件是否成功   {   AfxMessageBox("读取图像时出错");// 提示出错   return FALSE;// 返回FALSE   }   SetPathName(lpszPathName);// 设置文件名称   SetModifiedFlag(FALSE);// 初始化脏标记为FALSE   return TRUE;// 返回TRUE
    2022-02-26 00:19:37下载
    积分:1
  • VC++ 使用TRY-THROW-CATCH结构捕获处理异常
    VC++ 使用TRY-THROW-CATCH结构捕获处理异常,在编辑框中,要求输入100~500之间的整数,如果超过边界,认为是异常,使用TRY CATCH结构捕获处理异常,异常测试代码如下:   UpdateData(true);   try//捕获异常   {    if(m_num>500)    throw 1;//抛出异常    if(m_num
    2023-07-20 04:55:03下载
    积分:1
  • vc++windows大作业-猜数字游戏
    VC++ Windows课程设计源码作品:传统的猜数字游戏,编程学院大作业完整源代码。本游戏步骤:   分别在四个文本框内输入四个不同的四位数   按猜数字键猜测,得到结果,点答案键出答案,当4个文本框内的数字和位置都正确游戏胜利,自动进入下一轮答题,技巧:   玩家可以根据提示推断数字:   例 正确2个错误2个 说明有2个数字和位置都正确,2个数字正确但位置不正确    正确0个错误4个 说明有0个数字和位置都正确,4个数字正确但位置不正确   特色: 机器可以根据猜测的命中率不同显示不同的话   看完答案再答题会怎样呢? 试试就知道了~
    2023-06-14 23:05:04下载
    积分:1
  • VC 区域放大图像 鼠标位置放大
    VC++实现一个图片区域的放大,当鼠标悬停于图片的某一处时,放大显示该区域的图像,不过测试切现,本程序同时也可缩小图片,不过操作体验方面还需要改进,初始化时,按原来大小显示位图,鼠标移动的位置激活时,计算要放大的局部矩形的源图像位置和目标位置。如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数大于5,就继续减小放大倍数,然后进行放大显示,如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数小于150,就继续增加放大倍数,然后进行放大显示。
    2022-08-08 13:50:08下载
    积分:1
  • VC++ 删除已存在的存储过程
    VC++ 演示在程序中删除已存在的存储过程,VC6存储过程相关操作实例,删除方法很简单,创建对象,如下代码示:   UpdateData(true);   BOOL result;   ADOConn m_AdoConn;   m_AdoConn.OnInitADOConn();   _bstr_t sql;   sql = "drop procedure "+m_edit+" ";   result = m_AdoConn.ExecuteSQL(sql);   m_AdoConn.ExitConnect();   if(result)    MessageBox("存储过程已删除!");   else    MessageBox("存储过程不存在!");
    2022-12-24 15:50:03下载
    积分:1
  • 696518资源总数
  • 106174会员总数
  • 31今日下载