转载自: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. Activity的task相关 详解

    task是一个具有栈结构的容器,可以放置多个Activity实例.启动一个应用,系统就会为之创建一个task,来放置根Activity:默认情况下,一个Activity启动另一个Activity时,两 ...

  2. (转)TextView属性大全

    TextView属性大全 今天研究了TextView一天了,发现网上有一篇讲TextView属性的,非常全,收藏一下先. 发现TextView有一个比较大的问题,就是文字排版的问题,遇到数字,字母,符 ...

  3. Oracle 学习系列之一(表空间与表结构)

    create tablespace user3 datafile 'e:\test\user3_data.dbf' size 20M --表空间初始大小为: 20Mautoextend on next ...

  4. 使用Git上传本地项目代码到github

    前提:(1)ssh密钥(让本地与git链接) &  (2)装好gitbash 1.git中创建好库 2.文件夹中输入:git init (出现隐藏的.git文件) 3.git remote a ...

  5. Navicat for PostgreSQL 必须知道的十大功能

    Navicat for PostgreSQL 是一套易于使用的图形化 PostgreSQL 数据库管理工具.可使用强劲的 SQL 编辑器创建和运行查询.函数和使用多功能的数据编辑工具管理数据.Navi ...

  6. VBA删除表格最后一行

    Sub 删除最后一行() If MsgBox("要为所有表格添加列吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDocument ...

  7. php读取excel文件 更新修改excel

    php读取excel文件示例,还有更新修改功能. 代码: //模板存放目录 $dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/'; $template ...

  8. 10)Java Error and Exception

      1>异常继承类        Error类和Exception类都继续自Throwable类      Error表示系统级的错误情况,如内存错误这样程序无法通过自身的处理再继续执行下去的情 ...

  9. PHP 只有登陆后才能浏览的简单实现

    1.============================================================= 在你不想让别人直接进入的网页开头加一段代码: session_start ...

  10. 5.css字体

    下面的用一个表格总结了文本样式中字体的一些设置方法: 属性名 说明 CSS 版本 font-size 设置字体的大小 1 font-variant 设置英文字体是否转换为小型大写 1 font-sty ...