VC编程练习之API笔记(五)—动态菜单的制作
来源:互联网 发布:centos iso镜像下载64 编辑:程序博客网 时间:2024/04/30 05:26
1、 添加动态菜单并相应消息函数:
(1)、进入resource.h文件添加动态生成的菜单的ID号:
#define IDM_TEST1 001
(2)、进入MainFrame.h添加响应菜单项函数的声明:
afx_msg void OnTest1();
(3)、进入MainFrame.cpp添加响应函数的消息映射:
ON_COMMAND(IDM_TEST1,OnTest1)//将菜单ID和响应函数进行消息映射
(4)、到OnCreate()函数中添加动态菜单生成的代码:
CMenu menu; menu.CreatePopupMenu();//创建弹出菜单,返回值非零创建成功 GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,"Test");//添加菜单 menu.AppendMenu(MF_STRING,IDM_TEST1,"Test1");//添加子菜单 menu.Detach();
(5)、在OnTest1()中添加动态菜单被按下时的处理:
void CMainFrame::OnTest1() { MessageBox("This is a Test!"); }
2、 扩展:利用键盘输入并在文档中输出,按下回车键创建动态菜单,单击动态生成的菜单在文档中将相应的文本输出:
//响应键盘输入的消息:WM_CHARvoid CCMenu_11View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) {// TODO: Add your message handler code here and/or call defaultCClientDC dc(this);if(0x0d==nChar)//判断是否是回车键按下{if(0==++m_nIndex){ m_menu.CreatePopupMenu();//创建弹出菜单 GetParent()->GetMenu()->AppendMenu(MF_POPUP, (UINT)m_menu.m_hMenu,"Show"); //菜单属于框架类,所以先取得其父窗口的指针 GetParent()->DrawMenuBar();//重绘菜单栏}m_menu.AppendMenu(MF_STRING,IDM_SHOW1+m_nIndex,m_strLine.Left(m_strLine.Find(" ")));//添加子菜单m_strArray.Add(m_strLine);m_strLine.Empty(); Invalidate();//使整个窗口客户区无效,窗口客户无效即需要重绘}else{m_strLine+=nChar;dc.TextOut(0,0,m_strLine);//回显输入的字符}CView::OnChar(nChar, nRepCnt, nFlags);}//响应动态菜单处理的函数void CCMenu_11View::OnShow1() {// TODO: Add your command handler code hereCClientDC dc(this);dc.TextOut(0,0,m_strArray.GetAt(0));}
1 0
- VC编程练习之API笔记(五)—动态菜单的制作
- VC编程练习之API笔记(一)
- VC编程练习之API笔记(二)
- VC编程练习之API笔记(三)
- VC编程练习之API笔记(四)
- VC控件编程-制作弹出式菜单按钮
- VC++动态链接库编程(五)之DLL典型实例
- 随手笔记之VC++(五)
- 导航条菜单的制作(笔记)
- Java开发学习笔记之五:Servlet编程API
- UiAutomator笔记之UiCollection API(五)
- VC++动态链接库(DLL)编程(五)
- VC++动态链接库(DLL)编程(五)
- VC++深入详解笔记——6.菜单编程
- VC++串口编程之API
- 积累的VC编程小技巧之标题栏和菜单
- 积累的VC编程小技巧之标题栏和菜单
- 积累的VC编程小技巧之标题栏和菜单
- iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewCon
- 从MVC框架看MVC架构的设计
- 2013年个人小结!
- 一个变量存储多个值的查询sql
- EMC中国研究院
- VC编程练习之API笔记(五)—动态菜单的制作
- ipdb调试命令
- css flash嵌入网页
- google python 入门教学课程
- 几个大数据的问题
- SQL中SET和SELECT赋值的区别
- Proxy---HAProxy简介
- IOS开发之UIScrollViewDelegate详解
- 二分查找总结