-
Windows核心编程第五版随书源码集
VC++ Windows核心编程第五版随书源码集,这些例子是很好的学习VC++编程的资料,每一个都可以编译运行,对照《VC++ Windows核心编程》这本书,理论加实践,会有更好的学习效果。
- 2022-11-21 20:20:03下载
- 积分:1
-
VC++ 创建可以显示“最近打开”文件的功能
VC++ 创建可以显示“最近打开”文件的功能,也就是为菜单项增添历史记录的功能,让打开的文件记录显示在菜单列表中,方便用户下一次打开文件,挺人性化的一个功能。现在的word、WPS等软件,打开后,用户都可以从菜单中选择最近打开的文件,快速找到自己的文档,本VC++源码就是模拟了这一功能。运行效果请参见下边的测试截图。
- 2023-05-17 09:10:03下载
- 积分:1
-
VC++ 设置位置断点跟踪程序
VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:
srand( (unsigned)time( NULL ) );//产生随机种子
int array[number];
CString str1,str2;
str1="原始顺序:";
for(int i=0;i {
array[i]=rand();//设置条件断点
str2.Format("%d ",array[i]);
str1+=str2;
}
pDC->TextOut(20,10,str1);//输出原始数组顺序
BubbleSort(array, 1, number);
str1="排序顺序:";
for( i=0;i {
str2.Format("%d ",array[i]);
str1+=str2;
}
pDC->TextOut(20,30,str1);//输出排序后的数组顺序
- 2022-03-21 21:04:24下载
- 积分: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++ 使用CDib类实现显示与保存BMP文件
VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:
m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像
if(m_hDIB==NULL)
{
AfxMessageBox("图像格式不正确!");// 提示出错
return FALSE;
}
SetDib();// 初始化DIB
if (m_hDIB == NULL)// 判断读取文件是否成功
{
AfxMessageBox("读取图像时出错");// 提示出错
return FALSE;// 返回FALSE
}
SetPathName(lpszPathName);// 设置文件名称
SetModifiedFlag(FALSE);// 初始化脏标记为FALSE
return TRUE;// 返回TRUE
- 2022-02-26 00:19:37下载
- 积分:1
-
VC++ 使用滚动条和进度条进行范围设置
VC++ 使用滚动条和进度条进行范围设置,实现滚动条与进度条的联动,当拖动滚动条时,进度条的进度会随着滚动条的位置变化而变化,适时显示进度状态。除了水平的滚动条外,右侧是一个垂直纵向的滚动条和进度条,具有同样的功能,很好的模拟了两者的联动。
编写代码时,可以这样定义滚动条和进度条的参数:
m_crlScrollH.SetScrollRange(0,100);//设置水平滚动范围
m_crlScrollV.SetScrollRange(0,100);//设置垂直滚动范围
m_crlScrollH.SetScrollPos(0);//设置水平滚动控件初始值
m_crlScrollV.SetScrollPos(0);//设置垂直滚动控件初始值
m_ctlProgressH.SetRange(0,100);//设置水平进度条的范围
m_ctlProgressV.SetRange(0,100);//设置垂直进度条的范围
m_ctlProgressH.SetPos(0);//设置水平进度条的初始位置
m_ctlProgressV.SetPos(0);//设置垂直进度条的初始位置
以上代码并不是完整的,完整代码请下载源码包。
- 2022-04-27 16:24:44下载
- 积分:1
-
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++ 使用用户界面线程实现软件的片头效果
用户界面线程:使用用户界面线程实现软件的片头效果,这个效果大家都熟悉,就是软件打开的时候,显示一个静态或动态的界面,也可能是一张图片,等待软件全部加载完后进入软件主界面,本例中实现的这种软件启动画面是基于用户界面线程实现,运行效果如图所示。
- 2022-10-29 11:50:03下载
- 积分:1
-
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++ 制作的 TextProgress文本进度条样例
这是VC++ 制作的 TextProgress文本进度条样例,可自定义步长和进度条数字变化范围,根据窗口中的提示设置相关参数后,即可看到进度条的变化效果,下面是具体的实现代码:
void CTextProgressDlg::OnButtonStart()
{
UpdateData();
m_ctrProgressBar.SetPos(0);//设定当前位置
m_ctrProgressBar.SetRange(m_nRangeFrom,m_nRangeTo); //设定范围
m_ctrProgressBar.SetStep(m_nStep);//设定步长
m_ctrProgressBar.SetShowText(TRUE);//允许显示文字
for (int i = 0; i
- 2022-11-21 13:20:03下载
- 积分:1