-
VC 按1:1 按宽度和高度 平铺拉伸放大缩小图片
本程序为VC++缩放图片的小示例,可按宽度、高度、充满、居中显示等多种方式显示图片,具体来说可完成以下放大或缩小图片的功能:
//1:1比例,不放大也不缩小:
void CZoomImgDemoDlg::On11()
{
m_wndImage.SetStrechType(STRECH_1_1);
}
//按宽度放大:
void CZoomImgDemoDlg::OnFullX()
{
m_wndImage.SetStrechType(STRECH_FULL_X);
}
//按高度
void CZoomImgDemoDlg::OnFullY()
{
m_wndImage.SetStrechType(STRECH_FULL_Y);
}
//充满窗口
void CZoomImgDemoDlg::OnFull()
{
m_wndImage.SetStrechType(STRECH_FULL);
}
//居中显示,大小为窗口的一半
void CZoomImgDemoDlg::OnCenter()
{
m_wndImage.SetStrechType(STRECH_CENTER);
}
- 2022-01-28 02:37:20下载
- 积分:1
-
VC++ 6.0 弹球游戏&打砖块源代码
PenBall游戏源代码,VC++ 6.0 编写开发的弹球游戏&打砖块源代码,这个游戏的叫法很多了,有人叫做乒乓球游戏,有的叫“撞球游戏”,这里被称为弹球游戏和打砖块游戏,不管叫做么吧,大家一看到运行截图就明白了是什么游戏。这款撞球游戏分为三关,第三关是最难的,还有音效,操作挺方便,球拍自动跟随鼠标移动,运动自如。分享本源码主要是让大家参考一些从游戏中剥离出来的技巧,比如控制对象移动、碰撞检测反弹等,可用于其它的VC++开发项目中。
- 2022-08-13 12:20:23下载
- 积分:1
-
vc++ 6.0 AddNew添加数据库记录实例
VC++ 数据库基础编程例子,使用记录集对象的AddNew方法添加记录。
//连接数据库
OnInitADOConn();
//设置查询字符串
_bstr_t bstrSQL = "select * from employees order by 员工编号 desc";
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,"");
m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));
m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));
m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));
m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));
//将记录集指针移动到下一条记录
m_pRecordset->MoveNext();
}
//断开数据库连接
ExitConnect();
- 2022-03-10 00:07:57下载
- 积分:1
-
VC++ 版 GDI+程序设计实例源代码实例集
gdiplus应用实例,在网络上广泛流传的“GDI+程序设计实例源代码”中使用的是C#语言,且封装了开源对象,
源代码主要在 “Form1.cs” 中,其功能的实现形式与.Net的MSDN帮助不同。
作者对该源代码进行了移植,在VC的非 UNICODE 环境下进行了修改,主要处理:
1、提供了一个 multibyte 与 widechar 的转化类 CWideCharString
实现 char* 与 WCHAR* 的转换有许多方法,如:
a) CWideCharString(char*) 得到 WCHAR*
b) L"char* string" 得到 WCHAR*
c) 在非UNICODE环境下,CString(WCHAR*) 得到 char*
2、将原C#中的Math、Shell等对象转换为普通的VC函数,如定义了 rand_Next 等。
3、将原C#代码中的new改为VC的引用或指针,避免了在VC中对new的重载和delete的繁杂调用所带来的内存泄漏
4、定义了一组MyDrawString函数,替换原代码中的 graphics.DrawString(...),保持了原C#代码中DrawString的参数顺序和引用方式,增加了两个 _MakeA_RGB 函数
5、因为 Image::Save 要求保存的文件不得存在,而在演示中可能会反复执行Save,所以提供了 MyImageSave 函数,先判断文件是否存在,若存在则删除,然后 Save.
6、为尽可能保持原代码的风格,在 CWalkLtDemo.cpp 的 OnDraw(...) 函数中提供一个void DoGdiplusDemo(...) 函数,该函数负责向各功能演示函数中传递所需要的绘图区和Graphics实例。
7、在主菜单“查看”项下增加了“GDI+功能演示”和“当前演示的源代码”菜单,并在工具条上增加了相应按钮。
8、程序已在VC6和VC++.NET中进行了完全的测试。
本源码包中使用的 gdiplus*.h 中对 Color 和 Point 进行了重新声明,分别为:
GdiPlusColor 和 PointI
为与MSDN中的 Color 和 Point 相一致,在WalkLtDemoHelp.h中使用了 typede
- 2023-07-17 07:35:04下载
- 积分:1
-
VC++ Windows Shell扩展 上下文菜单扩展
VC++ Windows Shell扩展,设计 制作 上下文菜单扩展,响应右键消息菜单,当用户点击我们添加的菜单项时该方法将被调用。将生成的菜单插入到shell上下文菜单中,返回插入的菜单数,一定要返回正确,包括生成的父菜单也要计入总数,如果用户是在浏览器窗口中右击文本文件,或选中一个文本文件后单击文件菜单时,状态栏会显示提示帮助。。。。
- 2022-07-10 00:48:50下载
- 积分:1
-
端口扫描VC6.0程序示例
扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。
- 2022-10-09 07:35:03下载
- 积分:1
-
VC++ 获取主机名和IP地址及多线程运行示例
VC++6.0获取主机名和IP地址,并演示多线程的运行示例,作者:fiwen。
获取IP地址是单击窗口右上角的“获缺按钮,即可显示主机名称和该机IP地址,多线程运行演示则打开后程序立即运行,左右两侧不同的线程,执行不同的任务,各自互不影响。
多线程演示部分,分别用了两个线程,每一个线程控制一个do while循环来运行,比如其中一个线程是这样写的:
CString str;
bool ReadData= TRUE;
int i=1;
do
{
//从1到99的平方
str.Format("%-3d的平方:%-5d",i,i*i);
pList->AddString(str);
Sleep(100);
i++;
}
while (ReadData=TRUE);
return 0;
- 2022-01-20 22:35:47下载
- 积分:1
-
VC++ CFileException异常处理用法范例
VC++ CFileException异常处理用法范例,
catch(CFileException* e)
{
switch(e->m_cause)
{
case CFileException::fileNotFound:
{
strMessage.Format("打开文件时发生异常(try/catch):
在指定位置没有找到文件%s
",strFile);
AfxMessageBox(strMessage);
TRACE("即将删除捕获到的异常对象CFileException::fileNotFound
");
AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");
//删除异常对象
e->Delete();
TRACE("成功删除捕获到的异常对象CFileException::fileNotFound
");
AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");
break;
}
case CFileException::invalidFile:
{
strMessage.Format("打开文件时发生异常(try/catch):
文件%无效
",strFile);
AfxMessageBox(strMessage);
TRACE("即将删除捕获到的异常对象CFileException::invalidFile
");
AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");
//删除异常对象
e->Delete();
TRACE("成功删除捕获到的异常对象CFileException::invalidFile
");
AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");
break;
}
default:
break;
}
}
- 2022-01-26 02:02:12下载
- 积分:1
-
VC 重载打开文件对话框,添加删除按钮
VC++ 重载打开文件对话框,添加删除按钮,实现思路:设置文件对话框的模板为IDD_MYFILEDLG,使用GetPathName();获取选中文件。打开文件对话框是这样实现的:
if( filedlg.DoModal ()==IDOK )//打开文件对话框
{
CString fileName = filedlg.GetFileTitle();
SetWindowText(fileName);
}
以上代码仅是参考,完整的代码文件请自行下载吧。
- 2022-02-01 14:41:10下载
- 积分:1
-
VC++ 6.0 测试监听用户的鼠标事件
VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
- 2023-08-14 22:50:02下载
- 积分:1