精华内容
下载资源
问答
  • 菜单栏

    千次阅读 2014-04-30 15:44:30
    通过对菜单栏的访问,用户可以快速进入需要的界面,因此,在开发Windows应用程序时,菜单仍然是组织大量选项最常用的方法。 一、菜单栏的用途 菜单栏是可视化编程的重要组成部分,可以方便地给命令分组并访问这些...

        菜单通常用来显示程序是各项功能,以方便用户选择执行。通过对菜单栏的访问,用户可以快速进入需要的界面,因此,在开发Windows应用程序时,菜单仍然是组织大量选项最常用的方法。

     

    一、菜单栏的用途

        菜单栏是可视化编程的重要组成部分,可以方便地给命令分组并访问这些命令。制作菜单栏所使用的控件为ContextMenuStrip和MenuStrip控件。菜单栏通常分为下拉式菜单和弹出式菜单两种。

     

    1、下拉式菜单

        下拉式菜单主要由菜单栏、主菜单、子菜单和快捷键等组成。

    ●菜单栏:菜单栏通常都紧挨着窗体的标题栏,它由一个或多个菜单标题构成,菜单栏中包含菜单的所有内容。

    ●主菜单:窗体运行时始终显示的菜单,它通常包含一个以上的菜单项。

    ●子菜单:主菜单下面的菜单统称为子菜单。

    ●快捷键:为了方便程序的操作,可以为每个菜单项设置一个快捷键。用户可以直接通过快捷键执行相应的功能。

     

    2、弹出式菜单

        弹出式菜单,也称浮动菜单,其位置是由鼠标所在的位置决定的。弹出式菜单的结构与下拉式菜单基本相同,区别是该菜单不是固定在窗体上面,而是通过单击鼠标右键来显示的。

     

    二.关于菜单栏的说明

     

    1、主菜单MenuStrip

        添加MenuStrip控件后,在窗体Form1的上部会显示一个三角箭头,单击它后,可以从中选择MenuItem(子菜单项)、ComboBox(组合框)、TextBox(文本框)。

    菜单栏可以添加的复合控件说明

    控件名

    说明

    MenuItem

    子菜单控件,与选中菜单项后在右侧添加的子菜单相同

    ComboBox

    内嵌菜单控件,与下拉列表控件相同,在菜单中嵌入一个内部的下拉列表

    Separator

    分隔线控件,在当前位置添加一个水平分隔线

    TextBox

    输入文本域控件,允许用户输入文本信息

     

    MenuItem的部分属性及其说明

    属性名

    说明

    Enabled

    指示是否已启用该菜单项,如果已启用则为true,否则为false。默认为true

    Name

    获取或设置该菜单项的名称,通过它可以访问菜单项的所有属性和方法

    Text

    获取或设置菜单项上显示的标题。当使用Text属性为菜单项指定标题时,还可以在字符前加一个“&”号来指定热键。

    Checked

    获取或设置一个值,该值指示选中标记是否出现在菜单项文本的旁边

    DefaultItem

    用来获取或设置一个值,该值指示菜单项是否为默认菜单项。值为true,时默认菜单项,且默认菜单项以粗体的形式显示。

    ShortcutKeys

    获取或设置与菜单项ToolStripMenuItem关联的快捷键

    ShowShortcutKeys

    获取或设置一个值,该值指示与ToolStripMenuItem关联的快捷键是否显示在ToolStripMenuItem旁边

    MdiList

    用来获取或设置一个值,通过该值指示是否用在关联窗体内显示的多文档界面(MDI)子窗口列表来填充菜单项。若要在该菜单项中显示MDI子窗口列表,则设置该属性值为true,否则设置该属性的值为false。默认值为false

    MidWindowListItem

    获取或设置用于显示MDI子窗体列表的ToolStripMenuItem

    IsMdiContainer

    获取或设置是否为MenuStrip显示工具提示

    CanOverFLow

    获取或设置MenuStrip是否支持溢出显示功能

    Visible

    指示是否显示该菜单项

    AllowItemReorder

    当程序运行时,按下<Alt>键是否允许改变各菜单项的左右排列顺序。默认为false。当设置为true时,按下<Alt>键的同时可以用鼠标拖动各菜单项以调整其在菜单栏上的左右位置。

    Dock

    指示菜单栏在窗体中出现的位置,默认位置为Top

    GripStyle

    是否显示菜单栏的指示符,即纵向排列的多个凹点,默认值为Hidden。当更改属性为Visible时,显示位置由GripMargin属性指定

    RadioCheck

    用来获取或设置一个值,通过该值指示选中的菜单项的左边是显示单选按钮还是选中标记。值为true时将显示单选按钮标记,值为false时显示选中标记

     

    MenuItem菜单项的常用事件

    事件名

    说明

    Click

    单击菜单项时触发

    DropDownClosed

    关闭菜单项的子菜单时触发的操作

    DropDownItemClicked

    单击菜单项的子菜单中任何一项时触发的操作

    DropDownOpend

    菜单项的子菜单打开之后触发的操作

    DropDownOpening

    打开菜单项的子菜单时触发的操作

    获取更多属性和事件的内容见:

    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.menustrip.aspx

     

    2、快捷菜单ContextMenuStrip

        ContextMenuStrip控件的功能是制作右键快捷菜单。注意:该控件是用于为其他控件服务的,不能单独使用。

    当向窗体中添加ContextMenuStrip控件后,会在窗体顶端出现与MenuStrip控件相似的菜单栏,在窗体的上部会显示一个三角箭头,单击它后,可以从中选择MenuItem(子菜单项)、ComboBox(组合框)、TextBox(文本框)。所以也就不能在菜单栏上添加任何菜单项,只能在子菜单中编辑各菜单项。

    为了能使用快捷菜单,还需要在窗体或相关控件中添加创建好的快捷菜单。首先选择窗体或相关控件,在其属性窗口中选择【ContextMenuStrip】属性,单击右侧的下拉箭头,从中选择要添加的快捷菜单,这样建立关联后,才可以在程序运行时用鼠标右键单击对应控件,弹出快捷菜单。

    快捷菜单常用的属性及说明

    属性名

    说明

    Items

    用于编辑快捷菜单上的各菜单项。其编辑方式与MenuStrip控件的菜单项编辑相似

    Opacity

    设置快捷菜单的透明度。取值范围为0%~100%,默认值为100%,即不透明。该属性只能在代码中才能看到

     

     

     

    快捷菜单常用的属性及说明

    事件名

    说明

    ItemClicked

    快捷菜单中的任何一个菜单项被单击时触发的操作

    Opening

    快捷菜单打开时触发的操作

    获取更多快捷菜单的信息见:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.contextmenustrip(v=vs.110).aspx

     

    展开全文
  • MFC菜单栏

    2018-11-29 13:26:53
    关于菜单栏, 几点说明 a)解释 1)所谓菜单栏 :就类似于单文档运行后:文件、编辑等等合成一体这部分称为菜单栏 2)子菜单:就是单独的文件 编辑 等 3)菜单项:就是文件下的打开、保存 这些操作。 b)操作 ...

    关于菜单栏,

    几点说明

    a)解释

    1)所谓菜单栏 :就类似于单文档运行后:文件、编辑等等合成一体这部分称为菜单栏

    2)子菜单:就是单独的文件   编辑  等

    3)菜单项:就是文件下的打开、保存 这些操作。

    b)操作

    1)所有子菜单和菜单项都可以通过索引0~n来代表第几个子菜单第几个菜单项/或者通过ID也可以。

    2)对于菜单项中的分隔符记得也算一个索引。

    几个常用的函数

    c)关于消息

    1)因为mfc中分为3大类消息:标准windows消息,以WM开头(除WM_COMMAND),是窗口CWND派生出来类可以执行。

    命令消息:WM_COMMAND相应菜单栏、工具栏、加速键,由CCMDTAARGET派生的类可以执行此消息,因此比如app类、文档类可以执行这些消息。而这两个类执行不了标准windows消息。

    TIPs

    1)一般修改或者增加ID资源时,用IDM_xx表示menu菜单栏、IDI_xx表示icon的ID。

    2)  自己增加ID后一般时灰色的图标,可以通过类向导增加自己想要处理的消息,增加后会变成可选的。

    3)如果想把菜单项某个命令和工具栏的某个图标绑定关联,可以设置为一样的ID

    4)浏览器功能就是在右边工具栏增加一部分

    5)默认单文档菜单栏是不好修改的,最好想换的话自己重新增加一个菜单栏即可

     

     

     

     

     

     

    展开全文
  • Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.12 初稿 目录 文章目录Qt菜单栏、工具栏、状态栏介绍及工具...

    Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式


    版本说明

    版本 作者 日期 备注
    0.1 loon 2018.11.12 初稿

    目录

    一、需求和目的

    基本上所有的编辑器都支持工具栏快捷功能的动态增删,即我们在菜单栏上打钩就可以在工具栏上看到相应功能的快捷按钮,取消打钩则在工具栏上就移除了该功能的快捷按钮,那么Qt如何实现这个功能呐,我们本次总结的目的就是记录我解决这个问题的思路和方法。

    二、菜单栏、工具栏、状态栏

    对于这三个概念先做一个简单的了解,我们直接上一个source insight的图,来说一下什么是菜单栏、工具栏和状态栏:

    在这里插入图片描述

    最上面的可以下拉的菜单栏,然后是快捷点击的工具栏,最下面的是显示某些状态信息的状态栏。菜单栏的功能一般来说就是最全的,工具栏的内容可以在菜单栏中进行设置以在有限的位置显示出我们需要的常用的一些功能的快捷点击按钮(此外,还有快捷键,这里就不展开了)。

    三、Qt菜单栏、工具栏和状态栏的基本操作说明

    打开Qt助手,分别搜索menuBar、toolBar、statusBar,找到对应的QMenuBar、QToolBar、QStatusBar的类说明进行了解。基础的应用了解一下其方法和属性(公有的、私有的、受保护的都了解一下)、槽、信号等,再了解一些如何使用的 详细描述以及一些注意事项就可以很快上手了。

    在这里插入图片描述

    1、QMenuBar:

    见名知意一下,使用的时候再具体去看一下,基本没什么问题,下面的是公有方法,还有一些其他的内容在助手上都很详细,根据需要去了解一下即可。

    函数 说明
    QMenuBar(QWidget *parent = Q_NULLPTR)
    ~QMenuBar()
    QAction *actionAt(const QPoint &pt) const
    QRect actionGeometry(QAction *act) const
    QAction *activeAction() const
    QAction *addAction(const QString &text)
    QAction *addAction(const QString &text, const QObject *receiver, const char *member)
    QAction *addMenu(QMenu *menu)
    QMenu *addMenu(const QString &title)
    QMenu *addMenu(const QIcon &icon, const QString &title)
    QAction *addSeparator()
    void clear()
    QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const
    QAction *defaultAction() const
    QAction *insertMenu(QAction *before, QMenu *menu)
    QAction *insertSeparator(QAction *before)
    bool isDefaultUp() const
    bool isNativeMenuBar() const
    void setActiveAction(QAction *act)
    void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
    void setDefaultAction(QAction *act)
    void setDefaultUp(bool )
    void setNativeMenuBar(bool nativeMenuBar)
    NSMenu *toNSMenu()

    详细描述:

    QMenuBar类提供了一个水平菜单栏。

    菜单栏由下拉菜单项列表组成。使用addMenu()添加菜单项。例如,假设menubar是一个指向QMenuBar的指针,fileMenu是一个指向QMenu的指针,那么下面的语句将菜单插入到菜单栏中:

    menuBar->addMenu(fileMenu);
    

    菜单项文本中的&号设置Alt+F作为此菜单的快捷方式。(你可以使用“&&”在菜单栏中得到一个真正的&符号。)

    没有必要设置菜单栏。它自动将自己的几何图形设置到父小部件的顶部,并在父小部件调整大小时适当地修改它。

    使用

    在大多数主窗口样式应用程序中,您将使用QMainWindow中提供的menuBar()函数,将qmenu添加到菜单栏中,并将QActions添加到弹出菜单中。

    示例(来自菜单示例):

    fileMenu = menuBar()->addMenu(tr(“文件”));
    fileMenu->addAction(newAct);
    

    可以使用removeAction()方法删除菜单项。

    可以使用QWidgetAction类的实例将小部件添加到菜单中。然后,可以按照通常的方式将这些操作插入到菜单中;有关详细信息,请参阅QMenu文档。

    平台依赖的外观和感觉

    不同的平台对菜单栏的外观和用户交互时的行为有不同的要求。例如,Windows系统经常被配置为只在按下Alt键时才显示菜单栏中显示键盘快捷键的下划线字符助记符。

    其它还有一些在MAC和Win CE上使用的一些说明,这里就不多说了。

    2、QToolBar

    详细描述:

    QToolBar类提供一个包含一组控件的可移动面板。

    使用addAction()或insertAction()通过添加操作添加工具栏按钮。可以使用addSeparator()或insertSeparator()分隔按钮组。如果工具栏按钮不合适,可以使用addWidget()或insertWidget()插入小部件。合适的小部件的例子有QSpinBox、QDoubleSpinBox和QComboBox。当按下工具栏按钮时,它会发出actiontrigger()信号。

    工具栏可以固定在特定区域(例如窗口顶部),也可以在工具栏区域之间移动;请参阅setMovable()、isMovable()、allowedAreas()和isAreaAllowed()。

    当工具栏的大小调整到太小而不能显示它所包含的所有项目时,扩展按钮将作为工具栏中的最后一个项目出现。按下扩展按钮将弹出一个菜单,其中包含当前不在工具栏中的项目。

    如果QToolBar不是QMainWindow的子窗口,它就失去了使用addWidget()在工具栏中添加小部件填充扩展弹出框的能力。请使用继承QWidgetAction并实现QWidgetAction::createWidget()创建的小部件操作。

    请参阅QToolButton、QMenu、QAction和应用程序示例。

    可以看到工具栏还可以插入QSpinBox、QDoubleSpinBox和QComboBox小部件呐,感兴趣的可以试试,此外,点击工具栏按钮时发出的是actiontrigger信号。

    3、QStatusBar

    QStatusBar类提供了一个适合显示状态信息的水平条。

    每个状态指示器分为以下三类:

    • Temporary(暂时的)-暂时占据状态栏的大部分。例如,用于解释工具提示文本或菜单项。
    • Normal(一般的) -占据状态栏的一部分,可能被临时消息隐藏。例如,用于在字处理器中显示页和行号。
    • Permanent(永久的)-永远不会隐藏。例如,一些应用程序将大写锁定指示器放在状态栏中,用于重要的模式指示。

    QStatusBar可以显示所有三种类型的指示器。

    通常,状态栏功能的请求与QMainWindow对象相关。QMainWindow提供了一个主应用程序窗口,其中包含一个菜单栏、工具栏、停靠小部件和一个围绕大型中央小部件的状态栏。可以使用QMainWindow::statusBar()函数检索状态栏,并使用QMainWindow::setStatusBar()函数替换状态栏。

    使用showMessage()显示临时消息:

    void MainWindow::createStatusBar()
    {
    	statusBar()->showMessage(tr(“准备好”));
    }
    

    要删除临时消息,请使用clearMessage()槽函数,或在调用showMessage()时设置时间限制。例如:

    void MainWindow::print ()
    {
    #ifndef QT_NO_PRINTDIALOG
    	QTextDocument *document = textEdit->document();
    	QPrinter printer;
    
    	QPrintDialog dlg(&printer, this);
    	if (dlg.exec() != QDialog::Accepted){
    		return;
    	}
    
    	document->print(&printer);
    	statusBar()->showMessage(tr(“Reday”),2000);
    # endif
    }
    

    使用currentMessage()函数来检索当前显示的临时消息。QStatusBar类还提供了messageChanged()信号,当临时状态消息发生更改时发出该信号。

    通过创建一个小部件(QLabel、QProgressBar甚至QToolButton),然后使用addWidget()或addPermanentWidget()函数将其添加到状态栏中,可以显示普通消息和永久消息。使用removeWidget()函数从状态栏删除此类消息。

    statusBar()->addWidget(new MyReadWriteIndication);
    

    默认情况下,QStatusBar在右下角提供一个QSizeGrip。您可以使用setSizeGripEnabled()函数禁用它。使用isSizeGripEnabled()函数确定大小手柄的当前状态。

    参见QMainWindow, QStatusTipEvent, GUI设计手册:状态栏和应用实例。

    由此可以看出状态栏一般都分成三份呐(暂时、一般、永久)。此外,还可以插入小部件别忘记用。

    四、工具栏功能在菜单栏进行动态配置的实现思路

    1、思路

    根据上面的描述,我们可以看到一般就是用addaction和insertaction添加action的,一般我们用Qt设计师设计完后action都已经有了,所以addaction不是很好用了,我这里是用insertaction,但是insert要指定放在哪个action前面,这就麻烦了,我们动态添加的时候不知道前一个action是什么,所以这里就用到了一个小技巧: 在最后设置占位action(占位的action名字设置为|即可),那么我们insertaction时就插入到对应的占位action前面就可以了,即设置空白的action进行占位。 移除就不用多说了,直接removeaction。

    使action可选的方式就是设置action为checked即可选的,然后就可以设置enabled来(true、false)显示√了。

    定义工具栏的显示与否这里就不说了,很简单,使用其自带的槽函数结合一个action按钮就可以了。

    2、结果展示

    这里主要演示工具栏的action动态增删,至于状态栏菜单栏的扩展这里就不演示了(图片大小不能超过5M哈)。

    在这里插入图片描述

    五、最后

    学习如何使用Qt创建菜单栏、工具栏和状态栏很简单,按部就班即可,但是如何灵活的运用这些知识来解决实际问题往往需要一些技巧,这些技巧往往就是我们要总结和回顾的经验。

    展开全文
  • 模块五 菜单栏、工具栏、状态栏

    千次阅读 2010-09-29 17:30:00
    Visual Basic .NET 教程模块五菜单栏、工具栏、状态栏 能力目标:能够设计、创建和使用菜单、工具栏和状态栏 知识目标:掌握菜单控件、工具栏控件和状态栏控件常用的属性、方法和事件   ...

    Visual Basic .NET 教程

    模块五 菜单栏、工具栏、状态栏

    能力目标:能够设计、创建和使用菜单、工具栏和状态栏

    知识目标:掌握菜单控件、工具栏控件和状态栏控件常用的属性、方法和事件

     

    一个典型的Windows应用程序必然包含菜单、工具栏和状态栏,用户通过单击菜单中的菜单项,来实现应用程序所提供的功能,用户也可以通过单击工具栏上的工具按钮,来实现应用程序中的常用的主要功能,状态栏主要用于显示应用程序当前的状态等信息。菜单、工具栏和状态栏的使用,可以使应用程序的界面友好,方便用户的使用。

     

    项目一 菜单制作

    5-1设计制作一个如图所示的下拉菜单应用程序

     

     

    图一文件菜单

     

     

     

     

     

     

     

     

     

     

     

    设计步骤:

    1.新建项目vbnet5-1

    单击“文件”菜单,在出现的下位菜单中,单击“新建”,再单击“新建项目”,新建一个项目。项目存放在“H:/VB.net”下,项目名取“VBnet5-1”。项目类型选择“Visual Basic项目”、模板选择“Windows应用程序”,项目名与位置按以上要求改写,其他选默认值,单击“确定”按钮。

     

    图三 菜单控件

    2.添加菜单menustrip控件到窗体

    在工具箱中找到菜单控件menustrip如图一所示,双击menustrip控件就把此控件添加到窗体上。用同样的方法把richboxOpenfiledialogfontdialogcolordialogsavefiledialogprintdialog控件添加到窗体上。

    3.在菜单中添加菜单项

    在窗体中单击MainMenu控件对象,菜单对象显示内容为“请在此输入”。单击文本“请在此输入”,输入菜单名称。在已输入菜单的下方和右方出现“请在此输入”菜单框,按设计要求完成菜单的设计如图一、图二所示。

    4.设置菜单项的快捷键:单击“打开”菜单项,在“打开”菜单项的属性窗口找到ShortCutKeys属性,单击 ,弹出快捷方式设置对话框,如图所示。

     

    按要求设置好快捷键。

    5. 输入各菜单项的代码

    双击已建立的菜单项,进入相关菜单项的代码段,输入完成该项菜单项功能的代码。

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

            FontDialog1.Font = RichTextBox1.Font

            FontDialog1.ShowColor = True

            If FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

                RichTextBox1.Font = FontDialog1.Font

            End If

        End Sub

    Private Sub 退出QToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出QToolStripMenuItem.Click

            Me.Close()

        End Sub

        Dim filename As String

        Private Sub 打开ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打开ToolStripMenuItem.Click

            Try

                OpenFileDialog1.Filter = "文本文(*.txt)|*.txt|Word(*.doc)|*.doc|batch files(*.bat)|*.bat|所有文件(*.*)|*.*"

                '显示“打开”对话框前先判断返回值是否为“OK

                If OpenFileDialog1.ShowDialog = DialogResult.OK Then

                    '如果是OK则打开ss对话框,并把选中的文本文件放入richtextbox

                    RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

                    filename = OpenFileDialog1.FileName

                End If

            Catch ex As Exception

                MsgBox("读取文件失败")

            End Try

        End Sub

        Private Sub 窗体总在最前面ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 窗体总在最前面ToolStripMenuItem.Click

            If 窗体总在最前面ToolStripMenuItem.Checked = False Then

                窗体总在最前面ToolStripMenuItem.Checked = True

                Me.TopMost = True

            Else

                窗体总在最前面ToolStripMenuItem.Checked = False

                Me.TopMost = False

            End If

        End Sub

        Private Sub 另存为ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 另存为ToolStripMenuItem.Click

     

            Dim filenum As Integer

            '设定文件保存对话框的属性

            With SaveFileDialog1

                .DefaultExt = "txt"

                .Filter = "Text files ( *.txt )|*.txt"

                .FilterIndex = 1

                .InitialDirectory = "C:/"

                .OverwritePrompt = True

                .Title = "文件保存对话框"

            End With

            '以下是把文本框中的文字另保存为文本文件

            If SaveFileDialog1.ShowDialog() = DialogResult.OK Then

                filename = SaveFileDialog1.FileName

                filenum = FreeFile()

                FileOpen(filenum, filename, OpenMode.Output)

                Write(filenum, RichTextBox1.Text)

                FileClose(filenum)

            End If

        End Sub

        Private Sub 保存ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存ToolStripMenuItem.Click

            Dim filenum As Integer

            Try

                filenum = FreeFile()

                FileOpen(filenum, filename, OpenMode.Output)

                Write(filenum, RichTextBox1.Text)

                FileClose(filenum)

            Catch ex As Exception

                MsgBox("写入失败")

            End Try

        End Sub

        Private Sub 打印ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打印ToolStripMenuItem1.Click

            Dim printdocument1 As New System.Drawing.Printing.PrintDocument

            If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

                printdocument1.Print()

            End If

        End Sub

        Private Sub 新建ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新建ToolStripMenuItem.Click

            RichTextBox1.Text = ""

        End Sub

        Private Sub 字体设置ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字体设置ToolStripMenuItem.Click

            If FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

                RichTextBox1.SelectionFont = FontDialog1.Font

            End If

        End Sub

        Private Sub 颜色设置ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 颜色设置ToolStripMenuItem.Click

            If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

                RichTextBox1.SelectionColor = ColorDialog1.Color

            End If

        End Sub

        Private Sub 增加窗体的尺寸ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 增加窗体的尺寸ToolStripMenuItem.Click

            'Me.Size = New Size(Me.Size.Width + 10, Me.Size.Height + 10)

            Me.Width += 10

            Me.Height += 10

        End Sub

        Private Sub 减少窗体的尺寸ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 减少窗体的尺寸ToolStripMenuItem.Click

            Me.Width += 10

            Me.Height += 10

        End Sub

        Private Sub 增加窗体的透明度ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 增加窗体的透明度ToolStripMenuItem.Click

            Me.Opacity -= 0.05

        End Sub

        Private Sub 减少窗体的透明度ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 减少窗体的透明度ToolStripMenuItem.Click

            Me.Opacity += 0.05

    End Sub

    支撑知识:

    菜单是Windows界面的重要组成部分,VB.net菜单形式丰富,功能强大,菜单给庞杂的命令进行分组,使用户能够更方便、更直观地访问这些命令。同时菜单还能使自己设计的应用程序看起来更专业化,更美观大方。

    菜单有下拉式菜单和弹出式菜单两种类型。

    1-1.下拉式菜单组成

    1)下拉式菜单由主菜单、主菜单项、子菜单等组成。
    2)子菜单可分为一级子菜单、二级子菜单直到五级子菜单。
    3)每级子菜单由菜单项、快捷键、分隔条、子菜单提示符等组成。

    主菜单项

    子菜单提示符

    一级菜单

    对话提示符

    热键(AIt+O)

    快捷键(Ctrl+Q)

    快捷键(Ctrl+Q)

     

    快捷键(Ctrl+Q)

     

    二级子菜单

    菜单项

    分隔条

    4.2 下拉式菜单的组成

    菜单项:所有子菜单的基本元素就是菜单项,每个菜单项代表一条命令或子菜单标题。
    分隔条:分隔条为一条横线,用于在子菜单中区分不同功能的菜单项组,使菜单项功能一目了然,并且方便操作。
    快捷键:为每个最底层的菜单项设置快捷键后,可以在不用鼠标操作菜单项的情况下,通过快捷键直接执行相应的命令。
    热键:热键是在鼠标失效时,为用户操作菜单项提供的按键选择,使用热键时,须与<Alt>键同时使用。
    子菜单提示符:如果某个菜单项后有子菜单,则在此菜单项的右边出现一个向右指示的小三角子菜单提示符。

    对话框提示符:如果单击某个菜单项会弹出对话框,则在此菜单项的后边应加上“”。

    1-2MenuStrip控件常用属性和事件

    MenuStrip 控件主要用于生成所在窗体的主菜单.在设计窗体中添加该控件后,会在窗体上显示一个菜单栏,可以直接在此菜单栏上编辑各主菜单项及对应的子菜单项,也可以通过鼠标右键单击对应的菜单项修改项的类型;当菜单的结构建立起后,再为每个菜单项编写事件代码,即可完成窗体的菜单设计.
    编辑各菜单项内容时,可以用符号"&"指定该菜单项的组合键,让其后的字母带下划线显示,如编辑菜单项"E&xit",则会显示为"Exit",意思是可以直接用"Alt+x"组合键实现与单击该菜单项相同的功能;用符号"-"可以在菜单中显示各项之间的分隔条
    .
    1.MenuStrip
    控件的基本属性

    (1)[AllowItemReorder]
    属性:当程序运行时,按下键是否允许改变各菜单项的左右排列顺序.默认值为false,当更改该属性值为true,按下键的同时可以用鼠标拖动各菜单项以调整其在菜单栏上的左右位置.
    (2)[Dock]
    属性:指示菜单栏在窗体中出现的位置,默认值为
    Top.
    (3)[GripStyle]
    属性:是否显示菜单栏的指示符,即纵向排列的多个凹点,默认值为Hidden.当更改该属性值为Visible,显示位置由[GripMargin]属性指定
    .
    (4)[Items]
    属性:用于编辑菜单栏上显示的各菜单项.单击[Items]属性后[…]按钮,弹出[项集合编辑器]对话框,如图所示
    .
    2.MenuStrip
    控件的常用事件

    (1)ItemClicked事件:当单击菜单栏上各主菜单项时触发的操作.
    (2)LayoutCompleted
    事件:当菜单栏上各主菜单项的排列顺序发生变化之后触发的操作.使用该事件时,[AllowItemRecord]属性必须设为true,即当程序运行时,按下Alt键重新排列菜单栏上各主菜单项的顺序之后触发该事件.

    1-3菜单项的属性和事件
    1.MenuItem
    菜单项的基本属性
    (1)[Checked]属性:指示菜单项是否被选中.默认值为false.
    (2) [CheckOnClick]
    属性:决定单击菜单项时是否使其选中状态发生改变.默认值为false,即单击菜单项不会影响其[Checked]属性:当更改该属性值为true,则每次单击菜单项都会影响其[Checked]属性,使其值在falsetrue之间切换
    .
    (3)[CheckState]
    属性:指示菜单项的状态.与复选框CheckBox控件的[ThreeState]属性相同,共有3个属性值:Checked,UncheckedIndeterminate,分别表示选中,未选中和不确定3种状态
    .
    (4)[DisplayStyle]
    属性:指示菜单项上的显示内容.共有4个属性值:None,Text,ImageImageAndText,分别表示不显示任何内容,仅显示图标,同时显示文本和图标.默认值为
    ImageAndText.
    (5)[DropDownItems]
    属性:单击该属性后的[…]按钮,调出[项集合编辑器]对话框,以此编辑该菜单项对应得子菜单中的各菜单项
    .
    (6)[Image]
    属性:指定在该菜单项上显示的图标
    .
    (7)[ImageScaling]
    属性:指定是否调整图标大小.默认属性值为SizeToFit,即调整图标大小以适应菜单项.该属性的另一个属性值为None,即不调整图标大小
    .
    (8) [ShortcutScaling]
    属性:为菜单项指定的快捷键.单击该属性后的下拉按钮,出现如图所示的设置页面,用于设置菜单项的快捷组合键.设置时,可以选择,,3个功能键的任意组合(注意键不能单独使用)作为修饰符;[]下拉列表框中选择快捷键,其中包括键盘可输入的任何字符.完成设置后即可使用说设置的快捷键调用菜单项的功能.该属性的默认值为
    None.
    注意:[ShortcutKeys]属性所设置的快捷键与使用"&" 设置的组合键,虽然都是通过设定的键盘操作完成与鼠标单击相同的功能,但是在本质上二者是不同的."&"设置的组合键只有在菜单项可见的情况下才可使用,所以不能称之为快捷键;[ShortcutKeys]属性所设置的快捷键无论菜单项是否可见都可以使用
    .
    (9)[ShowShortCutKeys]
    属性:指示是否在菜单项上显示快捷键.默认值为true,即在菜单项上按照[ShowShortCutKeys]属性的设置显示快捷键
    .
    2.MenuItem
    菜单项的常用事件

    (1)Click事件:单击菜单项时触发.
    (2)DropDownClosed
    事件:关闭菜单项的子菜单时触发的操作
    .
    (3)DropDownItemClicked
    事件:单击菜单项的子菜单中任何一项时触发的操作
    .
    (4)DropDownOpened
    事件:菜单项的子菜单打开之后触发的操作
    .
    (5)
    DropDownOpening
    事件:打开菜单项的子菜单时触发的操作.

     

    5-2 在例5-1的基础上制作一个如图所示的弹出菜单,

     

    操作步骤:

    1.在工具箱中找到ContextMenuStrip组件,选中并拖放到地form1窗体中,此时,组件栏出现一个ContextMenuStip1的控件。

    2.单击ContextMenuStrip1控件,在窗体会显示ContextMenuStrip的字样来,在ContextMenuStrip的下方显示“请在此键入”文本框,在文本框中输入要添加的菜单项“剪切”,“复制”,“粘贴”。

    3.把richtextbox1ContextMenuStrip属性值设置为ContextMenuStrip1

    4.编写菜单项的代码:

    Private Sub 复制ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 复制ToolStripMenuItem.Click

            RichTextBox1.Copy()

        End Sub

     

        Private Sub 前切ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 前切ToolStripMenuItem.Click

            RichTextBox1.Cut()

        End Sub

     

        Private Sub 粘贴ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 粘贴ToolStripMenuItem.Click

            RichTextBox1.Paste()

        End Sub

    支撑知识:

    2-1ContextMenuStrip控件常用属性和事件
    ContextMenuStrip
    控件的功能是制作右键快捷菜单.注意:该控件是用于为其他控件服务的,不能单独使用.当向窗体中添加一个 ContextMenuStrip控件,会在窗体顶端出现与MenuStrip控件相似的菜单栏,所以也就不能在菜单栏上添加任何菜单项,只能在子菜单中编辑各菜单项.编辑完成的ContextMenuStrip控件需要在窗体或相关控件的[ContextMenuStrip]属性中与其建立关联,才可以在程序运行时用鼠标右键单击对应控件,弹出该快捷菜单.
    1.
    常用的基本属性

    (1)[Items]属性:用于编辑快捷菜单上的各菜单项.其编辑方式与MenuStrip控件的菜单项编辑相似,都是调用[项集合编辑器]对话框来生成菜单项的.
    (2)[Opacity]
    属性:设置快捷菜单的透明度.取值范围为0%~100%,默认值为100%,即不透明.注意:该属性只能在代码中才能看到
    .
    2.
    常用的基本事件

    (1)ItemClicked事件:快捷菜单中的任何一个菜单项被单击时触发的操作.
    (2)Opening
    事件:快捷菜单打开时触发的操作.

    项目二 工具栏和状态栏

    5-3在例二的基础上制作一个如图所示工具栏

     

    操作步骤:

    1.在工具箱中找到Toolstrip控件,如图所示,双击toolstrip控件,把该控件加入到窗体的控件组上。

    2.选择需要添加的工具栏项目类型,如图所示,我们依次添加7ToolStripButton控件,两个ToolStripComboBox控件,3ToolStripSeparator控件。

    3.设置各控件属性如下

    控件名

    属性

    ToolStripButton1

     

     

    ToolStripButton2

     

     

    ToolStripButton3

     

     

     

    选择要添加的工具栏项目

    单击此处,列出可供选择的控件类型

     

     

     

     

     

    ToolStrip控件

    ToolStrip控件是一个用于创建工具栏、菜单结构和状态栏的容器控件。ToolStrip直接用于工具栏,还可以用作MenuStripStatusStrip控件的基类。

    ToolStrip控件在用于工具栏时,是为Windows应用程序添加工具栏,工具栏一般由多个按钮,标签、组合框等排列组成,通过这些项可以快速地执行程序提供的一些常用命令,比使用菜单选择更加方便快捷。
    Windows
    窗体中添加一个ToolStrip控件后,窗体顶端会出现一个工具栏,单击工具栏上的小箭头,弹出下拉菜单,其中每一项都是可以使用在工具栏上的项类型,常用的有Button(按钮),ComboBox(下拉框)TextBox(文本框)等控件,单击某项即可添加到工具栏上.
    当然,也可以通过ToolStrip控件的[Items]属性调用[项集合编辑器]对话框完成工具栏的编辑,ToolStrip控件的常用属性和事件与MenuStrip控件基本相同,工具栏上各项的属性和事件与MenuStrip控件中的菜单项基本相同,这里就不多讲了。

    5-4在例三的基础上制作一个如图所示状态栏

     

    操作步骤:

    1.在工具箱中找到Toolstrip控件,双击toolstrip控件,把该控件加入到窗体的控件组上。

    2.选择需要添加的工具栏项目类型如图所示,我们添加两个ToolStripStatusLabel控件

    选择要添加的状态栏项目

    单击此处,列出可供选择的控件类型

    3.添加代码如下:

    Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

           ToolStripStatusLabel1.Text = Now

    End Sub

    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged

            ToolStripStatusLabel2.Text = Space(3) & "共计" & RichTextBox1.Text.Length & ""

        End Sub

    支撑知识:

    StatusStrip 控件主要出现在当前Window窗体的底部,一般使用文本和图像向用户显示应用程序当前状态的信息。StatusStrip 控件允许添加的控件包括:StatusLabel控件(添加标签控件),ProgressBar控件(进度条控件),DropDownButton控件(下拉列表控件),以及SplitButton控件(分割控件)

     

    展开全文
  • Qt学习(3)——菜单栏和工具栏

    万次阅读 2018-09-16 15:57:51
    1、菜单栏 2、工具栏 3、状态栏 4、核心控件 5、浮动窗口 附上完整代码(只改变mainWindow.cpp)  0、创建项目: 前面步骤一样,到下图基类换一下: 1、菜单栏 头文件: 一些函数原型声明: void ...
  • Unity工具栏与菜单栏

    千次阅读 2015-01-01 23:10:28
    2.2工具 一、变换Gizmo切换(Transform Gizmo): 1. 改变游戏对象的轴心点 Center:改变游戏对象的轴心为物体包围盒的中心。 Pivot:使用物体本身的轴心。 2. 改变物体的坐标 Global:世界坐标。 Local:...
  • Windows的UI开发中,我们经常需要对窗口和控件进行自绘,以实现独特的UI风格,满足软件的个性化需求,提升用户的视觉体验。目前市面上流行的软件,大都有自己别具一格的界面,许多软件还提供多种界面供用户选择,...
  • Visual Basic .NET 教程模块五菜单栏、工具栏、状态栏 能力目标:能够设计、创建和使用菜单、工具栏和状态栏 知识目标:掌握菜单控件、工具栏控件和状态栏控件常用的属性、方法和事件   ...
  • Windows 7:77 个 Windows 7 提示

    千次阅读 2010-11-27 21:30:00
    Windows 7:77 个 Windows 7 提示 不论是从 Vista 升级,还是完全跳过 Vista 直接从 Windows XP 升级,您都需要了解如何让 Windows 7 在您的环境中发挥最大功能。下面是与此相关的 77 项提示和技巧。由 Keith ...
  • Windows 7

    千次阅读 2010-03-31 19:00:00
    系统简介 系统名称:Windows 7 核心版本号:Windows NT 6.1 开发代号:Blackcomb及Windows Vienna 测试历史: 2007年12月20日 :windows 7 Milestone1(build 6519.1) 2008年12月12日 :windows 7 beta...
  • win32(5)--Windows菜单

    千次阅读 2017-06-10 11:51:49
    Windows程序的菜单分为三大类:系统菜单、弹出式菜单(右键菜单)、顶层菜单(下拉式菜单)。 系统菜单: 在windows程序左上角的图标点击鼠标左键、或者在标题点击鼠标右键,出现的就是系统菜单。主要...
  • unity2019.4.3打开编辑器后只有菜单栏这一部分,其它部分为空白(如图) 检查是否安装360管家,把管家退出,再重新下载. 原因360管家开启状态下,下载unity2019.4.3时,360把一些unity重要文件直接删除掉,就算全部...
  • 今天小编要给大家带来的就是windows7系统下载了,大家肯定都非常喜欢它吧?那么这款系统究竟是怎么样的呢?下面就随小编一起来看看windows7系统下载吧!  GhostWin7 是指使用Ghost软件做成压缩包的Windows7 ,俗称...
  • 取消任务快捷键翻转There’s no faster way to navigate your computer than withkeyboard shortcuts, and Windows continues toaddmore with each new version. Everything begins on the taskbar and Start menu...
  • 【计算机基础】02Windows7操作系统

    万次阅读 2020-05-05 16:41:48
    第2章 中文Windows 7操作系统 2.1 操作系统概述 2.1.1 操作系统的基本概念 计算机的大脑。告诉计算机做什么及如何做。 1. 操作系统的作用: 1)操作系统是计算机系统应用平台的组成部分 系统软件或应用软件...
  • Windows运行机理——窗口和句柄

    千次阅读 2018-03-17 14:02:46
    Windows运行机理这系列文章都是来至于《零基础学Qt4编程》——吴迪,个人觉得写得很好,所以进行了搬运和个人加工1. 窗口窗口是Windows应用程序中一个非常重要的...一个应用程序窗口通常包含标题栏,菜单栏,系统...
  • 专升本-计算机公共课考点分析Windows 7 操作系统26. 操作系统的概念27. 操作系统的功能28. 操作系统的主要特征29. 操作系统的分类30. 常用操作系统简介31. Windows 7 的基本操作32. 窗口的组成33. 对话框操作34. ...
  • 1. 在Windows系统中启动任务管理器可使用:Ctrl+Alt+Delete、Ctrl+Shift+Esc、右击任务空白处 2. UNIX操作系统是一种多用户分时操作系统,Linux操作系统最早是由芬兰黑客为尝试在因特尔X86架构上提供自由免费的...
  • windows常用命令行命令

    万次阅读 多人点赞 2017-08-31 11:16:21
    windows常用命令 打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令和cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口 # ...
  • Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建  这几天一直在研究 Android SDK C/C++平台的搭建,尽管以前有成功在Windows XP做过,由于当时没有留下有用的记录,花了很多的冤枉时间,
  • 菜单资源

    2014-07-18 08:57:23
     菜单在界面设计中是经常使用的一种元素,包括Windows系统中的窗口、智能终端设备的应用界面等都会经常见到菜单的身影。我们在对可视化窗口操作时,菜单确实提供了很大方便。  菜单可以分为下拉式菜单和弹出式...
  • 2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布。相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化。接下来我们会用几篇文章来了解一下这些变化给开发者带来的影响,以及...
  • 7.1 层次式架构1....Windows CE的分层结构比较复杂(如图7-1所示),这是根据它适合嵌入式应用的特点所设计的。从提供者的角度来看,图中上面4层主要由微软公司维护开发,下面两层主要由嵌入式产品开发商根据产品
  • Windows消息传递机制详解

    万次阅读 2015-03-19 13:44:34
    Windows是一个消息(Message)驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发,并且靠对消息的响应和处理来完成。必须注意的是,消息...
  • 目录 一、效果预览 含桌面控件 不含桌面控件 资源管理器 菜单 任务 二、桌面壁纸 1、静态壁纸 2、动态壁纸 3、动态锁屏(屏保功能) 三、系统主题(任务+资源管理器) 1、详细操作: 2、拓展:操作基本相似 鼠标指针...
  • WINDOWS程序内部运行原理

    千次阅读 2012-06-05 16:00:35
    API(Application programming interface) 应用程序编程的接口 MSG(message) 消息结构体  操作系统将每一个事件包装成一...MSG的结构定义如下:(windows user interface : platform sdk ) Typedef struct tagMSG{
  • Windows API包括几千个可调用的函数,它们大致可以分为以下几个大类:基本服务、组件服务、用户界面服务、图形多媒体服务、消息和协作、网络、Web服务。
  • 1.创建一个JMenuBar菜单栏对象,将其放置在JFrame窗口的顶部 2.创建JMenu菜单对象,将其添加到JMenuBar菜单中 3.创建JMenuItem菜单项,将其添加到JMenu菜单中 package gui; import java.awt.event.ActionEvent; ...
  • 比如典型的windows应用程序的上面是菜单栏,从菜单栏我们可以选择应用程序提供的各种功能,但是有的功能比较常用,且不能放在第一级菜单,需要进入二级、三级甚至更多的菜单才能选择。显然这样使用起来
  • windows程序员进阶系列:《软件调试》之五:Windows操作系统概要 操作系统是计算机系统中的基本软件。它负责管理系统中的软硬件资源。通常都包括文件管理、内存管理、进程管理、打印管理、网络管理等基本功能。除此...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,105
精华内容 9,242
关键字:

windows7菜单栏分为