登录
首页 » VC++源码 » VC++ 创建可以显示“最近打开”文件的功能

VC++ 创建可以显示“最近打开”文件的功能

于 2023-05-17 发布 文件大小:49.83 kB
0 192
下载积分: 2 下载次数: 1

代码说明:

VC++ 创建可以显示“最近打开”文件的功能,也就是为菜单项增添历史记录的功能,让打开的文件记录显示在菜单列表中,方便用户下一次打开文件,挺人性化的一个功能。现在的word、WPS等软件,打开后,用户都可以从菜单中选择最近打开的文件,快速找到自己的文档,本VC++源码就是模拟了这一功能。运行效果请参见下边的测试截图。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 表格式简历打印的实现
    本源码演示在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;   }
    2022-07-02 18:31:16下载
    积分:1
  • VC++ 6.0通过消息机制实现进程间的通信
    VC++ 6.0通过消息机制实现进程间的通信,这个实例写了两个子程序,一个是发送消息端,一个是接收消息端,接收端主要是接收其他进程向该窗口发送的消息,发送消息端获取目的窗口对象,向窗口“MYRECEIVER”发送自定义消息,若接收端没上线,则会使用AfxMessageBox弹出提示("没有找到MYRECEIVER窗口!"),更多源代码细节,请参考压缩包中的对应文件,最终的运行效果请参见截图所示。
    2022-10-26 09:30:07下载
    积分:1
  • VC 扫描仪控制程序
    这是一个在VC++环境下实现的扫描仪扫描管理程序,用于启动扫描和停止扫描,只是实现基本的扫描仪控制,不过本程序的顺利运行需要扫描仪支持,且是指定型号,窗口中对应的功能,由下面的按钮事件来响应:   开始扫描:   void CScanManageDlg::OnButton1()   {    m_Scan.ScannerAvailable();    m_Scan.OpenScanner();    m_Scan.StartScan();   }   停止扫描:   void CScanManageDlg::OnButton2()   {    m_Scan.StopScan();   }
    2022-05-27 18:23:01下载
    积分:1
  • VC++ 创建DIB操作类——CDib的程序代
    VC++ 创建DIB操作类——CDib的源程序代码,这个类中创建了几个函数:1、用来绘制DIB对象的函数,2、按照DIB创建一个逻辑调色板的函数,3、计算DIB像素的起始位置,并返回指针的函数,4、返回DIB中图象的高度的函数,5、返回DIB中调色板的大小的函数,6、返回DIB中调色板颜色种数的函数等。   用于操作DIB的函数声明如下:   BOOL DrawDib(HDC, LPRECT,HGLOBAL, LPRECT,CPalette*);//显示位图   BOOL ConstructPalette(HGLOBAL,CPalette* );//构造逻辑调色板   LPSTR GetBits(LPSTR); //取得位图数据的入口地址   DWORD GetWidth(LPSTR);//取得位图的宽度   DWORD GetHeight(LPSTR);//取得位图的高度   WORD GetPalSize(LPSTR); //取得调色板的大小   WORD GetColorNum(LPSTR);//取得位图包含的颜色数目   WORD GetBitCount(LPSTR);//取得位图的颜色深度   HGLOBAL CopyObject(HGLOBAL);//用于复制位图对象   BOOL SaveFile(HGLOBAL , CFile&);//存储位图为文件   HGLOBAL LoadFile(CFile&);//从文件中加载位图   // 在对图象进行处理时,针对位图的字节宽度必须是4的倍数的这一要求,我们设计了函数GetRequireWidth,来处理这种比较特殊的情况:   int GetReqByteWidth(int ); //转换后的字节数GetRequireByteWidth   long GetRectWidth(LPCRECT );//取得区域的宽度   long GetRectHeight(LPCRECT);//取得区域的高度
    2022-03-09 13:34:37下载
    积分:1
  • VC++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • VC++ DataGrid ADODC Trasform分析数据的例子
    VC++ Trasform分析数据的例子,涉及到DataGrid ADODC等控件的使用方法,测试前请先添加好数据库。程序调试时请注意以下几项:   (1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_TRASFORMDATA_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。   (2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
    2023-06-03 16:05:03下载
    积分:1
  • VC++ 调用 windows 字体、打印、调色板等对话框示例
    VC++ 调用 windows 字体、打英调色板、搜索、替换、保存、颜色、页面设置、打印设置、打开等常用对话框窗口示例,这些对话框也可以在控制面板中打开,主要是VC++与调用Windows相关模块相关的一个程序示例,有助于了解与windows编程的相关技巧。
    2022-03-24 00:23:54下载
    积分:1
  • VC++ 删除已存在的存储过程
    VC++ 演示在程序中删除已存在的存储过程,VC6存储过程相关操作实例,删除方法很简单,创建对象,如下代码示:   UpdateData(true);   BOOL result;   ADOConn m_AdoConn;   m_AdoConn.OnInitADOConn();   _bstr_t sql;   sql = "drop procedure "+m_edit+" ";   result = m_AdoConn.ExecuteSQL(sql);   m_AdoConn.ExitConnect();   if(result)    MessageBox("存储过程已删除!");   else    MessageBox("存储过程不存在!");
    2022-12-24 15:50:03下载
    积分:1
  • 带有服务端和客户端的VC++点对点,聊天及
    带有服务端和客户端的VC++点对点,聊天及数据传输源码,也就是大家熟悉的CS结构,一个是接收消息,一个是发送消息,在服务端和客户端都可以显示消息内容和连接状态。运行的最终效果请参见如图所示。   运行图是Server服务端的效果,客户端没有编译。   void CClientDlg::OnBottonsend()   {    UpdateData();    if (!m_strSend.IsEmpty())    m_client.Send(m_strSend,m_strSend.GetLength());    else    AfxMessageBox("发送内容不能为空!");   }
    2022-11-23 12:00:03下载
    积分: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
  • 696516资源总数
  • 106914会员总数
  • 0今日下载