Extjs-工具条和菜单 Ext.menu和Ext.Toolbar
转载自:http://blog.csdn.net/itlwc/article/details/7878002
1.创建一个简单工具条
效果图
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- // 创建带三个按钮的工具条
- var tb = new Ext.Toolbar({
- width : 300,
- items : [{
- text: '新建'
- },{
- text: '修改'
- },{
- text: '删除'
- }]
- });
- // 为工具条再添加一个按钮
- tb.add({
- text: '显示'
- });
- //tb.doLayout();//重新计算容器的布局尺寸
- new Ext.Viewport({
- items: [tb]
- });
- });
- </script>
2.创建一个简单菜单
效果图

代码
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- //创建工具条
- var tb = new Ext.Toolbar({
- width : 300
- });
- //创建一个菜单
- var menuFile = new Ext.menu.Menu();
- menuFile.add({text: '新建'});
- menuFile.add('-');
- menuFile.add({text: '打开'});
- menuFile.add('separator');
- menuFile.add({text: '保存'});
- menuFile.add(new Ext.menu.Separator());
- menuFile.add({text: '关闭'});
- // 为工具条再添加一个菜单
- tb.add({
- text: '文件',
- menu: menuFile
- });
- //tb.doLayout();//重新计算容器的布局尺寸
- new Ext.Viewport({
- items: [tb]
- });
- });
- </script>
3.多级菜单
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- var menuFile = new Ext.menu.Menu({
- items:[{
- text: '历史',
- menu: [{
- text: '今天'
- },{
- text: '昨天'
- }]
- }]
- });
- var tb = new Ext.Toolbar({
- width : 300,
- items : [{
- text: '文件',
- menu : menuFile
- }]
- });
- new Ext.Viewport({
- items: [tb]
- });
- });
- </script>
4.多选菜单
- 单选和多选都使用Ext.menu.CheckItem,唯一不用的是group参数
效果图
代码
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- var menuCheck = new Ext.menu.Menu({
- items : [
- new Ext.menu.CheckItem({
- text : '粗体',
- checkHandler : function(item,checked){
- Ext.Msg.alert('多选',(checked ? '选中':'取消')+'粗体');
- }
- }),
- new Ext.menu.CheckItem({
- text : '斜体',
- checkHandler : function(item,checked){
- Ext.Msg.alert('多选',(checked ? '选中':'取消')+'斜体');
- }
- })
- ]
- });
- var tb = new Ext.Toolbar({
- items : [{
- text : '字形',
- menu : menuCheck
- }]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
5.单选按钮菜单
- 单选和多选都使用Ext.menu.CheckItem,唯一不用的是group参数
效果图
代码
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- var menuRadio = new Ext.menu.Menu({
- items : [
- new Ext.menu.CheckItem({
- text : '宋体',
- group : 'font',
- checkHandler : function(item,checked){
- Ext.Msg.alert('单选',(checked ? '选中':'取消')+'宋体');
- }
- }),
- new Ext.menu.CheckItem({
- text : '黑体',
- group : 'font',
- checkHandler : function(item,checked){
- Ext.Msg.alert('单选',(checked ? '选中':'取消')+'黑体');
- }
- }),
- new Ext.menu.CheckItem({
- text : '楷体',
- group : 'font',
- checkHandler : function(item,checked){
- Ext.Msg.alert('单选',(checked ? '选中':'取消')+'楷体');
- }
- })
- ]
- });
- var tb = new Ext.Toolbar({
- items : [{
- text : '字体',
- menu : menuRadio
- }]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
6.日期菜单
效果图
代码
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- var tb = new Ext.Toolbar({
- items : [{
- text : '日期',
- menu : new Ext.menu.DateMenu({
- handler : function(dp, date){
- Ext.Msg.alert('选择日期', '选择的日期是 {0}.', date.format('Y年m月d日'));
- }
- })
- }]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
7.颜色菜单
- Ext本身一些问题,颜色选中的时候handler会执行两次,第二次的参数传入一个event对象,
- 所以要加typeof进行判断,以免出现问题
- 最后颜色值返回6位的字符串,在它前面加#就可以使用了
效果图

代码
- <script type="text/javascript" defer>
- Ext.onReady(function(){
- var tb = new Ext.Toolbar({
- items : [{
- text : '颜色',
- menu: new Ext.menu.ColorMenu({
- handler : function(cm, color){
- if (typeof color == 'string') {
- Ext.Msg.alert('选择颜色', '选择的颜色是 ' + color);
- }
- }
- })
- }]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
8.右键弹出菜单
- <script type="text/javascript">
- Ext.onReady(function(){
- var contextmenu = new Ext.menu.Menu({
- items: [{
- text: '新建'
- },{
- text: '修改'
- },{
- text: '删除'
- },{
- text: '显示'
- }]
- });
- Ext.get(document).on('contextmenu', function(e) {
- e.preventDefault();
- contextmenu.showAt(e.getXY());
- });
- });
- </script>
9.使用Ext.menu.MenuMgr统一管理菜单
- Ext为我们提供了MenuMgr来统一管理页面上的所有菜单
- 每创建一个菜单都会注册到Ext.menu.MenuMgr中,可以使用MenuMgr的函数对菜单进行操作,
- Ext.menu.MenuMgr是一个单例,我们不需要创建就可以直接调用功能函数get(),根据id获取对应的菜单
代码
- var menuWj = new Ext.menu.Menu({
- id: 'menu1',
- allowOtherMenus: true,
- items: [
- {text: '今天'},
- {text: '昨天'}
- ]
- });
- Ext.get('showButton').on('click', function() {
- //获取menu实例
- var menu1 = Ext.menu.MenuMgr.get('menu1');
- menu1.show(tb.el);
- Ext.getDoc().removeAllListeners();
- });
- Ext.get('hideButton').on('click', function() {
- Ext.menu.MenuMgr.hideAll();
- });
10工具条加文本框和时间框
效果图
代码
- <script type="text/javascript">
- Ext.onReady(function(){
- var tb = new Ext.Toolbar({
- items : [
- '文本框',
- new Ext.form.TextField({
- name: 'text'
- }),
- '时间框',
- new Ext.form.DateField({
- name: 'date'
- })
- ]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
11工具条加HTML标签
效果图
代码
- <script type="text/javascript">
- Ext.onReady(function(){
- var tb = new Ext.Toolbar({
- items : [
- '<span style="color:red;font-weight:bold;">红字</span>',
- '<input type="text">',
- '<button>按钮</button>'
- ]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
12.工具条加按钮的三种方法
- <script type="text/javascript">
- Ext.onReady(function(){
- var tb = new Ext.Toolbar({
- items : [{
- text : '按钮1'
- },
- new Ext.Button({
- text : '按钮2'
- }),
- new Ext.Toolbar.Button({
- text : '按钮3'
- })]
- });
- new Ext.Viewport({
- items : [tb]
- });
- });
- </script>
13. Ext.Toolbar.Spacer
- Ext.Toolbar.Spacer向菜单添加空白元素,
- xtype = tbspacer它是一个2px的空白
- tb.add({
- xtype : 'tbspacer'
- });
14. Ext.Toolbar.Separator
- Ext.Toolbar.Separator向菜单添加一个竖线
- xtype = tbseparator 或者 –
- tb.add({
- xtype : 'tbseparator'
- });
15. Ext.Toolbar.Fill
- 将处于它右侧的工具条组件以右对齐的方式排列在工具条右侧
- xtype=tbfill 或者->
- tb.add({
- xtype : 'tbfill'
- });
Extjs-工具条和菜单 Ext.menu和Ext.Toolbar的更多相关文章
- 黄聪:自定义WordPress前台、后台顶部菜单栏管理工具条的技巧
使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php 或者插 ...
- 黄聪:自定义WordPress顶部管理工具条的技巧(转)
使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php 或者插 ...
- wxWidgets:给窗口添加工具条
请先看上一篇<wxWidgets入门>. 修改MyFrame.h: #ifndef MYFRAME_H #define MYFRAME_H #include <wx/wxprec.h ...
- [ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38515499 本文作者:sushengmiyan ------------------ ...
- QT学习之路--菜单、工具条、状态栏
下面一些是 Menu Bar,用于显示菜单;再下面一点事 Toolbar areas,用于显示工具条,Status Bar,就是状态栏. Qt 提供了一个 QStatusBar 类来实现状态栏. Qt ...
- Qt__主窗口、菜单和工具条(QMainWindow,QMenu,QToolBar)
转自豆子空间 主窗口 Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow.MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域: 最上面是Wind ...
- [转]ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
本篇讲解菜单.绘图.还有大小变更控件.菜单控件可以附加到各种其他控件中,比如按钮.工具栏等,甚至可以直接通过通过右键打开(模拟右键菜单):ext对绘图的支持可以让我们通过js来绘图:大小变更控件可以让 ...
- NSS_07 extjs中grid在工具条上的查询
碰到的每个问题, 我都会记下走过的弯路,尽量回忆白天的开发过程, 尽量完整, 以使自己以后可以避开这些弯路. 这个问题在系统中应用得比较多, 在一个gridpanel的工具条上有俩搜索框, panel ...
随机推荐
- Windows API学习---插入DLL和挂接API
插入DLL和挂接API 在Microsoft Windows中,每个进程都有它自己的私有地址空间.当使用指针来引用内存时,指针的值将引用你自己进程的地址空间中的一个内存地址.你的进程不能创建一个其引用 ...
- CLRS:master theory in complexity of algorithm
T(n)=aT(n/b)+f(n); where we can interpret n/b to mean either floor(b/n) or ceil(b/n), Then T (n) has ...
- rem是如何实现自适应中的?
使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...
- 1.7见识一下什么叫Linux驱动:LED
1.任何的Linux驱动都有一个装载函数(装载驱动时调用)和一个卸载函数(卸载驱动时调用): 2.装载函数和卸载函数分别通过module_init和module_exit宏指定.
- Android IOS WebRTC 音视频开发总结(十一)-- stun&turn部署
本篇文章主要介绍webrtc里面的stun,turn服务的安装与配置(转载请说明出处: http://www.cnblogs.com/lingyunhu, RTC.Blacker) 说到STUN,TU ...
- C++利用注册表添加桌面右键新建菜单
对于程序员来说,新建一个cpp文件是再频繁不过的事情了. 为了方便,我们习惯在桌面右键新建文件,而不是新建一个文本文档,然后修改后缀名. 百度谷歌查询了一下,终于知道如何添加注册表. 手痒,抽出时间用 ...
- 信息图形(Infographic)
信息图形(Infographic),又称为信息图,是指数据.信息或知识的可视化表现形式.信息图形主要应用于必须要有一个清楚准确的解释或表达甚为复杂且大量的信息,例如在各式各样的文件档案上.各个地图及标 ...
- HTML 5缓存机制:Cache Manifest配置实例
Cache Manifest是HTML 5的一种缓存机制,文章作者直接用博客当测试环境,虽然[color=#444444 !important]应用起来非常简单,但效果却出奇的好.缓存后的速度,简直是 ...
- ES2015 ——let命令的暂时性死区
ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. 和var不同的还有,let命令不存在变量提升,所以声明前调用变量,都会报错,这就涉及到 ...
- css3选择器——导图篇
css3选择器主要有:基本选择器 , 层次选择器, 伪类选择器 , 伪元素选择器 , 属性选择器 基本选择器 层次选择器 伪类选择器分为 动态伪类选择器, 目标伪类选择器, 语言伪类选择器, U ...