VC++6.0 MFC 菜单 子选项 能否被点击 单文档程序

news/2024/7/24 11:49:06
  1. 创建一个menu   创建菜单项 自动生成其ID 如IDR_MENU1 不用创建类 

       创建两个子选项

2.打开mainFrame类 找到 OnCreate函数

         // TODO: Delete these three lines if you don't want the toolbar to

         //  be dockable

         this->SetMenu(NULL);              // 设置当前菜单为空

         CMenu menu;                            //创建一个menu对象

         menu.LoadMenu(IDR_MENU1);   //绑定新创建的menu,找到其ID,如IDR_MENU1

         this->SetMenu(&menu);             //给应用程序设置菜单

         menu.Detach();                            //持久化,不消失     

3.打开类向导 找到子菜单选项ID  创建UPDATE_COMMAND_UI函数

4.OnUpdateUp (CCmdUI* pCmdUI)内容  //CCmdUI  是顶层类   没有基类

pCmdUI->Enable(TRUE);//控制菜单显示不显示 每次下拉菜单 会挨个执行  OnUpdateMenu

设置为TRUE  就可以点击这个选项了

 

点一下显示 再点一下不显示   代码如下:

static int STATE = 0; // static 修饰 只创建一次 可多次赋值

if(STATE==0){

pCmdUI->Enable(FALSE);

STATE=1;

}else{

pCmdUI->Enable(TRUE);

STATE=0;

}

 

如果是点击选项 出来对话框窗口

1. 先创建一个对话框,然后打开类向导  会弹出一个提示框 点击OK 起个名字 如 dlg 创建该对话框的实体类

 

2.在CMainFrame类中 为选项 up 添加一个COMMAND函数

在CMainFrame最上方 引入 #include ”dlg.h”

然后在OnUp函数中

dlg d;  //创建新建的对话框对象

   d.DoModal();        //调用DoModal()函数  弹出对话框

 

//if(dlg.DoModal()==IDOK){     //可根据返回值是IDOK还是IDCANCEL做出操作

 

//flag可设置为全局变量

在CMainFrame的头文件中定义 并在CMainFrame的构造函数中 设置flag=0  

如果点击IDOK 赋值为1 其余按钮绑定的OnOnUpdate函数中                                      pCmdUI->Enable(TRUE);   为0 则设置为FALSE

 

 

flag=1; 

}  else{

flag=0;   

}

 

 

 

 

 

 

 

 

 

 


http://www.niftyadmin.cn/n/1455778.html

相关文章

卡巴斯基安全公告:2008恶意软件发展情况

近日,卡巴斯基实验室发表题为《卡巴斯基安全公告:2008恶意软件发展情况》的报告,该报告由公司高级分析师撰写。 据悉,通过卡巴斯基安全网络所收集到的数据也是首次被用在这样的年度报告中,并作为论述的依据。这项新技术…

解决 Vue+SpringBoot中axios发送post请求 控制台报错 404,后端能接收到数据!

emmmmmmmm,昨天写毕设 ,不小心踩了这个坑~ 由于是后端新建的一个controller,导致前端报404错误,但是后端接收数据成功,还能读取数据库,让我很郁闷! 因为前面写的代码都没问题,后来…

18位身份证校验位算法

package day05;/*** 身份证第18位计算法 身份证第18位(校验码)的计算方法* * 1、将前面的身份证号码17位数分别乘以不同的 系数。 从第一位到第十七位的系数分别为:* 7-9-10-5-8-4&a…

解决 Zookeeper集群启动失败,提示 Error contacting service. It is probably not running.

刚学到zookeeper 记录一下出现的错误,死活开启不了服务,经查阅后发现是防火墙问题。(关闭防火墙命令在文章底部) 如果设置了SSH免密登录 则在zoo.cig中如下设置; 如果没有设置ssh免密登录,把“”后面设置为IP:通信端…

IIS 7.0 和 IIS 7.5 中的 HTTP 状态代码

来自于微软帮助中心:http://support.microsoft.com/kb/943891 HTTP 状态代码本部分介绍 IIS 7.0 使用的 HTTP 状态代码。注意 这篇文章不会列出每个可能的 HTTP 状态代码,要求于 HTTP 规范中。这篇文章包括只的 HTTP 状态代码的 IIS 7.0 可以发送的。例如…

解决Java正则过滤空格失败!\\s无效,trim()也无效【已解决】

正则过滤一个字符串 死活过滤不掉 就差重装JDK再来一次了 事实证明 emmmmmm 还是debug靠谱 上图: 编码不是32 而是160,后来百度去搜索160 是什么玩意 ,是一个不间断空格 ---> 我们可以利用不间断空格的Unicode编码来移除它&a…

7个心理寓言

一、成长的寓言:做一棵永远成长的苹果树 一棵苹果树,终于结果了。 第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年&#xff0…

抱怨,是对自己无能的愤慨

生活就如同时间一样,对每一个人都是一样的。但是却因为人与人思想、思维、心态等不同便出现了不同的生活局面,有的人过得贫苦心酸,有的人过得衣食无忧,有的人过得锦衣玉食。 面对如此落差的生活,自然就会心生埋怨或牢骚…