登录
首页 » VC++源码 » VC++ 6.0制作的弹出式菜单

VC++ 6.0制作的弹出式菜单

于 2022-03-30 发布 文件大小:44.56 kB
0 315
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0制作的弹出式菜单,代码作者:一剑,这里主要是定义了CMainFrame::OnContextMenu函数来实现弹出式菜单,请参见以下核心代码:   void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)   {    CMenu menu;    CMenu *popup;    //IDR_POP_MENU是菜单资源的ID号,是刚添加的菜单    menu.LoadMenu(IDR_POP_MENU);    ASSERT(menu);    //此函数用于得到子菜单的指针。    //由于需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到。    popup=menu.GetSubMenu(0);    popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x, point.y,this);      }   然后需要定义几个菜单命令响应函数,请参见源代码文件。

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

发表评论

0 个回复

  • VC++自绘窗体完整实例源码
    C++自绘窗体的完整代码,为你提供了一个对话框自绘设计方案,代码中的注释非常详细,相信会帮助大家设计好自己的个性窗体。这个自绘窗口是通过加载背景位图来实现的,对BMP位图进行平铺处理,也就是帖图的意思,定义一个位图画刷,选中画刷,然后填充客户区域。在填充的时候,需要判断位图的宽度与窗体边缘的宽度,这里对标题栏、窗体按钮、边框等窗体元素都进行填充处理,代码中有具体的实现过程。
    2022-02-22 04:29:43下载
    积分:1
  • 华南理工大VC++ 实验报告:学生信息管理系统 附文档
    华南理工大软件学院2016级VC++ 实验报告:学生信息管理系统 附文档,这套系统的功能分为两部分,学生部分和教务管理员部分。包括系统功能模块划分;类体系设计,即主要数据和函数功能描述;界面设计等。   1)学生功能:查看信息:个人基本信息,课表,成绩表等内容    修改信息:可修改个人基本信息   2)教务员功能: 查看信息:学生个人基本信息、课表、成绩等内容   修改信息:学生个人基本信息、课表、成绩等内容   添加学生信息:学生个人基本信息后对同班级同年级的学生进行成绩表和课表的初始化   删除学生全部信息   展示同专业同年级学生的基本信息   对同专业同年级的学生的各科成绩进行排名   3)其他功能:分文件储存不同专业不同年级学生的信息资料,方便信息的处理   添加新年级和专业的数据并初始化   各模块说明:   1)基本信息类:个人基本信息,信息的生成和获取   2)学生信息类:继承于基本信息类,增加学生特有的信息,信息的生成和获取,
    2022-03-16 11:59:31下载
    积分:1
  • VC++ 在TreeView树形控件中使用BMP背景位图
    VC++ 在TreeView树形控件中使用BMP背景位图,实现思路:操作采用贴图的方式,把标准的TREEVIEW窗口贴在底图上。从最终的表现形式上,可理解为,把一个Tree树形菜单控件显示于一张图片之上,图片当做背景来处理了。如演示截图所示的效果,具体的实现细节请大家参阅源代码。
    2022-09-26 22:00:03下载
    积分:1
  • VC Calendar 自定义的日历选择插件
    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);   }   
    2022-01-25 19:36:09下载
    积分:1
  • VC++6.0实现ListCtrl列表控件拖放、整栏选择和显示网格
    VC++6.0实现列表控件的扩展风格——拖放、整栏选择和显示网格等功能,通过这个源代码你可以熟悉VC中的ListCtrl列表控件的多种用法,运行效果如示例截图所示,部分代码如下:   DWORD liststyle=m_ctlList.GetExtendedStyle();//获取列表控件的扩展风格m_ctlList.SetExtendedStyle(liststyle|LVS_EX_HEADERDRAGDROP|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//设置列表控件的新扩展风格   m_pImageList.Create(16, 16, ILC_COLOR, 2, 2);//创建图像列表   CBitmap bm;   bm.LoadBitmap(IDB_BITMAP1);//载入Bitmap资源   m_pImageList.Add(&bm, RGB(0, 0, 0));//添加到图像列表   bm.DeleteObject();   bm.LoadBitmap(IDB_BITMAP2);   m_pImageList.Add(&bm, RGB(0, 0, 0));   //初始化列表视   m_ctlList.SetImageList(&m_pImageList,LVSIL_SMALL);//设置ImageList   CString Field[2]={"性别","姓名"};//列表视的表头   for(int j=0;j
    2023-02-22 08:35:03下载
    积分:1
  • VC++ MDI多文档位图的复制和粘贴功能实现
    多文档(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);
    2022-01-25 22:15:31下载
    积分:1
  • 向新手演示VC++中的ListView用法 附源码
    向新手演示VC++中的ListView用法 附源码,这个虽然简单,不过对于刚接触VC++编程的新手来说,可以很好的熟悉ListView组件在VC++中的应用方法,本程序编写好后,运行编译后的程序,界面效果如图所示。
    2022-06-28 09:08:10下载
    积分:1
  • VC++ 6.0创建带有文本指示的自定义进度条
    VC++ 6.0创建带有文本指示的自定义进度条,自己创建的带有文本的进度条:,   GetClientRect(&rectClient);//获取进度条窗口   CBrush brush;   brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));//获取系统画刷   dc.FillRect(&rectClient, &brush);//填充进度条窗口   VERIFY(brush.DeleteObject());//删除画刷   if (m_nCurrentPosition m_nUpper)//进度条没有运行   {    return;   }   brush.CreateSolidBrush(RGB(0, 0,255));//创建蓝色画刷   RECT rectFill;//定义填充区域   float fillwidh=(float)((float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower))*rectClient.right;   ::SetRect(&rectFill,    0,// 左上X坐标    0,//左上Y坐标    (int)fillwidh,//右下X坐标    rectClient.bottom+1);//右下Y坐标   dc.FillRect(&rectFill,&brush);//填充进度条区域   VERIFY(brush.DeleteObject());   CString percent;   percent.Format("已完成:%.0f%%", 100.0*(float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower));   dc.SetTextColor(RGB(255,0,0));//设置文本颜色   dc.SetBkMode(TRANSPARENT);//透明背景   dc.DrawText(percent, &rectClient, DT_VCENTER|DT_CENTER|DT_SINGLELINE);//显示文本信息
    2023-06-16 21:25:02下载
    积分:1
  • VC++ Thread多线程执行不同任务的例子
    VC++ 创建多个 Thread多线程,用以执行不同任务的例子,运行程序后你可看到分别有红色、蓝色的小球,在沿各自不同的轨迹做运动,在代码中,我们创建了一个小球运动线程的主函数,分别用两个线程调用这个函数,但设定的参数不一样,在小球运动函数中,分别定义了小球X、Y方向的运动,确定重绘区域,重绘小球,挂起线程,控制小球速度,并取得客户区大小以及取得小球客户区相对于窗口客户区的位置等,最好还写了一个函数,终止蓝色和红色线程。
    2022-12-06 04:40:03下载
    积分:1
  • VC++在视图中使用鼠标进行绘图操作(涂鸦)
    VC++ ——在视图中使用鼠标进行绘图操作(涂鸦),按下鼠标左键,载入"十字"光标,移动鼠标即可实现绘制图形,但窗口不能自动重绘,定义各变量及具体实现:   void CBaseDocViewDemo1View::OnLButtonDown(UINT nFlags, CPoint point)   {    SetCursor(m_Hcursor);//使用新光标    m_bDraw=TRUE;//进入绘图状态    m_pOld=point;    SetCapture();//捕捉鼠标    CRect rect;    GetClientRect(&rect);//获取客户窗口矩形区域    ClientToScreen(&rect);//转换为屏幕坐标    ClipCursor(rect);//限定鼠标不能移出客户窗口    CView::OnLButtonDown(nFlags, point);   }      void CBaseDocViewDemo1View::OnLButtonUp(UINT nFlags, CPoint point)   {    m_bDraw=FALSE;//取消绘图状态    ReleaseCapture();//释放鼠标捕捉    ClipCursor(NULL);//取消鼠标区域的限制    CView::OnLButtonUp(nFlags, point);   }
    2023-04-03 12:40:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载