精华内容
下载资源
问答
  • 1.5.2 在Windows应用程序中设计菜单栏、工具栏和状态栏 1.菜单栏的设计 在Windows应用程序中制作菜单栏时,可以使用MenuStrip控件。使用MenuStrip控件可以将菜单设计成Microsoft Office中那样。另外,用户还...

    1.5.2  在Windows应用程序中设计菜单栏、工具栏和状态栏

    1.菜单栏的设计

    在Windows应用程序中制作菜单栏时,可以使用MenuStrip控件。使用MenuStrip控件可以将菜单设计成Microsoft Office中那样。另外,用户还可以通过添加快捷键、选中标记、图像和分隔条,来增强菜单的可用性和可读性。使用MenuStrip控件制作菜单栏的步骤如下。

    (1)向Windows窗体中添加一个MenuStrip控件。

    (2)单击该控件Items属性后面的 按钮,弹出如图1.11所示的“项集合编辑器”对话框。

     
    (点击查看大图)图1.11  “项集合编辑器”对话框

    (3)在“项集合编辑器”对话框中,可以添加MenuItem子项,如果要为已经添加的子项添加子菜单,可以选择MenuItem子项,单击DropDownItems属性后面的 按钮,弹出如图1.12所示的“项集合编辑器”对话框(子项)。

    (4)在“项集合编辑器”(子项)对话框中,可以给指定子项添加子菜单,重复此操作,即可完成菜单栏的制作。

     
    (点击查看大图) 图1.12  “项集合编辑器”对话框(子项)

    2.工具栏的设计

    在Windows应用程序中设计工具栏时,可以使用ToolStrip控件和BindingNavigator控件。由于本系统在设计工具栏时使用的全部是BindingNavigator控件,所以这里着重介绍使用BindingNavigator控件制作工具栏的方法。

    BindingNavigator控件由ToolStrip和一系列ToolStripItem对象组成,用来完成大多数常见的与数据相关的操作。使用BindingNavigator控件,用户可以在Windows应用程序中导航和操作数据。使用BindingNavigator控件制作工具栏的步骤如下。

    (1)向Windows窗体中添加一个BindingNavigator控件。

    (2)单击该控件Items属性后面的 按钮,弹出如图1.13所示的“项集合编辑器”对话框。

     
    (点击查看大图)图1.13  “项集合编辑器”对话框

    (3)在“项集合编辑器”对话框中,用户可以根据需要添加各种控件,然后单击【确定】按钮,即可完成工具栏的制作。

    3.状态栏的设计

    在Windows应用程序中设计状态栏时,可以使用StatusStrip控件。StatusStrip控件可以显示正在操作当前Windows窗体的用户的相关信息,或当前系统的一些信息(比如系统操作员名称、当前系统时间等)。使用StatusStrip控件制作状态栏的步骤如下。

    (1)向Windows窗体中添加一个StatusStrip控件。

    (2)单击该控件Items属性后面的 按钮,弹出如图1.14所示的“项集合编辑器”对话框。

     
    (点击查看大图)图1.14  “项集合编辑器”对话框
    (3)在“项集合编辑器”对话框中,用户可以根据需要选择添加StatusLabel控件、ProgressBar控件、DropDownButton控件和SplitButton控件,单击【确定】按钮,即可完成状态栏的制作。
    展开全文
  • excel VBA windows 风格窗口菜单
  • WPF(MVVM)菜单栏小勾与窗口绑定

    千次阅读 2017-09-07 10:20:40
    窗口打开,前面菜单栏前面小勾(图标显示) 代码和我上一编差不多,只不过在菜单界面,也就是主界面中加了一个定时器,去定时查看窗口就否开启。 IsCheckable="True" 是否显示小勾 IsChecked="True"第一次开启时 ...

    窗口打开,前面菜单栏前面小勾(图标显示)

    代码和我上一编差不多,只不过在菜单界面,也就是主界面中加了一个定时器,去定时查看窗口就否开启。

    IsCheckable="True"   是否显示小勾     IsChecked="True"第一次开启时 小勾能显示 因为我的工具窗口,软件一开启就会打开。

      MainPageViewModel mainpageviewmodel;
            public MainPage()
            {
                InitializeComponent();
    
                //在这里窗体加载的时候不执行文本框赋值,
                //窗体上不会及时的把时间显示出来,而是等待了片刻才显示了出来
                ShowTime();    
                ShowTimer = new System.Windows.Threading.DispatcherTimer();
                ShowTimer.Tick += new EventHandler(ShowCurTimer);//起个Timer一直获取当前时间
                ShowTimer.Interval = new TimeSpan(0, 0, 0, 1, 0);
                ShowTimer.Start();
    
                mainpageviewmodel = new MainPageViewModel( );
                this.DataContext = mainpageviewmodel;
            }

    这里是主窗口中,我本来就是要显示时间的。所以直接在这个定时器中判断了

     //定时器时间显示
            public void ShowCurTimer(object sender, EventArgs e)
            {
                ShowTime();
                //加上一些判断 
                //菜单中 工具栏小勾显示问题
                if (mainpageviewmodel.toolflag == 1)
                {
                    tool.IsChecked = true;
                }
                else
                {
                    tool.IsChecked = false;
                }
    
            }
            //ShowTime方法
            private void ShowTime()
            {
                //获得年月日
                this.tbDateText.Text = DateTime.Now.ToString("yyyy/MM/dd");   //yyyy/MM/dd
                //获得时分秒
                this.tbTimeText.Text = DateTime.Now.ToString("HH:mm:ss");
            }
    当然,这里也能判断
    mainpageviewmodel.toolbar==null;
    toolbar窗口是不是为NULL;

     ///工具栏
            ///提升为公有方法,给热键(T)使用
            /// </summary>
            public  void ToolBarExecute(Window window)
            {
                if (toolbar == null)
                {
                    toolflag = 1;
                    //传参绑定
                    toolbar = new MyToolBar( this);
                    //固定窗口位置
                    toolbar.WindowStartupLocation = WindowStartupLocation.Manual;
                    toolbar.Left = 0;
                    toolbar.Top = 80;
                    toolbar.Owner = window;
                    toolbar.Show();
                    win.Add(toolbar);
                }
                else if(toolbar !=null )
                {
                    //再次点击关闭窗口
                    toolbar.Close();
                    toolbar = null;
                    toolflag = 0;
                    win.Remove(toolbar);
                }
    这里的win是个
      //关闭窗口链表
       List<Window> win=new List<Window> ();

    主要是切换用户时  打开的窗口没关闭BUG,这时

     public void LogoutCommandExecute(Window window)
            {
                /*打开登入窗口*/
                Shell shell = new Shell();
                shell.Show();
    
                /*关闭当前窗口*/
                if (window != null)
                {
                    //window.Close();
                    //重写后 不能直接调用,                
                    //注销前 关闭子窗口 当窗口过多可以用数组或链表
                    if (p_rail != null)
                    {
                        p_rail.Close();
                        p_rail = null;
                    }
                    //链表关闭
                    foreach (Window s in win)
                    {
                        s.Close();
                    }
                    //主窗口休眠
                    window.Hide();
                    window = null;
                }

    这里Sell为登入界面。。。

    这里我重写了主窗口的关闭函数  主要是为了能在关闭时弹窗提示时否关闭程序。。。。


    展开全文
  • window.open打开窗口时要使窗口去掉菜单栏、工具栏、标题栏,达到窗口最大化,可以采用下面的方法: js 代码 ///window.open(document.location, '窗体名称', 'fullscreen');//这句打开并去掉所有栏, //连系统任务...

    window.open打开窗口时要使窗口去掉菜单栏、工具栏、标题栏,达到窗口最大化,可以采用下面的方法:
              js 代码

    ///window.open(document.location, '窗体名称', 'fullscreen');//这句打开并去掉所有栏,
    //连系统任务栏都盖住
    //window.open(document.location, '窗体名称', '');//只是打开一个新窗口   
    //window.open(document.location,'窗体名称','fullscreen,scrollbars');//带滚动条   
    window.open(document.location,'maxwindow','toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,status=no');
    //最简单是这样window.open(document.location,"_blank","a");
    //这句可以打开新的窗口并且可以调节各个栏的可见性
    //toolbar工具栏,location地址栏,directories链接栏,menubar菜单栏,scrollbars滚动条,resizable可否改变大小,status状态栏
    opener=null;//没有这句,关闭时有提示,ie5.5以上有效
    //window.open('窗体名称');// 关闭制定窗口  
    window.close();//关闭当前窗口  


    打开新窗口传递参数处理          第一种方法:
    代码
    <script language="javascript">  
    ///window.open(document.location, 'maxwindow', 'fullscreen');   
    //window.open(document.location, 'maxwindow', '');   
    //window.open(document.location,'maxwindow','fullscreen,scrollbars')   
    window.open(document.location+‘?username=zhongguo’,'maxwindow','toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,status=no');   
    opener=null;//没有这句,关闭时有提示,ie5.5以上有效   
    window.close();   
    </script>  

    <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
    阅读(3041) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
    展开全文
  • 窗口通常是应用程序启动后显示的第一个窗口,是与用户进行长时间交互的顶层窗口,因为绝大的功能是由主窗口进行提供,还有部分功能由对话框提供。 在Qt中直接支持主窗口的概念,通过QMainWindow类来提供主窗口...

    什么是主窗口?

    主窗口通常是应用程序启动后显示的第一个窗口,是与用户进行长时间交互的顶层窗口,因为绝大的功能都是由主窗口进行提供,还有部分功能由对话框提供。
    在Qt中直接支持主窗口的概念,QMainWindow类是所有主窗口的基类,它是继承自QWidget的容器类型组件,是一个顶层组件,只能以窗口的形式存在,不能作为其他组件的子组件。
    这里写图片描述

    QMainWindow类作为窗口类的基类,那么它里面又封装了些什么,或者说基本的主窗口都由哪些部件构成。
    这里写图片描述
    把图片样式一放上来仿佛就明白了什么是主窗口了,就是常用的应用程序的主界面了,Windows开发者最常见的就是VS开发环境了,主体窗口包含最顶部的菜单栏,下一层的快捷工具栏、使用最多的中心组件、停靠组件(比如VS中的解决方案窗口、调用堆栈窗口等摆放在中心组件周围的组件)以及最底部的状态栏。
    这里写图片描述
    QMainWindow布局中带有菜单栏(QMenuBar),而菜单栏又包含多个菜单,每个菜单里有一个下拉菜单组(QMenu),一个下拉菜单组中包含多个菜单项(QAction)。通过层层嵌套的方式就构成了菜单栏。

    那么如何在Qt中创建菜单呢?

    QMenuBar *mb = menuBar();//菜单栏被封装在主窗口中,如果建立了主窗口,就可以直接调用成员函数获得菜单栏对象
    QMenu *menu = new QMenu("File(&F)");//创建一个下拉菜单组
    QAction *action = new QAction("Print", NULL);//创建一个菜单项,第二个参数是指定父组件
    menu->addAction(action);//往下拉菜单组中添加菜单项
    mb->addMenu(menu);//往菜单栏中添加菜单

    两个小技巧

    为菜单项设置快捷键

    action->setShortcut(QKeySequence(KEY));

    setshortcut函数是QAction类里面的函数
    目的是为菜单项设置快捷键。
    快捷键通过QKeySequence类对象指定。
    KEY表示键值常量,属于Qt内置定义的一系列整型常量

    为下拉菜单组设置分割线

     menu->addSeparator();

    addSeparator函数是QMenu类里面的函数
    目的是分隔菜单项。

    创建主窗口和菜单栏

    编写自定义的创建QAction对象函数,附带设置快捷键功能

    //action为引用,引用对象为指针
    //key为快捷键的键值
    void makeAction(QAction*& action, QString text, int key)
    {
        action = new QAction(text, NULL);
        action->setShortcut(QKeySequence(key));//设置快捷键
    }

    创建一个下拉菜单组

    void initMenu(QMenuBar* mb)//传入参数是菜单栏对象
    {
        QMenu* menu = new QMenu("File(&F)");
        QAction* action = NULL;
    
        makeAction(action, "New(N)", Qt::CTRL + Qt::Key_N);
        menu->addAction(action);    // add Action item to Menu
    
        menu->addSeparator();
    
        makeAction(action, "Exit(X)", Qt::CTRL + Qt::Key_X);
        menu->addAction(action);    // add Action item to Menu
    
        mb->addMenu(menu);    // add Menu to application MenuBar
    }

    在主窗口的菜单栏中使用下拉菜单组

    //MainWindow类继承自QMainWindow类
    MainWindow::MainWindow()
    {
        QMenuBar* mb = menuBar();
        initMenu(mb);
    }

    这里写图片描述
    菜单组中的菜单项之间是带有分割线的。

    根据上述方式可以对主窗口添加其他的菜单。
    这里写图片描述

    小结

    • 主窗口是与用户进行长时间交互的顶层窗口
    • 主窗口是应用程序启动后显示的第一个窗口
    • QMainWindow是Qt中主窗口的基类
    • QMainWindow是一种容器类型的组件
    • QMainWindow封装了状态栏、工具栏、状态栏等组件
    展开全文
  • windows mobile的屏幕下方的菜单栏的输入如何屏蔽掉? 源码入下: public class CntrolHelper { //需要using System.Runtime.InteropServices; [DllImport("coredll.dll")] public static extern b
  • cocos2dx 3.12 Windows模拟器显示菜单栏

    千次阅读 2016-08-28 23:40:41
    最近用了最新版本的cocos2dx 3.12,发觉运行windows模拟器时,窗口标题栏下方的菜单栏不见了。记得原先通过菜单栏可以快速切换不同分辨率,决定想办法把菜单栏显示出来。 1.把ide-support/CodeIDESupport.h下的宏CC...
  • 对于Windows,始终粘在顶部菜单栏上,类似于MacOS Finder菜单栏。 特征: 检测窗口何时获得焦点 显示窗口的标题 显示窗口菜单栏 单击菜单项时,打开菜单的下拉子菜单 执照 Copyright 2015 - 2020 Andrei ...
  • matlab 2017a窗口菜单栏中文乱码

    千次阅读 2019-05-08 14:12:44
    对于我来说,最近更新过mac系统优化下的雅黑字体,所有其他的软件显示没有问题,唯独matlab显示乱码,恢复的方法也很简单,直接将电脑使用U盘PE系统,将c:/windows/Fonts目录下的msyh字体恢复...
  • 使用过程中,窗口标题字体不断变小,直至缩成一个小点。由于正在使用MAXTHON2测试版,以为是MT2的新版界面导致的问题。上网搜索,原来很多人遇到了这个问题。错怪maxthon了:)有些网友说不装SP1补丁时正常,是S
  • windows 设置窗口菜单的字体

    千次阅读 2016-09-07 18:04:49
    文章参考 http://zhidao.baidu.com/link?url=8WUeWvsyv_GPsuDmCTrr5lvgaCuZLih6mlDzLpZRcPgwloes01NjQ6llOobdFybpBzZf0-3HaKEzoV6Njf4H6cT8Z3UtvLCA_vDr67sUfqi ...2、“窗口颜色和外观” -----> "高级外观设
  • 通过菜单栏,或工具栏,或按钮,实现图片框中图像的显示和隐藏。 1. 更改窗体大小 由于添加的控件比较多,默认的窗体300*300肯定不够用的,需要将窗体大小调大。现更改为800*600。 打开TriPaint.cs[设计]文件,...
  • Delphi主窗口任务栏菜单的问题

    千次阅读 2010-02-23 14:33:00
    Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口窗口,这就导致创始的主窗口在任务的系统菜单只有三项,只要在主窗口的Create事件中将系统菜单用Application的...
  • 菜单栏—>菜单项—>模态窗口/非模态窗口 工具栏 状态栏 核心控件 浮动窗口 二 .操作步骤: 1.新建项目,在ui界面添加textEdit控件(显示内容) 2.包含头文件 #include "QPushButton" #include ...
  • 1.隐藏任务:CWnd* pWndTask = FindWindow(_T("HHTaskBar"), NULL );if( pWndTask ){ pWndTask->ShowWindow(SW_HIDE);}CRectrc;SetRect( &rc, 0, 0, GetSystemMetrics( SM_CXSCREEN ), GetSys
  • Windows获取状态窗口及图标

    千次阅读 2018-12-01 00:27:04
    实现代码 目录 实现代码 说明 参数:GW_OWNER  获取图标的方法 ...//获取到一个窗口就会调用一次 BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { /* * Remarks The EnumWindows funct...
  • Windows窗口

    千次阅读 2013-10-31 22:28:59
    Windows窗口       1. 窗口种类   重叠(Overlapped)窗口: 通常用于建立应用程序主窗口。事实上,有时也叫做“主”窗口或者“框架” 窗口。 WS_OVERLAPPED = WS_TILED 包含标题,无系统菜单(最小、大化,关闭,...
  • python操作Windows窗口程序

    万次阅读 多人点赞 2018-03-16 17:23:09
    场景 定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要...其次,为了方面查找目标窗口的句柄,可以下载一个微软自家的Spy++,这玩意儿满大街是。了它,还能很方便的查看窗体的消息。 句柄是...
  • c#MDI窗体打开子窗体,一般都会出现子窗体的标题栏,一般方法是合并在MDI菜单栏中,该方法无需借助MDI菜单栏,直接隐藏子窗体标题栏
  • Windows运行机理——窗口和句柄

    千次阅读 2018-03-17 14:02:46
    Windows运行机理这系列文章是来至于《零基础学Qt4编程》——吴迪,个人觉得写得很好,所以进行了搬运和个人加工1. 窗口窗口Windows应用程序中一个非常重要的...一个应用程序窗口通常包含标题栏,菜单栏,系统...
  • (本文尝试通过一些简单的实验,来分析Windows窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++、Windows编程及MFC经验,还得一定动手能力。文中可能出现一些术语不统一的现象,比如“子窗口”,...
  • Eclipse菜单栏详解

    千次阅读 2018-03-01 16:48:42
    「File」菜单这个菜单可以建立、储存、关闭、打印、汇入及汇出工作台资源以及结束工作台本身。名称功能New(新建)建立Java元素或新资源。配置哪些元素会显示在「Window」→「Preferences」的子菜单中。在Java视景中,...
  • 因为菜单栏打不开关机这个 也就是开始按钮 这个按钮怎么也打不开,怎么点击也不行!!! 时候桌面文件夹还可以点击 这次桌面连文件新建不了!查阅了太多资料,发现未必管用 我的解决办法 1. 鼠标放在最...
  • 打开影响程序 (WindowsExplorer 或 InternetExplorer), 验证您在菜单栏 / 工具栏已还原。 如果没有, 关闭所有打开 WindowsExplorer 和 Internet Explorer Windows 并重复上述步骤。 然后找到 ShellBrowser 子项、...
  • 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境(Runtime Environments) ——添加(Add),添加Tomcat服务器。对应安装的Tomcat版本选择Apache Tomcat v6.0。下一步通过“浏览...
  • 1.Ubuntu系统菜单栏隐藏Qt界面 在Ubnntu系统下全屏时点击另外一个窗口按钮或出现对话框时,最左边的菜单栏也会同时出现,很是烦人,影响美感。Method:系统设置-&gt;外观-&gt;行为 打开自动隐藏器,将显示...
  • 几乎所有的手机应用程序都有底部菜单栏这样的控件,主要是因为手机的屏幕大小有限,这样一种底部菜单栏实现起来的效果可以很方便的为用户切换自己所需要的界面,具有更强的交互性。底部菜单栏的样式和效果也是...
  • Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.12 初稿 目录 文章目录Qt菜单栏、工具栏、状态栏介绍及工具...
  • tkinter制作菜单栏

    千次阅读 2020-03-21 08:53:07
    原文地址 分类目录——tkinter ...定义一个菜单条,或横条(顶部的菜单横条),或竖条(点击‘文件’弹出的竖条),或额外的子条(点击某个选项后展开的条),如下图中的三个红色方框框住的,可以被认为是一个M...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,975
精华内容 43,990
关键字:

windows所有窗口都有菜单栏