登录
首页 » VC++源码 » vc++CThreadEx范例源码

vc++CThreadEx范例源码

于 2022-03-03 发布 文件大小:68.97 kB
0 148
下载积分: 2 下载次数: 1

代码说明:

vc++CThreadEx范例源码,创建两个线程分别显示不同的图片,形成交替显示的效果,演示了线程同步和异步,并涉及到定时器的使用。在交替显示图片时,每半秒触发定时器,演示了在一个周期内创建线程、启动线程、向工作线程发出退出命令、等待工作线程、销毁工作线程、主线程停止交替显示,i交替取值0和1、解除同步、检验是否有消息到达等各个环节的实现代码。

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

发表评论

0 个回复

  • VC++ DAO 操作Access的测试例子
    VC++ DAO 操作Access的测试例子,本演示是VC++使用DAO连接Access数据库的一个测试程序,学习如何使用DAO操作Access,通过添加一个数据库记录来演示添加、删除、插入数据的例子,比较简单,面向VC++初学者的一个例子。部分代码分享如下:   // 取得被选择记录的索引   nIndexInFieldList = m_listctrlInfo.GetNextSelectedItem(pos);   // 高亮被的选择记录   m_listctrlInfo.SetFocus();   // 从文件中把当前行记录删除   // 获取数据库文件   m_csDatebaseFile = GetDatabaseFile();   // 判断数据库是否已经打开   if (!m_bIsOpenDB)   {    db.Open(m_csDatebaseFile);    // 判断数据集是否已经打开    if (!m_bIsOpenDSN)    {    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM PositionTable",NULL);    }   }   m_nTotal = m_listctrlInfo.GetItemCount();   m_nCurrentIndex = ConvertIndex(nIndexInFieldList,m_nTotal - 1);   RecSet.MoveFirst();   RecSet.Move(long(m_nCurrentIndex));   RecSet.Delete();   ClearContent();   // 删除被的选择记录   m_listctrlInfo.DeleteItem( nIndexInFieldList );   // 显示删除数据成功的信息   GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T("删除数据成功!"));   // 再次取得第一条记录的位置   POSITION pos = m_listctrlInfo.GetFirstSelectedItemPosition();   UINT flag = LVIS_SELECTED|LVIS_FOCUSED;
    2022-04-28 15:09:11下载
    积分:1
  • VC++ 使用IN引入子查询限定查询范围
    VC++ 使用IN引入子查询限定查询范围的方法+源代码实例,用以查询在指定条件区间中的数据,比如具体到本例子中,查询收入在1000到3000之间的员工数据,用到了子查询的方法,通过本例子源码的学习,你可学习到VC++基本的数据库连接方法和in子查询的方法,当然子查询有些高级,本源码还算简单。
    2022-10-30 06:05:03下载
    积分:1
  • VC++ 6.0制作的弹出式菜单
    VC++ 6.0制作的弹出式菜单,代码作者:一剑,这里主要是定义了CMainFrame::OnContextMenu函数来实现弹出式菜单,请参见以下核心代码:   void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)   {    CMenu menu;    CMenu *popup;    //IDR_POP_MENU是菜单资源的ID号,是刚添加的菜单    menu.LoadMenu(IDR_POP_MENU);    ASSERT(menu);    //此函数用于得到子菜单的指针。    //由于需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到。    popup=menu.GetSubMenu(0);    popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x, point.y,this);      }   然后需要定义几个菜单命令响应函数,请参见源代码文件。
    2022-03-30 01:28:38下载
    积分:1
  • VC++ 6.0创建带有文本指示的自定义进度条
    VC++ 6.0创建带有文本指示的自定义进度条,自己创建的带有文本的进度条:,   GetClientRect(&rectClient);//获取进度条窗口   CBrush brush;   brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));//获取系统画刷   dc.FillRect(&rectClient, &brush);//填充进度条窗口   VERIFY(brush.DeleteObject());//删除画刷   if (m_nCurrentPosition m_nUpper)//进度条没有运行   {    return;   }   brush.CreateSolidBrush(RGB(0, 0,255));//创建蓝色画刷   RECT rectFill;//定义填充区域   float fillwidh=(float)((float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower))*rectClient.right;   ::SetRect(&rectFill,    0,// 左上X坐标    0,//左上Y坐标    (int)fillwidh,//右下X坐标    rectClient.bottom+1);//右下Y坐标   dc.FillRect(&rectFill,&brush);//填充进度条区域   VERIFY(brush.DeleteObject());   CString percent;   percent.Format("已完成:%.0f%%", 100.0*(float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower));   dc.SetTextColor(RGB(255,0,0));//设置文本颜色   dc.SetBkMode(TRANSPARENT);//透明背景   dc.DrawText(percent, &rectClient, DT_VCENTER|DT_CENTER|DT_SINGLELINE);//显示文本信息
    2023-06-16 21:25:02下载
    积分:1
  • VC 6.0 示波器
    一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
    2022-10-20 06:05:04下载
    积分:1
  • VC++ 设置打印图形的位置
    VC++ 6.0 设置打印图形的位置,实现所见即所得的打印功能。   if(pDC->IsPrinting())//判断是否因打印或打印预览而调用OnPrepareDC()函数   {    pDC->SetViewportOrg(250,400);//设置视口坐标原点   }   //以下为显示和打印的内容   pDC->TextOut(10,10,"实现所见即所得的打印");   pDC->SetBkMode(TRANSPARENT);   pDC->Rectangle(10,40,310,350);   pDC->Ellipse(50,50,210,220);   pDC->Ellipse(70,240,280,320)   //设置映射模式   pDC->SetMapMode(MM_ANISOTROPIC);   CSize winSize = CSize(1024,768);   pDC->SetWindowExt(winSize); //设定窗口大小   //得到实际设备每逻辑英寸的像素数量   int xLogPixPerInch,yLogPixPerInch;   xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);   yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);   //得到设备坐标和逻辑坐标的比例   以下是实现打印:   int xExt,yExt;   xExt=winSize.cx*600/xLogPixPerInch; //按照打印机扩大视口   yExt=winSize.cy*600/yLogPixPerInch;   pDC->SetViewportExt(xExt,yExt); //设定视口大小
    2022-01-27 16:52:24下载
    积分:1
  • VC 随机数选号程序
    VC 随机数选号程序 源代码,窗口中的每一个文本框对应一个随机数数组,当点击开始按钮后,这些数组各自为战,分别生成不同的随机数,当用户点击停止后,各个文本框中的随机数是不同的,由此可生成一个随机选号程序。   你可学习到生成随机数的线程、更新编辑框数字的线程、生成随机数、开始选号、更新按钮状态等相关的事件处理操作。
    2022-03-12 18:31:14下载
    积分:1
  • VC++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • VC++ 使用不同的画笔绘制图形
    VC++ 使用不同的画笔绘制图形,演示绘制矩形、绘制多段折线、绘制椭圆、弧形和饼图,使用不同的画笔类型来绘制不同的几何图形,演示了一些VC++图形绘制的基础技巧使用方法。下面的代码演示了如何绘制出这些图形:   //以实线画笔绘制矩形   pOldPen=pDC->SelectObject(&pen[0]);   pDC->Rectangle(10, 10, 110, 110);   pDC->TextOut(10, 115, "绘制矩形");   //使用虚线画笔和函数Polyline输出多段折线   pDC->SelectObject(&pen[1]); //载入虚线画笔   CPoint pts[]={CPoint(190, 20), CPoint(200, 60), CPoint(270, 40), CPoint(210, 80),   CPoint(250, 100), CPoint(300, 30), CPoint(310, 80)};   pDC->Polyline(pts, 7); //绘制多端折线   pDC->TextOut(180, 115, "绘制多段折线");   // 使用Pie和Arc输出饼图和弧形   pDC->SelectObject(&pen[2]); //载入点线画笔   pDC->Ellipse(10, 140, 160, 240);//绘制椭圆   pDC->SelectObject(&pen[3]); //载入点划线画笔   pDC->Pie(20, 150, 150, 230, 160, 160, 10, 160);   pDC->SelectObject(&pen[4]);//载入双点划线画笔   pDC->Arc(20, 150, 150, 230, 10, 220, 160, 220);   pDC->TextOut(10, 245, "绘制椭圆、弧形和饼图");   pDC->SetTextColor(RGB(0,0,255));   pDC->TextOut(220, 200, "使用不同的画笔绘制各种图形");   //恢复设备上下文的原有画笔   pDC->SelectObject(pOldPen);   //删除所创建的画笔资源   for (int i=0; i
    2022-02-13 06:16:01下载
    积分: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
  • 696518资源总数
  • 105885会员总数
  • 31今日下载