转载自:http://blog.csdn.net/itlwc/article/details/7878002

1.创建一个简单工具条
效果图

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. // 创建带三个按钮的工具条
  4. var tb = new Ext.Toolbar({
  5. width : 300,
  6. items : [{
  7. text: '新建'
  8. },{
  9. text: '修改'
  10. },{
  11. text: '删除'
  12. }]
  13. });
  14. // 为工具条再添加一个按钮
  15. tb.add({
  16. text: '显示'
  17. });
  18. //tb.doLayout();//重新计算容器的布局尺寸
  19. new Ext.Viewport({
  20. items: [tb]
  21. });
  22. });
  23. </script>

2.创建一个简单菜单
效果图


代码

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. //创建工具条
  4. var tb = new Ext.Toolbar({
  5. width : 300
  6. });
  7. //创建一个菜单
  8. var menuFile = new Ext.menu.Menu();
  9. menuFile.add({text: '新建'});
  10. menuFile.add('-');
  11. menuFile.add({text: '打开'});
  12. menuFile.add('separator');
  13. menuFile.add({text: '保存'});
  14. menuFile.add(new Ext.menu.Separator());
  15. menuFile.add({text: '关闭'});
  16. // 为工具条再添加一个菜单
  17. tb.add({
  18. text: '文件',
  19. menu: menuFile
  20. });
  21. //tb.doLayout();//重新计算容器的布局尺寸
  22. new Ext.Viewport({
  23. items: [tb]
  24. });
  25. });
  26. </script>

3.多级菜单

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. var menuFile = new Ext.menu.Menu({
  4. items:[{
  5. text: '历史',
  6. menu: [{
  7. text: '今天'
  8. },{
  9. text: '昨天'
  10. }]
  11. }]
  12. });
  13. var tb = new Ext.Toolbar({
  14. width : 300,
  15. items : [{
  16. text: '文件',
  17. menu : menuFile
  18. }]
  19. });
  20. new Ext.Viewport({
  21. items: [tb]
  22. });
  23. });
  24. </script>

4.多选菜单

  1. 单选和多选都使用Ext.menu.CheckItem,唯一不用的是group参数

效果图

代码

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. var menuCheck = new Ext.menu.Menu({
  4. items : [
  5. new Ext.menu.CheckItem({
  6. text : '粗体',
  7. checkHandler : function(item,checked){
  8. Ext.Msg.alert('多选',(checked ? '选中':'取消')+'粗体');
  9. }
  10. }),
  11. new Ext.menu.CheckItem({
  12. text : '斜体',
  13. checkHandler : function(item,checked){
  14. Ext.Msg.alert('多选',(checked ? '选中':'取消')+'斜体');
  15. }
  16. })
  17. ]
  18. });
  19. var tb = new Ext.Toolbar({
  20. items : [{
  21. text : '字形',
  22. menu : menuCheck
  23. }]
  24. });
  25. new Ext.Viewport({
  26. items : [tb]
  27. });
  28. });
  29. </script>

5.单选按钮菜单

  1. 单选和多选都使用Ext.menu.CheckItem,唯一不用的是group参数

效果图

代码

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. var menuRadio = new Ext.menu.Menu({
  4. items : [
  5. new Ext.menu.CheckItem({
  6. text : '宋体',
  7. group : 'font',
  8. checkHandler : function(item,checked){
  9. Ext.Msg.alert('单选',(checked ? '选中':'取消')+'宋体');
  10. }
  11. }),
  12. new Ext.menu.CheckItem({
  13. text : '黑体',
  14. group : 'font',
  15. checkHandler : function(item,checked){
  16. Ext.Msg.alert('单选',(checked ? '选中':'取消')+'黑体');
  17. }
  18. }),
  19. new Ext.menu.CheckItem({
  20. text : '楷体',
  21. group : 'font',
  22. checkHandler : function(item,checked){
  23. Ext.Msg.alert('单选',(checked ? '选中':'取消')+'楷体');
  24. }
  25. })
  26. ]
  27. });
  28. var tb = new Ext.Toolbar({
  29. items : [{
  30. text : '字体',
  31. menu : menuRadio
  32. }]
  33. });
  34. new Ext.Viewport({
  35. items : [tb]
  36. });
  37. });
  38. </script>

6.日期菜单
效果图

代码

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. var tb = new Ext.Toolbar({
  4. items : [{
  5. text : '日期',
  6. menu : new Ext.menu.DateMenu({
  7. handler : function(dp, date){
  8. Ext.Msg.alert('选择日期', '选择的日期是 {0}.', date.format('Y年m月d日'));
  9. }
  10. })
  11. }]
  12. });
  13. new Ext.Viewport({
  14. items : [tb]
  15. });
  16. });
  17. </script>

7.颜色菜单

  1. Ext本身一些问题,颜色选中的时候handler会执行两次,第二次的参数传入一个event对象,
  2. 所以要加typeof进行判断,以免出现问题
  3. 最后颜色值返回6位的字符串,在它前面加#就可以使用了

效果图

代码

  1. <script type="text/javascript" defer>
  2. Ext.onReady(function(){
  3. var tb = new Ext.Toolbar({
  4. items : [{
  5. text : '颜色',
  6. menu: new Ext.menu.ColorMenu({
  7. handler : function(cm, color){
  8. if (typeof color == 'string') {
  9. Ext.Msg.alert('选择颜色', '选择的颜色是 ' + color);
  10. }
  11. }
  12. })
  13. }]
  14. });
  15. new Ext.Viewport({
  16. items : [tb]
  17. });
  18. });
  19. </script>

8.右键弹出菜单

  1. <script type="text/javascript">
  2. Ext.onReady(function(){
  3. var contextmenu = new Ext.menu.Menu({
  4. items: [{
  5. text: '新建'
  6. },{
  7. text: '修改'
  8. },{
  9. text: '删除'
  10. },{
  11. text: '显示'
  12. }]
  13. });
  14. Ext.get(document).on('contextmenu', function(e) {
  15. e.preventDefault();
  16. contextmenu.showAt(e.getXY());
  17. });
  18. });
  19. </script>

9.使用Ext.menu.MenuMgr统一管理菜单

  1. Ext为我们提供了MenuMgr来统一管理页面上的所有菜单
  2. 每创建一个菜单都会注册到Ext.menu.MenuMgr中,可以使用MenuMgr的函数对菜单进行操作,
  3. Ext.menu.MenuMgr是一个单例,我们不需要创建就可以直接调用功能函数get(),根据id获取对应的菜单

代码

  1. var menuWj = new Ext.menu.Menu({
  2. id: 'menu1',
  3. allowOtherMenus: true,
  4. items: [
  5. {text: '今天'},
  6. {text: '昨天'}
  7. ]
  8. });
  9. Ext.get('showButton').on('click', function() {
  10. //获取menu实例
  11. var menu1 = Ext.menu.MenuMgr.get('menu1');
  12. menu1.show(tb.el);
  13. Ext.getDoc().removeAllListeners();
  14. });
  15. Ext.get('hideButton').on('click', function() {
  16. Ext.menu.MenuMgr.hideAll();
  17. });

10工具条加文本框和时间框
效果图

代码

  1. <script type="text/javascript">
  2. Ext.onReady(function(){
  3. var tb = new Ext.Toolbar({
  4. items : [
  5. '文本框',
  6. new Ext.form.TextField({
  7. name: 'text'
  8. }),
  9. '时间框',
  10. new Ext.form.DateField({
  11. name: 'date'
  12. })
  13. ]
  14. });
  15. new Ext.Viewport({
  16. items : [tb]
  17. });
  18. });
  19. </script>

11工具条加HTML标签
效果图

代码

  1. <script type="text/javascript">
  2. Ext.onReady(function(){
  3. var tb = new Ext.Toolbar({
  4. items : [
  5. '<span style="color:red;font-weight:bold;">红字</span>',
  6. '<input type="text">',
  7. '<button>按钮</button>'
  8. ]
  9. });
  10. new Ext.Viewport({
  11. items : [tb]
  12. });
  13. });
  14. </script>

12.工具条加按钮的三种方法

  1. <script type="text/javascript">
  2. Ext.onReady(function(){
  3. var tb = new Ext.Toolbar({
  4. items : [{
  5. text : '按钮1'
  6. },
  7. new Ext.Button({
  8. text : '按钮2'
  9. }),
  10. new Ext.Toolbar.Button({
  11. text : '按钮3'
  12. })]
  13. });
  14. new Ext.Viewport({
  15. items : [tb]
  16. });
  17. });
  18. </script>

13. Ext.Toolbar.Spacer

  1. Ext.Toolbar.Spacer向菜单添加空白元素,
  2. xtype = tbspacer它是一个2px的空白
  1. tb.add({
  2. xtype : 'tbspacer'
  3. });

14. Ext.Toolbar.Separator

  1. Ext.Toolbar.Separator向菜单添加一个竖线
  2. xtype = tbseparator 或者 –
  1. tb.add({
  2. xtype : 'tbseparator'
  3. });

15. Ext.Toolbar.Fill

  1. 将处于它右侧的工具条组件以右对齐的方式排列在工具条右侧
  2. xtype=tbfill 或者->
    1. tb.add({
    2. xtype : 'tbfill'
    3. });

Extjs-工具条和菜单 Ext.menu和Ext.Toolbar的更多相关文章

  1. 黄聪:自定义WordPress前台、后台顶部菜单栏管理工具条的技巧

    使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php  或者插 ...

  2. 黄聪:自定义WordPress顶部管理工具条的技巧(转)

    使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php  或者插 ...

  3. wxWidgets:给窗口添加工具条

    请先看上一篇<wxWidgets入门>. 修改MyFrame.h: #ifndef MYFRAME_H #define MYFRAME_H #include <wx/wxprec.h ...

  4. [ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38515499 本文作者:sushengmiyan ------------------ ...

  5. QT学习之路--菜单、工具条、状态栏

    下面一些是 Menu Bar,用于显示菜单;再下面一点事 Toolbar areas,用于显示工具条,Status Bar,就是状态栏. Qt 提供了一个 QStatusBar 类来实现状态栏. Qt ...

  6. Qt__主窗口、菜单和工具条(QMainWindow,QMenu,QToolBar)

    转自豆子空间 主窗口 Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow.MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域: 最上面是Wind ...

  7. [转]ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  8. ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更

    本篇讲解菜单.绘图.还有大小变更控件.菜单控件可以附加到各种其他控件中,比如按钮.工具栏等,甚至可以直接通过通过右键打开(模拟右键菜单):ext对绘图的支持可以让我们通过js来绘图:大小变更控件可以让 ...

  9. NSS_07 extjs中grid在工具条上的查询

    碰到的每个问题, 我都会记下走过的弯路,尽量回忆白天的开发过程, 尽量完整, 以使自己以后可以避开这些弯路. 这个问题在系统中应用得比较多, 在一个gridpanel的工具条上有俩搜索框, panel ...

随机推荐

  1. 洛谷P1459 三值的排序 Sorting a Three-Valued Sequence

    P1459 三值的排序 Sorting a Three-Valued Sequence 166通过 369提交 题目提供者该用户不存在 标签USACO 难度普及- 提交  讨论  题解 最新讨论 那么 ...

  2. Android基础总结(6)——内容提供器

    前面学习的数据持久化技术包括文件存储.SharedPreferences存储以及数据库存储技术保存的数据都只能被当前应用程序所访问.虽然文件存储和SharedPreferences存储中提供了MODE ...

  3. 【EF 2】浅谈ADO数据模型生成串(二):数据库连接串分析

    导读:上篇博客中介绍了ADO生成串的前一部分,本篇博客结合报错,接着介绍剩下的部分. 一.代码展示 <span style="font-family:KaiTi_GB2312;font ...

  4. 2016-03-15:关于VS中模块定义文件

    1 def模块定义文件 在使用开源库libx265时,因x265项目的头文件x265中有如下的宏定义 #ifdef X265_API_IMPORTS #define X265_API __declsp ...

  5. openstack4j

    Identity // V2 authentication OSClientV2 os = OSFactory.builderV2() .endpoint("http://127.0.0.1 ...

  6. MVC组件分析(转)

    2System.Web.Mvc V 4.0.0.0 组件分析 2.1 Routing组件(路由选择) Routing的作用就是负责分析Url Action的要求• 必须是一个公有方法• 必须返回Act ...

  7. CentOS 安裝 VMware Workstation / VMware Player

    参考:http://www.vixual.net/blog/archives/650 序列号:1F04Z-6D111-7Z029-AV0Q4-3AEH8 注意说明:刚开始有很长的一系列协议信息,可以用 ...

  8. chkdsk 和sfc.exe修复命令

    1:chkdsk:chkdsk的全称是checkdisk,就是磁盘检查. CMD->help chkdsk CHKDSK [volume[[path]filename]]] [/F] [/V] ...

  9. 用绝对路径引用JS、CSS

    项目中,最好使用绝对路径引用JS和CSS文件,详情如下: 1.vm文件中: <link rel="stylesheet" href="$!{request.cont ...

  10. MyEclipse中使用debug调试程序

    最基本的操作是:       1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run       当程序走到断 ...