-
多任务多线程断点续传源代码
VC++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
- 2022-03-21 18:31:32下载
- 积分:1
-
VC++ 表格式简历打印的实现
本源码演示在VC++中打印简历模板,是一个采用表格设计的简历界面,VC++将按设计的模式打印出来,就像使用Word打印一样的功能。
以下代码可作为参考:
//获取位图所有数据
m_bitdata = m_pRecord->GetFields()->GetItem((long)9)->GetChunk(m_factsize);
HBITMAP m_hmap ;
if (m_bitdata.vt==VT_ARRAY |VT_UI1)
{
//定义一个数据缓冲区
m_bitbuffer = new char[m_factsize];
//将m_buffer指向m_bitdata
SafeArrayAccessData(m_bitdata.parray,(void**)&m_buffer);
//复制位图数据到m_bitbuffer;
memcpy(m_bitbuffer,m_buffer,m_factsize);
SafeArrayUnaccessData(m_bitdata.parray);
void* m_factbitdata ; //实际的位图数据
//temp指向位图信息头
temp = m_bitbuffer+sizeof(BITMAPFILEHEADER);
BITMAPINFOHEADER * m_bitheader = (BITMAPINFOHEADER*)temp;
//获取位图信息,它包括位图信息头和调色板
BITMAPINFO* m_bitinfo = (BITMAPINFO*)temp;
//获取位图的实际数据
m_factbitdata = (void*)(m_buffer+((LPBITMAPFILEHEADER)m_bitbuffer)->bfOffBits);
CClientDC m_dc(this);
//创建位图
hbitmap = CreateDIBitmap(m_dc.m_hDC,m_bitheader,CBM_INIT,m_factbitdata,m_bitinfo,DIB_RGB_COLORS);
delete [] m_bitbuffer;
}
- 2022-07-02 18:31:16下载
- 积分:1
-
VC++ FTP、HTTP 多线程断点续传下载文件
VC++ FTP、HTTP 多线程断点续传下载文件,在断点下载时,可获取远程站点信息,如:是否支持断点续传、要下载的文件大小和创建时间等。可设置下载的线程数、下载任务的线程函数、多线程断点续传下载一个文件、关于BOOL bForceDownload/*=FALSE*/的定义,如果为 TRUE 表示强制性重新下载,以下载的部分将会被删除,FALSE 表示断点续传,并创建多线程下载使用的对象和数据缓冲、删除多线程下载使用的对象和数据缓冲。
启动多线程下载,返回 0 表示失败,1表示成功,2表示不用下载了,因为该文件已经下载过了
智能判断要保存的文件是否已经存在,且大小和创建时间一致,如果不是强制性下载,则不需要再下载了。
- 2022-03-19 00:12:39下载
- 积分:1
-
VC6.0 多表分组统计查询销售数据
VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。
提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
- 2023-02-05 17:45:03下载
- 积分:1
-
VC串口调试、发送和接收消息范例
VC串口调试、发送和接收消息数据范例,这里面涉及到线程控制、串口调试、发送消息、接收消息等编写技巧,还有串口读和写操作,独占方式、延时发送消息,设置发送和接收缓冲区大小等,关于一些参数定义和接收数据函数的代码如下:
OVERLAPPED tOverLaped= {0}; //线程函数使用的OVERLAPPED结构
OVERLAPPED wOverLaped = {0}; //写操作使用的OVERLAPPED结构
OVERLAPPED rOverLaped = {0}; //读操作使用的OVERLAPPED结构
BOOL IsFun = TRUE; //线程是否运行
BOOL IsStop = FALSE; //数据是否发送完毕
//自定义消息处理函数,用于接收数据
void CSeriesPortDlg::OnRecieveData(WPARAM wParam, LPARAM lParam)
{
DWORD res,factbyte;
memset(DataBuffer,0,1024); //初始化数据缓冲区
COMSTAT rst;
ClearCommError(hCom,&res,&rst);//清空串口错误标志,记录当前通信状态
rOverLaped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); //创建一个事件对象
if (ReadFile(hCom,DataBuffer,rst.cbInQue,&factbyte,&rOverLaped)) //读取数据到缓冲区中
{
DataBuffer[rst.cbInQue]= 0;
IsStop = FALSE;
}
else
{
res = WaitForSingleObject(rOverLaped.hEvent,5000);
}
IsStop = FALSE;
MessageBox(DataBuffer);
}
- 2023-05-17 19:05:03下载
- 积分:1
-
VC++使用标签控件创建TAB标签页
VC++使用标签控件创建标签页,向大家展示VC++中基本标签控件的使用方法。如效果图所示的标签窗口,一共是创建了两个标签,单击后可切换对应的内容,在WEB开发中,这种TAB功能也有很普遍的应用。你可参考如下对TAB标签的定义:
TC_ITEM tcItem;//标签结构
tcItem.mask=TCIF_TEXT;
tcItem.pszText="标签1";
m_ctlTab.InsertItem(0,&tcItem);//添加Tab标签页
tcItem.pszText="标签2";
m_ctlTab.InsertItem(1,&tcItem);//添加Tab标签页
m_ctlTab.SetCurSel(0);//设置Tab标签1为选中状态
GetDlgItem(IDC_STATIC1)->ShowWindow(TRUE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);//隐藏静态控件2
GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);//隐藏按钮控件2
CRect rect1,rect2;
GetClientRect(rect1);
GetDlgItem(IDC_STATIC1)->GetClientRect(rect2);
GetDlgItem(IDC_STATIC1)->MoveWindow((rect1.left+50),(rect1.top+80),rect2.Width(),rect2.Height());//移动静态控件1
GetDlgItem(IDC_BUTTON1)->GetClientRect(rect2);
GetDlgItem(IDC_BUTTON1)->MoveWindow((rect1.left+80),(rect1.top+120),rect2.Width(),rect2.Height());//移动按钮控件1
- 2022-03-29 18:20:27下载
- 积分:1
-
VC++自绘窗体完整实例源码
C++自绘窗体的完整代码,为你提供了一个对话框自绘设计方案,代码中的注释非常详细,相信会帮助大家设计好自己的个性窗体。这个自绘窗口是通过加载背景位图来实现的,对BMP位图进行平铺处理,也就是帖图的意思,定义一个位图画刷,选中画刷,然后填充客户区域。在填充的时候,需要判断位图的宽度与窗体边缘的宽度,这里对标题栏、窗体按钮、边框等窗体元素都进行填充处理,代码中有具体的实现过程。
- 2022-02-22 04:29:43下载
- 积分:1
-
VC++基本鼠标操作——判断鼠标消息
VC++基本鼠标操作——判断鼠标消息,操作方法:按下鼠标左键,移动鼠标即可绘制椭圆,直至释放左键!
void CBaseMouseDemoView::OnMouseMove(UINT nFlags, CPoint point)
{
if(bDrag)
{
ptUp=point;//记录鼠标的当前位置
DrawCircle();//画新圆
}
CView::OnMouseMove(nFlags, point);
}
void CBaseMouseDemoView::DrawCircle()
{
Invalidate(false);
CClientDC dc(this);//获取DC
CRect rect;
GetClientRect(rect); //获取客户窗口区域
CBrush brush(RGB(255,255,255));
dc.FillRect(rect,&brush);//填充背景色为白色
dc.Ellipse(ptDown.x,ptDown.y,ptUp.x,ptUp.y);//绘制矩形
}
- 2022-03-19 16:04:24下载
- 积分:1
-
向新手演示VC++中的ListView用法 附源码
向新手演示VC++中的ListView用法 附源码,这个虽然简单,不过对于刚接触VC++编程的新手来说,可以很好的熟悉ListView组件在VC++中的应用方法,本程序编写好后,运行编译后的程序,界面效果如图所示。
- 2022-06-28 09:08:10下载
- 积分:1
-
VC++读取AutoCAD格式的dxf文件
VC++编程实现读取AutoCAD格式的dxf文件,打开DXF文件后,本程序可放大、缩小预览效果。可以把本程序看作是一个打开DXF文件格式的查看器。源代码中的CadIO.dll文件请放在与编译后的Exe文件同级目录下。测试程序的源代码在cadDXFLibcadlib_srcCadLibTest目录下。
- 2022-07-01 21:46:50下载
- 积分:1