MFC工具栏增加EditBox和Button

1.  在资源视图中增加EditBox, Button控件,ID分别为ID_EDIT_SEED, ID_BTN_SEED

2. 在CMainFrame中增加成员变量

CMFCToolBarEditBoxButton *m_editSeed;
CMFCToolBarButton *m_btnSeed;

3. 在CMainFrame::OnCreate中创建控件

m_editSeed = new CMFCToolBarEditBoxButton(ID_EDIT_SEED, GetCmdMgr()->GetCmdImage(ID_EDIT_SEED, FALSE));
m_editSeed->EnableWindow(true);
m_editSeed->SetContents("0");
//m_editSeed->CanBeStretched();
//m_editSeed->HaveHotBorder();
//m_editSeed->SetFlatMode();
//m_editSeed->OnSize(65);
m_btnSeed = new CMFCToolBarButton(ID_BTN_SEED, GetCmdMgr()->GetCmdImage(ID_BTN_SEED, FALSE), "SEED");
m_btnSeed->EnableWindow(true);
m_btnSeed->m_bText = true;
m_btnSeed->m_strText = "NUM";

4. 增加工具栏控件替换函数

afx_msg LRESULT OnToolbarReset(WPARAM, LPARAM);ON_REGISTERED_MESSAGE(AFX_WM_RESETTOOLBAR, OnToolbarReset)LRESULT CMainFrame::OnToolbarReset(WPARAM wp, LPARAM lp)
{m_wndToolBar.ReplaceButton(ID_EDIT_SEED, *m_editSeed);m_wndToolBar.ReplaceButton(ID_BTN_SEED, *m_btnSeed);return 0;
}

5. 增加控件事件函数,否则控件没有enable

afx_msg void OnUpdateEditSeed(CCmdUI *pCmdUI);
afx_msg void OnBnClickedButtonSeed();ON_UPDATE_COMMAND_UI(ID_EDIT_SEED, &CMainFrame::OnUpdateEditSeed)
ON_BN_CLICKED(ID_BTN_SEED, &CMainFrame::OnBnClickedButtonSeed)void CMainFrame::OnUpdateEditSeed(CCmdUI *pCmdUI)
{int index = m_wndToolBar.CommandToIndex(ID_EDIT_SEED);CMFCToolBarEditBoxButton* editSeed = (CMFCToolBarEditBoxButton*)m_wndToolBar.GetButton(index);editSeed->EnableWindow(TRUE);
}void CMainFrame::OnBnClickedButtonSeed()
{}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 2003 服务器安全设置-批处理 (附参考链接)

长期维护windows服务器终结出来的安全设置批处理与大家分享,复制以下全部内容用记事本另存为bat或者cmd执行分隔符号echo. echo ------------------------------------------------------ echo. echo ........... echo. net share c$ /delete net share d$ /delete …

利用curl验证ssl网站(webservice)

curl的用法: http://linux.about.com/od/commands/l/blcmdl1_curl.htm DER格式的cert转换为PEM格式(curl只接受PEM格式): openssl x509 -inform der -in cert.cer -out cert.pem curl命令示意: curl --cacert rootca.p…

接口隔离原则

定义 接口隔离原则(Interface Segregation Principle, ISP),定义为: Clients should not be forced to depend upon interfaces that they don’t use. (客户端不应该依赖它不需要的接口。)The dependency of one class to anoth…

Asp.net TextBox常规输入验证

Asp.net TextBox只能输入数字<asp:textbox id"TextBox1" οnkeyup"if(isNaN(value))execCommand(undo)" runat"server" Width"80px" onafterpaste"if(isNaN(value))execCommand(undo)"></asp:textbox> 其实服务…

依赖倒置原则

定义 依赖倒置&#xff1f;大家可能会觉得高深莫测。但是相信听我一翻解说之后&#xff0c;你就会恍然大悟&#xff0c;甚至你早已掌握到它的精髓了。我们先看一下依赖倒置原则的定义&#xff1a; High level modules should not depend upon low level modules. Both should …

求一个连通图的割点(去掉一个点后图不再连通)

题目&#xff1a;求一个连通图的割点&#xff0c;割点的定义是&#xff0c;如果除去此节点和与其相关的边&#xff0c;图不再连通&#xff0c;描述算法。 分析&#xff1a; 1. 最简单也是最直接的算法是&#xff0c;删除一个点然后判断连通性&#xff0c;如果删除此点&#xff…

深入浅出 Java Concurrency (6): 锁机制 part 1[转]

前面的章节主要谈谈原子操作&#xff0c;至于与原子操作一些相关的问题或者说陷阱就放到最后的总结篇来整体说明。从这一章开始花少量的篇幅谈谈锁机制。 上一个章节中谈到了锁机制&#xff0c;并且针对于原子操作谈了一些相关的概念和设计思想。接下来的文章中&#xff0c;尽可…

行为树

行为树(Behavior Tree)&#xff0c;有4大类型的Node&#xff1a; (1) Composites Node 组合节点&#xff0c;包括经典的&#xff1a;Sequence&#xff0c;Selector&#xff0c;Parallel * Selector Node 当执行本类型Node时&#xff0c;它将从begin到end迭代执行自己的Ch…

SCRUM 12.03

第二轮迭代从今天起正式开始了。12月3日&#xff0c;我们举行了一次组会。 第一轮迭代结束时&#xff0c;我们意识到第二轮迭代需要实现的功能主要如下&#xff1a; 在下次迭代的时候实现对多个网站的信息进行比较取最优惠的选择&#xff0c;目前我们劲针对了一个网站的信息进行…

阻止页面双击选中文本

轮播图实现中&#xff0c;发现当点击切换按钮时&#xff0c;如果用户点快乐&#xff0c;双击了按钮&#xff0c;就会选中文本。十分影响浏览效果&#xff0c;所以有了这篇文章。 IE以及谷歌下的解决办法&#xff1a; <div id"zell-carousel" class"zell-caro…

STL内嵌数据类型: value_type

使用stl库的时候一直对value_type这个东西理解的不是很好&#xff0c;可以说就是不理解。今天看了《STL源码剖析》才恍然大悟。这里稍作记录。 每个STL中的类都有value_type这种东西&#xff0c;通俗的说value_type 就是stl容器盛装的数据的数据类型&#xff0c;例如&#xff…

Boost.Python实现Python C/C++混合编程

导出函数 #include<string> #include<boost/python.hpp>using namespace std; using namespace boost::python;char const * greet() {return "hello,world";}BOOST_PYTHON_MODULE(hello_ext) {def("greet", greet); } import hello_ext pri…

swift UIActivityIndicatorView

// // ActivityIndicatorViewController.swift // UIControlDemo // // Created by on 14/12/1. // Copyright (c) 2014年 马大哈. All rights reserved. // import UIKit class ActivityIndicatorViewController: BaseViewController { var waitActivity:UIActivityIndi…

UE4打包后如何调试

在项目打包后发现有一个数组越界问题&#xff0c;然而无论是 Play in Editor或是 VS选为DebugGame后启动&#xff0c;游戏都没有任何问题&#xff0c;越界问题只在打包后出现。这里记录一下自己的Debug方法。 首先将项目以DebugGame配置打包&#xff1a; 更改打包配置&#xff…

asp.net 使用my97 datepicker实现前后两个日期的范围界定

说明&#xff1a;日期选择后&#xff0c;前面的日期小于等后面的日期&#xff0c;后面的日期大于等于前面的日期。点点看就知道了:) &#xff5e; 这里将周末日期不可选。代码如下&#xff1a; 1 <html xmlns"http://www.w3.org/1999/xhtml">2 <head runat…

james-2.3.2中的配置

james&#xff1a;1、解压缩2、先运行一遍3、修改配置 apps\james\SAR-INF\config.xml(1)postmaster(2)servername localhost --> abclocalhost j08.com --> abcj08.com 自动检查名称和IP设为false(3)注释掉RemoteAddrNotInNetwork(4)添加虚拟域名&#xff0c;指向localh…

Win7下安装配置gVim

本文根据vim官网的《Simple Steps to Help You Install gVim on Windows 7》【1】一文整理而成。 1. 下载gVim 在http://www.vim.org/download.php/pc 下找到“PC: MS-DOS and MS-Windows”&#xff0c;下载“gvim74.exe”【2】。 2. 安装gVim 1. 安装时可以选择更改目录&#…

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布 原文:ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布本篇文章将阐述首次使用 ActiveReports 报表控件 的方法&#xff0c;包括添加报表文件、绑定数据源以及如何发布报表等内…

C++ Lambda表达式基本用法

创建一个匿名函数并执行。采用的是配对的方括号[]。实例如下&#xff1a; 1 2 3 4 5 6 7 8 9 #include <iostream> using namespace std; int main() { []{ cout << "Hello,Worldn"; }(); } 我们也可以方便的将这个创建的匿名函数赋…