▍1. VC摄像头控制程序
VC++ 6.0 摄像头控制程序 VC++ 6.0编写的一套摄像头控制程序,可以控制拍摄照片,程序基于directshow类库,已将此类库打包。另外由于程序未加异常判断,如果你的电脑上没有安装摄像头的话,程序也会报错。
VC++ 6.0 摄像头控制程序 VC++ 6.0编写的一套摄像头控制程序,可以控制拍摄照片,程序基于directshow类库,已将此类库打包。另外由于程序未加异常判断,如果你的电脑上没有安装摄像头的话,程序也会报错。
VC++ 生成Brush笔刷程序,使用了三种方法创建笔刷,第一种和第二种使用构造函数,第三种 创建CBrush类的一个对象myBrush3,调用CreateBrushIndirect()函数。创建了纯色、斜纹、网状方格三种形式的笔刷。 void CCreateBrushView::OnDraw(CDC* pDC) { CCreateBrushDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here // 第一种方法创建画刷 // 定义时调用构造函数 CBrush myBrush1(RGB(0,0,255)); CBrush* pOldBrush1 = pDC->SelectObject(&myBrush1); pDC->Rectangle(100,150,250,400); // 恢复画刷对象 pDC->SelectObject(pOldBrush1); // 第二种方法创建画刷 // 定义时调用构造函数 CBrush myBrush2(HS_BDIAGONAL,RGB(255,0,0)); CBrush* pOldBrush2 = pDC->SelectObject(&myBrush2); pDC->Rectangle(300,100,450,360); // 恢复画刷对象 pDC->SelectObject(pOldBrush2); // 第三种方法创建画刷 // 创建CBrush类的一个对象myBrush3 CBrush myBrush3; // 设置LOGBRUSH结构; LOGBRUSH lb; lb.lbStyle = BS_HATCHED; lb.lbColor = RGB(0,255,0); lb.lbHatch = HS_CROSS; // 调用CreateBrushIndirect()函数 myBrush3.CreateBrushIndirect(&lb); CBrush* pOldBrush3 = pDC->SelectObject(&myBrush
VC++ 数据库万能打印模块,书中的例子,最终运行效果请参见截图。操作方法:首先在“选择数据库类型”下拉列表中选择数据库类型,这里有两种,Access和SQL Server。选择完数据库后,单击“连接数据库”进入相应的操作界面,选择数据表及字段,单击“确定”按钮,即可进入数据查询页面,在该页面中查以查询数据、打印数据。单击“查询”按钮,打开“查询”模块,单击“打印设置”按钮,打开“设置”模块,这里可以设置纸张,页边距,打印方向,字体,颜色,表格高度,线条宽度等等。单击“打颖按钮,进入打印预览页面,在该页面中单击“打颖按钮,即可打印数据。 详细的代码请下载源码包。
《VC++项目开发实战密码》一书中第9章的代码,需要ImageLib第三方类库才能正常运行。通过一个具体实例的实现过程,介绍使用VisualC++6.0实现一个图像处理系统的基本流程,希望代码部分对大家开发类似软件有所帮助。
本程序为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); }
VC++ 6.0 设置打印图形的位置,实现所见即所得的打印功能。 if(pDC->IsPrinting())//判断是否因打印或打印预览而调用OnPrepareDC()函数 { pDC->SetViewportOrg(250,400);//设置视口坐标原点 } //以下为显示和打印的内容 pDC->TextOut(10,10,"实现所见即所得的打印"); pDC->SetBkMode(TRANSPARENT); pDC->Rectangle(10,40,310,350); pDC->Ellipse(50,50,210,220); pDC->Ellipse(70,240,280,320) //设置映射模式 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*600/xLogPixPerInch; //按照打印机扩大视口 yExt=winSize.cy*600/yLogPixPerInch; pDC->SetViewportExt(xExt,yExt); //设定视口大小
将word文档转换为pdf文档,在使用之前确保已经安装对应版本的Office软件。
VC++.net实现输入框气球提示,本源码最主要演示EDITBALLOONTIP的用法。当用户拖动最小化窗口时系统调用此函数取得光标显示,然后调用预设的提示信息显示给用户,让用户知道此输入框应该输入什么类型的内容,用户体验更好。
VC++利用OpenGL绘制NURBS曲线,程序将进行缓冲区交换,交换缓冲区,运行后将生成一个三维曲线图,模拟NURBS曲线效果,最终效果请参见示例图所示。
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; } }
VC++ 进制转换,可完成以下转换:转换十进制数,转换二进制数,转换十六进制数,转换十六进制为二进制,转换一位十六进制数为十进制,转换二进制为十六进制,位数不是四的倍数时补齐,每四位二进制数转换为一十六进制数,转换十进制为二进制,转换二进制为十进制等。
vc++ 动画启动、关闭窗口并添加位图背景,加载位图,创建位图画刷,设置背景颜色模式为透明色,使用位图背景,且实现动画显示和关闭窗口,在窗口关闭时,同样以动画的方式结束。 void CMainFrame::OnClose() { AnimateWindow(GetSafeHwnd(),800,AW_CENTER|AW_HIDE);//在窗口关闭时,同样以动画的方式结束 CFrameWnd::OnClose(); }
VC6.0写一个简单的内存修改器,输出一个变量的值和地址实现原理: BOOL ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfByteRead ); WriteProcessMemory(hProcess,lpBaseAddress,lpBuffer,nSize,lpNumberOfByteRead); 编写测试程序 搜索内存
多文档(MDI):实现在多个文档中位图的复制和粘贴操作,使用说明:打开一个图像,使用“编辑”菜单中的“复制”和“粘贴”对图像进行操作,清除剪切板的内容,拷贝DIB! CMDICopyBitmapDoc* pDoc = GetDocument(); pDoc->ReplaceHDIB(hNewDIB); // 释放旧的DIB pDoc->InitDIBData(); // 建立新的调色板及尺寸 pDoc->SetModifiedFlag(TRUE); SetScrollSizes(MM_TEXT, pDoc->GetDocSize()); OnRealizePal((WPARAM)m_hWnd,0); // 实现新的调色板 pDoc->UpdateAllViews(NULL);
VC++ 6.0 Calendar 自定义的日历选择插件,这个功能相信大家都比较熟悉了,是用来选择日期和时间的,避免用户输入出错,选择后可把数据填充在指定的文本框内,或提交至下一个数据处理环节。这个例子是前两年的,风格和Windows XP相似,与Windows7和10版本有所区别,核心代码为: //设置选择日期 void CCalendarDlg::OnSetCursel() { //更新变量 UpdateData(TRUE); //构造日期变量 CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0); m_MonthCalCtrl.SetCurSel(tm); } //设置日期 void CCalendarDlg::OnSetToday() { //更新变量 UpdateData(TRUE); //构造日期变量 CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0); m_MonthCalCtrl.SetToday(&tm); m_MonthCalCtrl.SetCurSel(tm); }
使用vc在控件上,进行绘图,可以对vc的控件机制有很深入的了解,以及学习对画图的方法的掌握,适合初学者学习使用,也可以为开发人员做为参考使用
这是一个比较早的VC++播放器源码,兼容64位的VC++ 音乐播放器 带进度条和音量控制拖动条,同时还有几个常用的播放控制按钮,暂停、播放、打开文件、快进等,这个播放窗口可以随拖动大小而自动变化。运行效果如上图所示,源代码来自国外网站,注释全是英文英文的。
VC++ 6.0 消息处理和自定义消息对话框用法,通过重载函数OnCmdMsg从而使不能够处理主框架命令的非模式对话框,具备了响应主框架命令的功能。二是说明自定义消息的用法。重载OnCmdMsg后,改变的窗口标题,自定义消息参数:x=%d,y=%d"。