-
VC++三种直线扫描转换算法范例演示
本源码演示了三种VC++直线扫描转换算法,这3种方式是:bresenham方法、数值微分法、中点画线法。本程序同时是一个MFC单文档程序,进行直线段扫面转换算法的算法验证。
1.使用Wizard建立单文档程序;
2.绘制20*20的网格线,格子X和Y方向间隔均为20像素,网格起始坐标在(20,20)。我们使用此网格模拟像素矩阵(),格子交叉点是像素中心。
3.输入直线段两端点,可使用以下两种方法之一:
a)对话框输入
b)鼠标在网格内以鼠标左键按下-拖动-抬起方式输入。注意:直线段两端点要自动取整到模拟的像素中心位置
4.进行直线段扫描转换,通过点击鼠标右键调用方式或者菜单调用的方式执行。计算完成后,将扫描转换结果,在模拟的像素矩阵中,使用圆形显示出来。
通过这个实验,我们可以熟悉扫描的算法,其中要注意的是判断直线的斜率,分情况处理竖直直线段、斜率绝对值大于1、斜率绝对值小于1的情况,这部分需要花费一些时间去算。总之还是对扫描算法的理解和编程基矗
- 2022-03-19 09:46:38下载
- 积分:1
-
VC++ 6.0FreeBird软件源码 仿飞鸽传书,可聊天+传输文件
VC++ 6.0自写的FreeBird仿飞鸽传书,可聊天+传输文件程序源码,我耗费一个月上百度、参考网上代码,和不断调试出来的一个网络文件传输小软件。可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。
做这个小软件的目的不是为了给别人使用,而是想通过开发这么一个小小和软件,体会软件设计的过程和了解网络通信是个大概什么样的东西(这也是我摸索了好久,现在才彻底明白原来Socket通信是这么一回事的)。总而言之:目的是为了学习。
- 2023-08-31 14:20:03下载
- 积分:1
-
简单演示多线程的创建和使用VC++源码
一个VC++ Win32程序执行单元——多线程 的创建和使用例子,测试时请在CMD控制台中运行Exe,之后看到的运行结果如图所示,代码部分,请参考以下:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // 安全
DWORD dwStackSize, // 堆栈大小
LPTHREAD_START_ROUTINE lpStartAddress, // 起始地址(函数名)
LPVOID lpParameter, // 参数
DWORD dwCreationFlags, // 是否启动
LPDWORD lpThreadId // 新生成的线程ID
);
int main(int argc, char* argv[])
{
HANDLE hThreadProc;
DWORD dwThreadId;
hThreadProc=CreateThread(
NULL,
NULL,
ThreadProc,
NULL,
0, //使线程立即运行
&dwThreadId
);
printf("Now another thread has been created,ID=%d
",dwThreadId);
//等待新线程运行结果
::WaitForSingleObject(hThreadProc,INFINITE);
::CloseHandle(hThreadProc);
return 0;
}
- 2022-03-26 13:48:22下载
- 积分:1
-
VC6 利用COM实现四则运算
VC6 利用COM实现四则运算,类似于简单的计算器,两个操作数在操作符的作用下进行运算,显示出运行结果。
可以恢复上次的操作数,编译时目录下的内容会生成在TestCOMCalculator文件夹中。
程序运行效果如界面所示。
- 2022-05-07 12:18:00下载
- 积分: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 定时执行任务编写实例,程序运行时显示托盘图标和右键菜单,请设置好时间和需要执行的外部文件路径及文件名,默认情况下是执行外部任务,可选择执行关机、重启、注销等任务,然后启动定时程序,在仅剩1分钟时,程序会显示自动重启警告:计算机将于1分钟内重启,是否取消重启?按"是"则取消自动重启.若允许自动关闭,请保存尚未关闭的程序!"。
本定时程序时间的设置可精确到日期、时间、秒,编写步骤:
①设置任务执行的日期时间.
②选择关机,注销,重启,任务模式.
③选择了任务模式,需要设置任务路径.
④按下"启动定时"按钮.
⑤关机前1分钟不段提示是否关机或重启,如果用户一直未取消,电脑将于1分钟内关机或重启.有如下代码可参考:
if(shutTime < CTime::GetCurrentTime())
{
MessageBox("设置的时间不能早于当前系统时间!");
}
else
{
CString bb;
cButton->GetWindowText(bb);
if(bb == "启动定时")
{
if(radio == 1)
{
MessageBox("定时关机已启动!","定时关机已启动");
}
else if(radio == 2)
{
MessageBox("定时注销已启动!","定时注销已启动");
}
else if(radio == 3)
{
MessageBox("定时重启已启动!","定时重启已启动");
}else if(radio == 4)
{
CString command = "";
GetDlgItemText(IDC_EDIT2,command);
if(command == "")
{
MessageBox("请选择要执行的文件!");
return ;
}else
{
MessageBox("定时任务已启动!","定时任务已启动");
}
}
SetTimer(1,1000,0);
AfxGetApp()->m_pM
- 2022-10-17 12:35:03下载
- 积分:1
-
VC++ 使用right outer join查询SQLServer数据库的例子
VC++ 使用right outer join查询SQLServer数据库的例子,查询结果显示在DATAGRID数据控件中,测试前请确保数据库连接已成功,且数据库非空。窗体界面效果如截图所示,注:测试时数据库连接失败,这是测试电脑的问题。
- 2023-03-02 00:25:04下载
- 积分:1
-
VC++ 仿Windows“画图”程序
VC++ “画图”程序源代码,编译后的运行效果如演示截图所示。
这个画图程序其实是参照Windows自带的画图而编写的,功能和界面布局都十分相似,不过用VC++写出画图,说明你对VC++图像处理各方面的技巧已经掌握 ,因此学习研究本源码,有助于你提高VC++图像绘制、处理方面的技巧,VC++新手必看程序。
程序功能:选择画笔大孝画笔颜色、清除、保存等,还有一些几何图形绘制工具比如圆形、椭圆、矩形工具等供使用。
- 2022-03-20 01:18:01下载
- 积分:1
-
C++课程设计大作业_学生管理系统(含源代码+实验报告)
这个C++作业主要是编写一个学生成绩管理系统,资料中包括了实验文档报告和项目源代码,项目代码并不多,对学习有帮助。
1.设计目的:用计算机完成对学生成绩的管理。包括对计算机所储存信息的查询、修改、删除、统计等。利用简单容易操作的菜单界面,方便学校、教师等利用计算机的高效、智能化以及存储的便捷性对学生成绩进行管理,可以节省人力时间,安全便捷。
2.总体设计:学生成绩管理系统提供三大模块,即学生成绩信息维护,学生成绩信息查询,学生成绩统计。其中信息维护包括对学生信息的修改,删除和增加,信息查询实现通过学生学号或姓名查询成绩的功能。学生成绩统计则对不同科目不同分数段的学生进行统计,方便用户对学生成绩获得总体的了解和把握。
3.详细设计:首先为用户提供方便的菜单,利用数据输入输出流和规范化输出等实现。再由控制结构实现用户选择与系统功能的对应。利用文件输入输出使C++程序与其数据的存储所在得txt文件联系起来,并进行读写操作。利用2个string类型的数组存储学生姓名和学号,再利用3个int类型数组用来存储学生的三科成绩。
函数实现系统的功能。首先,通过一个getRow函数获得系统中目前存储的学生人数。再通过一个getID函数,将txt文件中的学生信息录入到之前声明的五个数组中。然后即可对学生数据进行操作。searchGrade可实现用户对学生成绩的查询,changeGrade可帮助用户修改学生的各项信息,addGrade可以向计算机存储中增加新的学生信息,countGrade可统计不同科目不同分数段的学生分布情况。另外,enterChoice函数用来帮助信息维护的用户对不同的维护选项进行选择,而saveResult则在用户对数据进行维护后进行文件的保存,完成C++程序与txt文件的数据交流。main函数主要进行控制结构的安排和变量的声明。
在全部功能实现并正常编译后,对程序进行了新的修改。在countGrade中提供了更多学生信息,完善了错误反馈机制。并对菜单进行了美化调整。对几个函数的位置作了调整。
经调试,程序能够快速准确的执行设计目的中的各项要求和期望,达到设计初衷。
所有这些资料,你都可以通过压缩包中的课程设计报告.doc文档来了解。
- 2022-02-09 18:24:25下载
- 积分:1
-
VC++ 查询数据库中指定时间段内的数据
VC++ 查询数据库中指定时间段内的数据,为了避免时间段的输入格式出错,这里使用了日期选择器控件,用户可通过日期控件来选择起止时间,查询结果显示在DateGirdview控件中。本功能顺利测试需要自行配置数据库,最终运行效果请参见截图。
- 2023-03-19 16:35:03下载
- 积分:1