-
用VS2008+ATL开发可以显示Gif的ActiveX控件源码
VS2008%2BATL开发Gif的ActiveX控件%28毛坯%29
创建一个空的解决方案,名称GifSolution。将来包含控件项目和测试项目。新建项目,弹出的对话框中选ATL项目,名称为GifAnimate确定。弹出的对话框中选择DLL服务器(可选允许合并代理存根,这样不会产生代理dll),完成后编译,这样工程框架就完成了。
组件分有窗口的和无窗口的,这里应该用有窗口的,所以添加组件的时候,外观不要基于none,最好基于CStatic。因为gif是动态的,应该用另一个线程绘制,这样不影响主线程响应消息,绘图更加流畅。
为GifAnimate项目添加类-选择ATL控件,点击添加,弹出对话框。
1.本文只是举例说明开发过程,抛砖而已。
2.样例只是框架,不能直接使用,所有代码没有经过测试
3.样例接收器GifSink和属性页卡片没有完成,懒了,呵呵
4.样例背景等很多属性没有实现
5.使用了GDI+,但GDI+的Image类的SetActiveFrame函数有问题,网上貌似没有解决办法。Debug版本不影响使用,Release版本没有测试。如果有兴趣,可以使用IPicture接口,网上很多。
- 2022-03-31 20:14:24下载
- 积分:1
-
兼容64位的VC++ 音乐播放器 带进度条
这是一个比较早的VC++播放器源码,兼容64位的VC++ 音乐播放器 带进度条和音量控制拖动条,同时还有几个常用的播放控制按钮,暂停、播放、打开文件、快进等,这个播放窗口可以随拖动大小而自动变化。运行效果如上图所示,源代码来自国外网站,注释全是英文英文的。
- 2022-01-25 16:55:52下载
- 积分: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++ 获取所有进程并进行管理-进程管理器
进程:进程管理器,VC++ 6.0枚举获取所有进程并进行管理-模拟一个进程管理器的写法,枚举Windows中所有正在运行的进程,本示例将演示如何获取进程路径,打开进程句柄,获取进程优先级,终止进程主函数,创建状态栏,获取当前行行号,在状态栏上显示时间,取得选择项目的索引,重新取得第一个位置,更新进程等。
- 2022-01-22 05:53:39下载
- 积分:1
-
VC++ 调用 windows 字体、打印、调色板等对话框示例
VC++ 调用 windows 字体、打英调色板、搜索、替换、保存、颜色、页面设置、打印设置、打开等常用对话框窗口示例,这些对话框也可以在控制面板中打开,主要是VC++与调用Windows相关模块相关的一个程序示例,有助于了解与windows编程的相关技巧。
- 2022-03-24 00:23:54下载
- 积分:1
-
VC++ 查询数据库中指定时间段内的数据
VC++ 查询数据库中指定时间段内的数据,为了避免时间段的输入格式出错,这里使用了日期选择器控件,用户可通过日期控件来选择起止时间,查询结果显示在DateGirdview控件中。本功能顺利测试需要自行配置数据库,最终运行效果请参见截图。
- 2023-03-19 16:35:03下载
- 积分:1
-
VC++课程设计 背单词软件源代码
VC++课程设计 背单词软件源代码,VC++课堂作业,在visual studio2010环境下开发的背单词程序,附有完整的源代码,程序采用文件存储信息,有单词复习,修改录,单词游戏,单词测验等功能。背单词过程中,若忘记单词,可按任意键显示正确答案。打错的词会加入错词本,为以后的练习提供纠错机会。本程序的运行需要先注册或设置用户名称,然后将记录各自的背单词情况。
- 2022-10-10 05:30:03下载
- 积分:1
-
VC++ 仿Windows“画图”程序
VC++ “画图”程序源代码,编译后的运行效果如演示截图所示。
这个画图程序其实是参照Windows自带的画图而编写的,功能和界面布局都十分相似,不过用VC++写出画图,说明你对VC++图像处理各方面的技巧已经掌握 ,因此学习研究本源码,有助于你提高VC++图像绘制、处理方面的技巧,VC++新手必看程序。
程序功能:选择画笔大孝画笔颜色、清除、保存等,还有一些几何图形绘制工具比如圆形、椭圆、矩形工具等供使用。
- 2022-03-20 01:18:01下载
- 积分:1
-
VC++ MFC绘图打印技术范例
VC++ 6.0 基于MFC的绘图及打印技术实例,附上了完整源码,打开程序后,可单击“测试”按钮,弹出绘图设置窗口,设置好参数绘图,然后打印出数据。方法步骤:
//创建画笔C++对象
CPen* pPenBlue = new CPen;
//创建画笔
pPenBlue->CreatePen(PS_SOLID,pDoc->m_thick,pDoc->m_color);
//选中当前画笔,并保存以前的画笔
CPen* pOldPen = pDC->SelectObject(pPenBlue);
POSITION posi=pDoc->m_PointList.GetHeadPosition();
while(posi)
{
CPoint point(pDoc->m_PointList.GetNext(posi));
pDC->Ellipse(point.x,point.y,point.x+
pDoc->m_long,point.y+pDoc->m_short);
}
//恢复旧画笔
pDC->SelectObject(pOldPen);
//删除新建的画笔对象
delete pPenBlue;
//设置映射模式
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*xLogPixPerInch/96;
yExt=winSize.cy*yLogPixPerInch/96;
//设定视口大小
pDC->SetViewportExt(xExt,yExt);
- 2022-01-25 14:09:09下载
- 积分:1
-
VC++ 创建MFC工作者线程,进行耗时计算
VC++ 创建MFC工作者线程,进行耗时计算,时间显示为一个线程,另外用户可通过菜单中创建一个进度条演示的工作者线程,运行效果如图所示,创建工作者线程相关定义代码:
memset(&font,0,sizeof(LOGFONT));//为字体结构赋初值,默认值
font.lfHeight=30;//字体高度为50
font.lfWeight=600;
strcpy(font.lfFaceName,"Arial");
myfont.CreateFontIndirect(&font); //创建新字体
oldfont=dc.SelectObject(&myfont);//将新字体选入设备环境*/
CTime m_time;
m_time=CTime::GetCurrentTime();//获取当前时间日期
CString str=m_time.Format("当前时间:%H:%M:%S");//格式化
dc.TextOut(20,20,str);//显示时间
dc.SelectObject(oldfont);//恢复设备环境中的旧字体
- 2022-02-11 23:05:26下载
- 积分:1