-
VC++ OpenGL粒子系统之火山喷发
VC++ 带音效的OpenGL粒子系统之火山喷发,作者:蔡真真 张田田。选择运行参数后,在音效的配合下,很逼真的火山喷发效果展现在眼帘。程序中为每个动态元素都制作了操作类,比如键盘类和程序框架类 、粒子系统火山喷发类、字体类、载入位图类、粒子定义类、粒子系统喷发具体实例类,粒子系统火山喷发模式选择对话框类等,这些类的共同发力,实现了逼真的火山喷发效果,当然你的电脑中需要安装有OpenGL组件,在预览效果时,可选择窗口大小以及全屏、音效等。
在具体实例类中,完成了核心的火山叶喷发功能,比如计算帧速、输出文字信息、绘制地面、绘制天空、绘制背景、初始化粒子、更新粒子等操作。当然,粒子定义类也是一个很主要的操作类。
- 2023-02-15 21:10:04下载
- 积分: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
-
Windows核心编程第五版随书源码集
VC++ Windows核心编程第五版随书源码集,这些例子是很好的学习VC++编程的资料,每一个都可以编译运行,对照《VC++ Windows核心编程》这本书,理论加实践,会有更好的学习效果。
- 2022-11-21 20:20:03下载
- 积分:1
-
收集3个与进程相关的VC++源代码
收集3个与进程相关的VC++源代码,主要是进程的创建、进程控制、控制其他进程这三个源码,每一个在VC6.0环境下都可以顺利编译,这些例子都不复杂,因此是初学者学习VC++很不错的范例。
- 2022-04-26 15:50:40下载
- 积分:1
-
向新手演示VC++中的ListView用法 附源码
向新手演示VC++中的ListView用法 附源码,这个虽然简单,不过对于刚接触VC++编程的新手来说,可以很好的熟悉ListView组件在VC++中的应用方法,本程序编写好后,运行编译后的程序,界面效果如图所示。
- 2022-06-28 09:08:10下载
- 积分:1
-
VC++ 6.0 OnCmdMsg消息处理和自定义消息对话框用法
VC++ 6.0 消息处理和自定义消息对话框用法,通过重载函数OnCmdMsg从而使不能够处理主框架命令的非模式对话框,具备了响应主框架命令的功能。二是说明自定义消息的用法。重载OnCmdMsg后,改变的窗口标题,自定义消息参数:x=%d,y=%d"。
- 2022-01-25 16:51:34下载
- 积分:1
-
西工大C++ OpenGL 三D台球室场景
收集分享给大家一个C++大作业,是由西工大学生完成的C++ OpenGL 三D台球室场景,这个台球室基于OpenGL的贴图技术实现,用了不少的BMP素材来贴图,不过效果真的挺不错,进入场景后,鼠标拖动、移动均可改变场景角度,台球桌和台球室场景均发生变化,就连窗外的大海也能看清,这个场景完全可扩展一上,用在3D如球游戏中。不过本效果实现,调用了几个外部组件:cygwin1.dll、EaxAc3.dll、glut32.dll、OpenAL32.dll等。最终效果可参见截图所示。
- 2022-05-13 03:54:05下载
- 积分:1
-
VC++ DataGrid ADODC Trasform分析数据的例子
VC++ Trasform分析数据的例子,涉及到DataGrid ADODC等控件的使用方法,测试前请先添加好数据库。程序调试时请注意以下几项:
(1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_TRASFORMDATA_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。
(2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
- 2023-06-03 16:05:03下载
- 积分:1
-
VC++ 使用断言宏检测程序的运行状态
VC++ 使用断言宏检测程序的运行状态,这是一个VC++6.0 书中的代码,我没有搞懂是什么意思,检测程序运行状态的,里面还包括了数组的使用、排序方法、产生随机种子、输出排序后的数组顺序等,
- 2023-03-28 12:15:04下载
- 积分:1
-
3个VC++ win注册表编程操作实例
本源码中有三个VC++操作表的相关例子,每一个都属于比较简单那种,展示注册表的操作技巧,有兴趣的下载源码包。
HKEY hKEY; //定义有关的 hKEY, 在查询结束时要关闭。
LPCTSTR data_Set="SoftwareMicrosoftWindowsCurrentVersion"; //子键目标
//打开与路径 data_Set 相关的 hKEY,第一个参数为根键名称,第二个参数表。
//表示要访问的键的位置,第三个参数必须为0,KEY_READ表示以查询的方式。
//访问注册表,hKEY则保存此函数所打开的键的句柄。
long retopen=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_READ, &hKEY));
if(retopen!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行
{
MessageBox("错误: 无法打开有关的hKEY!");
return;
}
//查询有关的数据 (系统用户姓名 owner_Get)。
LPBYTE owner_Get=new BYTE[80];
DWORD type_1=REG_SZ ;
DWORD cbData_1=80;
//hKEY为刚才RegOpenKeyEx()函数所打开的键的句柄,"RegisteredOwner"。
//表示要查 询的键值名,type_1表示查询数据的类型,owner_Get保存所。
//查询的数据,cbData_1表示预设置的数据长度。
//与RegQureyValueEx()类似,hKEY表示已打开的键的句柄,"RegisteredOwner"
//表示要访问的键值名,owner_Set表示新的键值,type_1和cbData_1表示新值。
//的数据类型和数据长度
UpdateData(true);//获得编辑框数据
if(m_Adduser.IsEmpty()||m_Addpassword.IsEmpty())//用户名、密码不能为空
{
AfxMessageBox("输入用户名、密码不能为空!");
return;
}
- 2022-02-22 09:55:12下载
- 积分:1