▍1. VC++ 在Combobox组合框的下拉列表框中实现自动选择
VC++ 在组合框的下拉列表框中实现自动选择,当在Combobox组合框中键入字符时,组合框会根据用户的输入在列表框中自动选择匹配的项,其实就是大家熟悉的搜索提示,用户输入时,Combobox下拉框会智能匹配用户的输入内容,显得很智能的下拉框。
VC++ 在组合框的下拉列表框中实现自动选择,当在Combobox组合框中键入字符时,组合框会根据用户的输入在列表框中自动选择匹配的项,其实就是大家熟悉的搜索提示,用户输入时,Combobox下拉框会智能匹配用户的输入内容,显得很智能的下拉框。
VC++ 改变视图窗口的背景色,在窗口的显示区自定义颜色,有兴趣可参考以下代码: void CFaceControl1View::OnChageviewbk() //改变背景色 { m_rgbBack=RGB(0,128,128); Invalidate(true); } BOOL CFaceControl1View::OnEraseBkgnd(CDC* pDC) { CBrush Brush (m_rgbBack);// 创建一个新的刷子 CBrush* pOldBrush = pDC->SelectObject (&Brush);// 把刷子选入设备环境 //获得需要檫除背景的区域 CRect reClip; GetClientRect(&reClip); //重绘该区域 pDC->PatBlt(reClip.left , reClip.top , reClip.Width () , reClip.Height() , PATCOPY); //释放刷子 pDC->SelectObject (pOldBrush); return TRUE;//必须返回TURE }
全套的VC++处理图像源代码,轻松利用VC++进行图像处理,全面了解VC++处理过程
VC++ 动态创建视图,使用CREATE VIEW语句动态创建数据库视图,具体请下载本源码测试,需要提前准备好数据库。需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program FilesCommon FilesSystemado”目录下。数据库连接好才可以使用本程序动态创建视图。
包括VC的ADO数据库编程的各种操作,和界面控件CListCtrl的功能附加,CListCtrl内部加入编辑控件、日历控件-Housing intermediary system, including the VC" s ADO database programming a variety of operations, and interface functions of the additional CListCtrl control, CListCtrl internal join the edit control, calendar control
在VC++6.0程序中执行数据库事务的一个范例,是一个数据库的高级应用例子,关于设置ADO控件,方法如下: (1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_AFFAIR_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。 (2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
本源码演示在VC++ 6.0环境下实现高精度计时功能,可在此基础上修改完善成一个毫秒级计时器。运行编译文件后,单击窗口中的按钮,即可激活计时功能,在弹出的窗口中显示计时时间,以毫秒计,请参见截图。计时部分的具体实现代码请参考以下代码: void CDemoDlg::OnTest() { //开始时间 DWORD dwStart = GetTickCount(); for (int i = 0; i < 10000; i++) { for (int j = 0; j < 10000; j++) { } } //结束时间 DWORD dwStop = GetTickCount(); //时间间隔 DWORD dwElapse = dwStop - dwStart; CString strText = _T(""); strText.Format(_T("时间间隔:%d毫秒"), dwElapse); AfxMessageBox(strText); }
VC++ 6.0 使用IPicture显示多种格式的图片,并可进行图片的放大和缩小等缩放操作,本实例中从全局内存中,创建IStream,从图像文件创建IPicture对象,读文件数据到内存。支持的文件类型有:bmp;*.gif;*.jpg;*.ico;*.emf;*.wmf;获取图像的长度和宽度代码如下: long hmWidth; long hmHeight; m_lPciture->get_Width(&hmWidth);//图像的长度 m_lPciture->get_Height(&hmHeight);//图像的宽度 SIZE sz; sz.cx = hmWidth; sz.cy = hmHeight; pDC->HIMETRICtoDP (&sz);//从OLE对象尺寸转换为像素值 sz.cx = (sz.cx * m_nScale) / 100; sz.cy = (sz.cy * m_nScale) / 100; RECT rc; GetClientRect(&rc); SetScrollSizes(MM_TEXT, sz);//设置滚动窗口的尺寸 // 显示图像 m_lPciture->Render(pDC->m_hDC, 0, //水平坐标位置 0, //垂直坐标位置 sz.cx, //水平尺寸 sz.cy, //垂直尺寸 0, //源图像的水平偏移 hmHeight,//源图像的垂直偏移 hmWidth,//复制源图像的水平长度 -hmHeight,//复制源图像的垂直长度 &rc);//显示图像的矩形区域
VC++ 读取SQL Server数据库结构,读取指定数据库指定数据表的数据结构,演示中仅是读取出字段名、字段类型和字段类型取值大小,只是演示一种获取字段数据的方法: m_grid.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT |LVS_EX_HEADERDRAGDROP |LVS_EX_ONECLICKACTIVATE |LVS_EX_GRIDLINES); m_grid.InsertColumn(0,"字段名",LVCFMT_LEFT,100,0); m_grid.InsertColumn(1,"类型",LVCFMT_LEFT,100,1); m_grid.InsertColumn(2,"大小",LVCFMT_LEFT,100,2);
VC 向加密狗中写入数据,与加密狗相关的例子。 DogAddr = 10; //设置起始地址 DogBytes = m_Data.GetLength(); //设置数据的长度 DogData = m_Data.GetBuffer(0); //设置写入的数据 if (WriteDog()==0) MessageBox("数据写入成功");
VC6.0 对联合查询后的结果进行排序,对获得的记录集进行排序,这是个同样实用的功能,特别在一些中小企业的数据库系统中,尤其实用,对数据分析很有帮助。本例子中的排序主要是两种常用形式:升序排列和降序排列。最终的排序结果绑定于Datagridview数据显示控件中显示。
在编写程序时,经常会用到各种ICON图标,就像VS中的资源编辑工具一样,可以手动编辑各种图标,到处生成各种格式文件。。。
VC++ Windows Shell扩展,设计 制作 上下文菜单扩展,响应右键消息菜单,当用户点击我们添加的菜单项时该方法将被调用。将生成的菜单插入到shell上下文菜单中,返回插入的菜单数,一定要返回正确,包括生成的父菜单也要计入总数,如果用户是在浏览器窗口中右击文本文件,或选中一个文本文件后单击文件菜单时,状态栏会显示提示帮助。。。。
VC6.0下对海洋波浪进行仿真,代码简单易懂,仿真效果还不错。对于研究海洋遥感探测以及编写相应的软件界面来说,都具有一定的参考价值。初学者可以下载来看看
VC++ 实现定制打印页的页眉和页脚,除了自定义打印页脚和页眉外,还可根据每页显示行数,设置打印页数,并且在需要时,屏蔽默认函数对OnDraw的调用。打印方面的定制,可参考以下代码: void CMultiPrint2View::PrintHeader(CDC *pDC)//定制页眉 { pDC->TextOut(0,0,"设置打印页眉和页脚测试:来首诗吧:再别康桥"); } void CMultiPrint2View::PrintFooter(CDC *pDC)//定制页角 { CMultiPrint2Doc* pDoc = GetDocument();//获取文档指针 ASSERT_VALID(pDoc); CString str; CPoint point(0,-1440*10-1000); str.Format("当前文档:%s",(LPCSTR)pDoc->GetTitle());//获取当前文档名 pDC->TextOut(point.x,point.y,str); str.Format("第%d页,共%d页",m_nPage,(pDoc->m_stringArray.GetUpperBound()/pDoc->m_LinePerPage+1)); CSize size=pDC->GetTextExtent(str);//获取输出文本宽度 point.x+=1440*6+1600-size.cx; pDC->TextOut(point.x,point.y,str); }完整的代码请下载源码吧。
本源码演示在VC++中打印简历模板,是一个采用表格设计的简历界面,VC++将按设计的模式打印出来,就像使用Word打印一样的功能。 以下代码可作为参考: //获取位图所有数据 m_bitdata = m_pRecord->GetFields()->GetItem((long)9)->GetChunk(m_factsize); HBITMAP m_hmap ; if (m_bitdata.vt==VT_ARRAY |VT_UI1) { //定义一个数据缓冲区 m_bitbuffer = new char[m_factsize]; //将m_buffer指向m_bitdata SafeArrayAccessData(m_bitdata.parray,(void**)&m_buffer); //复制位图数据到m_bitbuffer; memcpy(m_bitbuffer,m_buffer,m_factsize); SafeArrayUnaccessData(m_bitdata.parray); void* m_factbitdata ; //实际的位图数据 //temp指向位图信息头 temp = m_bitbuffer+sizeof(BITMAPFILEHEADER); BITMAPINFOHEADER * m_bitheader = (BITMAPINFOHEADER*)temp; //获取位图信息,它包括位图信息头和调色板 BITMAPINFO* m_bitinfo = (BITMAPINFO*)temp; //获取位图的实际数据 m_factbitdata = (void*)(m_buffer+((LPBITMAPFILEHEADER)m_bitbuffer)->bfOffBits); CClientDC m_dc(this); //创建位图 hbitmap = CreateDIBitmap(m_dc.m_hDC,m_bitheader,CBM_INIT,m_factbitdata,m_bitinfo,DIB_RGB_COLORS); delete [] m_bitbuffer; }
VC++编程实现读取AutoCAD格式的dxf文件,打开DXF文件后,本程序可放大、缩小预览效果。可以把本程序看作是一个打开DXF文件格式的查看器。源代码中的CadIO.dll文件请放在与编译后的Exe文件同级目录下。测试程序的源代码在cadDXFLibcadlib_srcCadLibTest目录下。