精华内容
下载资源
问答
  • Windows下Vim菜单栏乱码的解决办法

    千次阅读 2019-12-11 19:49:59
    网上很多都说是通过在命令行里执行如下两个命令来删除然后重建菜单栏 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim 但是现在是Windows环境没有source命令,根本执行不了,怎么办呢? 经测试...

    环境说明

    • 系统:Windows10
    • Vim版本:gvim-8.1

    乱码的截图

    Windows下Vim菜单栏乱码的解决办法_01

    解决过程

    网上很多都说是通过在命令行里执行如下两个命令来删除然后重建菜单栏

    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    

    但是现在是Windows环境没有source命令,根本执行不了,怎么办呢?
    经测试发现可以把这两个命令加入到Windows下Vim的配置文件_vimrc文件中,
    然后重启Vim就可以了
    Windows下Vim菜单栏乱码的解决办法_02
    OK,目标实现了,但是我的Vim配置文件Windows和Linux下是共用的,Linux下可能会出问题的
    还是需要找到到底是什么原因引起的
    后经测试发现是我的配置文件里的enc参数引起的,如下:

    "编码设置
    set enc=utf-8
    

    这个参数是encoding的缩写,用于指定文件的编码格式为UTF-8,
    OK,知道原因了就好改了,

    最终办法

    在vim配置文件(Windows下_vimrc/Linux下.vimrc)里enc参数下面,判断一下操作系统就可以了,
    于是原来的命令就改成了:

    "编码设置
    set enc=utf-8
    set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
    " some conf
    " ...
    if(has("win32") || has("win95") || has("win64") || has("win7") || has("win10"))
        source $VIMRUNTIME/delmenu.vim
        source $VIMRUNTIME/menu.vim
    endif
    

    OK,至此完成

    展开全文
  • 更换Windows Mobile 6.5 标题栏和菜单栏背景 在Windows Moible 6.5上添加了新特性。下面是微软定义的关于设置Task bar和softkey bar的消息定义,消息定义的很清楚。 // Retrieve the alpha value for taskbar & ...

    更换Windows Mobile 6.5 标题栏和菜单栏背景

         Windows Moible 6.5上添加了新特性。下面是微软定义的关于设置Task barsoftkey bar的消息定义,消息定义的很清楚。

     

    // Retrieve the alpha value for taskbar & SoftKeyBar transparency (PPC Only)

    #define TSKBM_GETALPHA (WM_USER + 150)

    // wParam == 0 (This parameter is not used)

    // lParam == 0 (This parameter is not used)

    // Return value:The return value is the current alpha value, default is 255 (opaque).

     

    // Set the alpha value for taskbar & menubar transparency (PPC Only)

    #define TSKBM_SETALPHA (WM_USER + 151)

    // wParam == alpha value (0 - 255) 0 == transparent, 255 == opaque

    // lParam == 0 (This parameter is not used)

    // Return value: The return value is undefined

     

    // Set the overlap image for the softkeybar

    #define WM_SETSOFTKEYBARBACKGROUND   (WM_USER + 410)

    // wParam == alpha value (0 - 255) 0 == transparent, 255 = opaque

    // lParam == an image (HBITMAP)

    // Return value: The return value is undefined

     

    // Set the overlap image for the taskbar (PPC Only)

    #define WM_SETTASKBARBACKGROUND      (WM_USER + 411)

    // wParam == alpha value (0 - 255) 0 == transparent, 255 = opaque

    // lParam == an image (HBITMAP)

    // Return value: The return value is undefined

     

    // Get the overlap image alpha value for the taskbar (PPC Only)

    #define WM_GETTASKBARBACKGROUNDALPHA      (WM_USER + 412)

    // Return value: The return value is the overlap image alpha value of the taskbar

     

    // Get the overlap image DC for the taskbar (PPC Only)

    #define WM_GETTASKBARBACKGROUNDDC      (WM_USER + 413)

    // Return value: The return value is the overlap image DC of the taskbar

     

    设置标题栏和菜单栏背景代码,setVal为透明度

    BYTE setVal = 255;

    HWND hwndTB = FindWindow(L"HHTaskBar", NULL);

    SendMessage(hwndTB, WM_SETTASKBARBACKGROUND, setVal, (LPARAM) m_hTSKImage);

    SendMessageh_Menubar, WM_SETSOFTKEYBARBACKGROUND, setVal, (LPARAM) m_hSOFTKEYImage);

    展开全文
  • 菜单栏

    千次阅读 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

     

    展开全文
  • 通过菜单栏,或工具栏,或按钮,实现图片框中图像的显示和隐藏。 1. 更改窗体大小 由于添加的控件比较多,默认的窗体300*300肯定不够用的,需要将窗体大小调大。现更改为800*600。 打开TriPaint.cs[设计]文件,...

    binzhouweichao@163.com

    2013-10-17

    仍然使用上篇的项目。

    实现的作用为:

    通过菜单栏,或工具栏,或按钮,实现图片框中图像的显示和隐藏。


    1. 更改窗体大小

    由于添加的控件比较多,默认的窗体300*300肯定不够用的,需要将窗体大小调大。现更改为800*600。

    打开TriPaint.cs[设计]文件,选中窗体,在右下角的属性窗口中,找到Size属性,将值改为:800, 600。


    2. 添加菜单栏MenuStrip控件

    选中窗体,打开左侧的工具箱,找到MenuStrip控件,点击鼠标左键并拖到窗体中。

    菜单栏的默认位置为窗体顶部,默认宽度为24,长度为铺满窗体。第一个添加的MenuStrip控件的名称默认为menuStrip1。在右下角的属性窗口中,可以找到具体的数据,如:

    位置Location为:0, 0。也就是说,menuStrip1的右上角(0, 0)位于窗体的右上角(0, 0)位置。

    长宽Size为:784, 24。也就是说,menuStrip1的长为784,正好是窗体内容纳控件的最大长度,宽度为24,应该是MenuStrip控件默认的宽度。

    其他属性如Margin、Padding默认即可。


    3. 添加工具栏ToolStrip控件

    同上,在左侧的工具箱中找到ToolStrip控件并拖到窗体中。

    工具栏默认位置为菜单栏的下方,与菜单栏边界吻合。默认宽度为25,长度为窗体内控件最大长度,默认名称为toolStrip1。属性中具体数据:

    位置Location:0, 24。即紧贴菜单栏。

    长宽Size为:784, 25。即长度为784,宽度为25。

    其他属性默认。


    4. 添加状态栏StatusStrip控件

    同上,在左侧工具箱中找到StatusStrip控件并拖动到窗体中。

    菜单栏默认位置为窗体最下方。默认宽度22,长度为窗体内控件最大长度,默认名称为statusStrip1。属性中具体数据:

    位置Location为:0, 540。也就是状态栏的左上角位于窗体的(0, 540)处。

    大小Size为:784, 22。即长度784,宽度22。即最下边界为540+22 = 562处。

    整个窗体高600,去掉标题栏和边框,大约有562的高度用来容纳控件。

    其他属性默认。


    5. 调整pictureBox1的位置

    由于原先pictureBox1的位置为(0, 0),加上菜单栏和工具栏后,上面一部分被覆盖掉了,所以重新调整一下位置,让pictureBox1的上边界紧贴工具栏。

    通过计算菜单栏和工具栏的高度和,可得图片框的上边界为24+25 = 49,更改图片框的属性:

    位置Location为:0, 49。

    其他属性不变。


    6. 添加按钮Button控件

    打开左侧工具箱,找到Button控件,鼠标左键拖到窗体内右侧的空白处。位置随意。默认大小。默认名称为button1。

    再添加一个Button控件,位置随意,默认大小,默认名称为button2。

    更改按钮的显示文本。

    选中button1控件,在右下方的属性窗口中,找到Text属性,更改其值为:Show。

    选中button2控件,在右下方的属性窗口中,找到Text属性,更改其值为:Hide。


    上述完成后,运行的效果图为:



    7. 完善功能

    为实现下述功能,需要对pictureBox1.Image反复赋值,其图像为Bitmap b。前面的文件中,将b作为TriPaint_Load()函数的局部变量,为了实现在其他函数中反复调用,需要将其保存为全局变量。这样,在GlobalVars.cs中,把Bitmap b添加进去,代码如下:

            //位图b,为pictureBox1.Image使用的值
            private static Bitmap b = new Bitmap(250, 250);
            public static Bitmap B
            {
                get { return b; }
                set { b = value; }
            }

    注:由于pictureBox1为主窗体TriPaint的私有成员,其他类无法访问,所以初始化位图大小时用了具体的数值。若改动了pictureBox1的大小,要记得在此处也将大小改过来。。如果想要把pictureBox1的长宽属性改为public,可以使用委托的方法,或者在主窗口中新建一个类,将这个属性设为public。

    参考:

    http://social.microsoft.com/Forums/zh-CN/e7914cf9-7b5e-4508-a85c-8500f104d596/cform

    http://zhidao.baidu.com/link?url=Boy2Ece-mWVNEnLFggS_fykAfUtBXSuwMXilqSU2hcmNND5aSOeDlaoRKbs-MWnyR-MfTniFcVdZBCDY1qlcXK


    这样,GlobalVars.cs的最终代码为:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Drawing;
    
    namespace TriPaint_20131013
    {
        //修改这里
        public static class GlobalVars
        {
            //类似于#define宏定义,设置三个常量
            public const int POINTCNT = 50;//点数,POINTCNT <= XMAX - XMIN
            public const int XMAX = 200;//X轴最大值,也就是2π对应的值  
            public const int XMIN = 0;//X轴最小值
            public const double times = (XMAX - XMIN) / (2 * Math.PI - 0);//放大倍数
            public const double xInterval = (XMAX - XMIN) / (POINTCNT - 1);//i增量对应的data.X增量
            
            //类似于全局变量,可以重新赋值
            //坐标点变量
            private static Point[] data = new Point[POINTCNT];
            public static Point[] Data
            {
                get { return data; }
                set { data = value; }
            }
    
            //位图b,为pictureBox1.Image使用的值
            private static Bitmap b = new Bitmap(250, 250);
            public static Bitmap B
            {
                get { return b; }
                set { b = value; }
            }
        }
    }
    

    修改后,需要在TriPaint.cs中,把关于b的声明去掉,对创建g的代码进行修改:

                Graphics g = Graphics.FromImage(GlobalVars.B);//图像画布添加绘图

    另外,因为添加了按钮(菜单、工具)等功能,默认情况下,图片框中不显示绘制的图像,所以把给pictureBox1.Image初始赋值的那一条语句注释掉,即:

                //pictureBox1.Image = b;//图像框的图像为上述绘图生成的图像


    7.1 完善按钮功能

    a. 完善按钮button1的显示图片功能

    选中button1,也就是Show按钮,双击,则会实现:在主窗体的类(即TriPaint类)中添加button1_Click()事件函数,并将Show按钮的Click事件与函数button1_Click()关联起来。

    在此函数中添加如下代码:

            private void button1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }

    因为会返回修改Image的值,所以每个事件函数都要对pictureBox1刷新一下。


    b. 完善按钮button2的隐藏图片功能

    同上,选中button2,即Hide按钮,双击,主窗体类中自动添加button2_Click()事件函数。在此函数中添加如下代码:

            private void button2_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }

    7.2 完善菜单栏功能

    首先要添加菜单栏上的菜单。

    打开TriPaint.cs[设计]文件,选中菜单栏,会显示一个“请在此键入”的文本编辑框。


    在此文本框中输入“Show”,这样就向右弹出第二个一级菜单的文本编辑框,向下弹出此菜单的二级菜单文本输入框。


    由于我们这个例子的功能比较简单,只简单演示即可,不建立二级菜单,只建立两个一级菜单即可。

    在右方创建“Hide”菜单。



    a. 为Show菜单添加显示图像功能

    同按钮控件,双击Show菜单,即可在TriPaint中生成showToolStripMenuItem_Click()事件函数,自动关联Show菜单的Click事件。

    在此函数中添加同button1相同的代码:(直接复制即可)

            private void showToolStripMenuItem_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }

    b. 为Hide菜单添加隐藏图像功能

    同上,双击Hide菜单,自动生成hideToolStripMenuItem_Click()函数,自动关联Hide菜单的Click事件,添加代码如下:

            private void hideToolStripMenuItem_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }

    注:可以把显示和隐藏做成TriPaint类的两个函数,然后在每个控件的事件函数中直接调用。此处由于代码比较短,可以直接这么写。

    如前面所提到的,如果按照全局变量的思想,在外部新建一个类,然后定义两个显示和隐藏图像的方法,也是可以的。但是由于控件属性为TriPaint类的私有成员,所以需要在类TriPaint中对Image属性进行public。由于控件的调用保护机制,使得外部函数只能通过委托的方式响应控件事件。

    这些可以从上文中的两个参考链接中找到实现的方法。下节可能会具体介绍一下。


    7.3 完善工具栏功能

    同上面的菜单栏。在TriPaint.cs[设计]文件中,选中工具栏toolStrip1。


    工具栏有多种显示样式。默认的第一种为图片,其他种类可以通过点击向下的小三角箭头选择,有Button、Label等等。我们选择默认的图片工具显示(鼠标直接点那个图标即可),这样连续生成两个,一字排开:


    要显示工具图片可以自定义,选中第一个工具图片,在右下方的属性窗口中,找到Image属性,通过右侧的浏览框选择想要更改的图片。

    图片大小默认为16*16,且为固定大小,其他图片无论大小都会缩放成16*16来显示。这里可以自己截两个桌面图标,然后挨个替换下来即可。(我截的是War3和qq的图标)



    a. 添加第一个工具的显示图像功能

    双击第一个工具的图标,会在TriPaint类中自动生成toolStripButton1_Click()事件函数,自动关联第一个工具的Click事件。添加显示图像代码:

            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }

    b. 添加第二个工具的隐藏图像功能

    同上,双击第二个工具的图标,自动生成toolStripButton2_Click()事件函数,自动关联第二个工具的Click事件。添加代码如下:

            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }

    7.4 完善状态栏功能

    这里只做简单的演示,所以状态栏只用一行文本显示图像框中的图像是显示还是隐藏即可。

    在TriPaint.cs[设计]文件中,选中最下方的状态栏statusStrip1,点击小三角,选择第一个StatusLabel。


    此StatusLabel用于显示“Show”或“Hide”文本。默认下,此处填充的文本为toolStripStatusLabel1,并且此标签控件的名称也是toolStripStatusLabel1。需要我们手动修改默认显示的文本(控件名称不做修改),选中此StatusLabel,在右下方的属性框中,找到Text属性。因为默认情况下,图像是隐藏的,所以将此标签的初始文本设置为“Hide”,所以把Text的值改为Hide。(此时这个控件的名称仍旧叫做toolStripStatusLabel1,下面在程序中修改此标签显示的文本时会用到)


    状态栏所需的工作,实在图片框中的图片显示或隐藏发生更改后,显示当前的图像状态。所以控制状态栏显示内容的,是pictureBox1的Paint事件。

    在TriPaint.cs[设计]中,选中pictureBox1,在右下方的属性窗口中,点击事件视图,找到Paint属性:


    双击Paint属性,会在TriPaint类中自动生成pictureBox1_Paint()事件函数,并自动关联pictureBox1的Paint事件。在此函数中添加代码:

            private void pictureBox1_Paint(object sender, PaintEventArgs e)
            {
                if (pictureBox1.Image == null)//如果图像为空
                {
                    toolStripStatusLabel1.Text = "Hide";//则显示Hide
                }
                else//否则,即图像不为空,有具体的BMP位图
                {
                    toolStripStatusLabel1.Text = "Show";//则显示Show
                }
            }

    至此,修改结束。

    TriPaint.cs最终代码为:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TriPaint_20131013
    {
        public partial class TriPaint : Form
        {
    
    
            public TriPaint()
            {
                InitializeComponent();
                //在这里添加代码
                //对数据进行处理
                for (int i = 0; i < GlobalVars.POINTCNT; i++)
                {
                    GlobalVars.Data[i].X = (int)(i * GlobalVars.xInterval);//i对应的data.X
                    GlobalVars.Data[i].Y = (int)(GlobalVars.times * Math.Sin(GlobalVars.Data[i].X / GlobalVars.times));//sin函数求值
                    GlobalVars.Data[i].Y = (int)(GlobalVars.Data[i].Y + GlobalVars.times * 1);//Y轴向正向平移1,即1*times,令最高点(也就是3π/2对应的-1点)的值为0
                }
    
            }
    
            private void TriPaint_Load(object sender, EventArgs e)
            {
                //Graphics g = this.CreateGraphics();//画板
                //this.Show();//显示
                //Bitmap b = new Bitmap(pictureBox1.Width, pictureBox1.Height);//新建图像画布
                Graphics g = Graphics.FromImage(GlobalVars.B);//图像画布添加绘图
    
                //坐标系平移镜像
                g.TranslateTransform(0, 250);//向y正向平移300
                g.ScaleTransform(1, -1);//关于x轴镜像
    
                Pen p = new Pen(Color.Blue, 1);//画笔
    
                g.DrawLines(p, GlobalVars.Data);//多点绘图,直线连接
    
                //pictureBox1.Image = b;//图像框的图像为上述绘图生成的图像
    
                //释放绘图所占用资源
                p.Dispose();
                g.Dispose();
                //b.Dispose();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }
    
            private void showToolStripMenuItem_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }
    
            private void hideToolStripMenuItem_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }
    
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GlobalVars.B;//显示图像b
                pictureBox1.Refresh();//刷新图片框
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;//对Image的值置空,刷新后图像就消失了
                pictureBox1.Refresh();
            }
    
            private void pictureBox1_Paint(object sender, PaintEventArgs e)
            {
                if (pictureBox1.Image == null)//如果图像为空
                {
                    toolStripStatusLabel1.Text = "Hide";//则显示Hide
                }
                else//否则,即图像不为空,有具体的BMP位图
                {
                    toolStripStatusLabel1.Text = "Show";//则显示Show
                }
            }
    
        }
    }

    运行,分别点击Show菜单、工具、按钮和Hide菜单、工具、按钮,查看窗体显示。

    结果为:






    展开全文
  • 如题,我想在对话框上创建一个菜单栏和工具栏,并且能在菜单栏用checked 对工具的显示和隐藏,而且在工具栏的按钮上悬停有提示信息。 大概这个对话框是这样:0.创建一个对话框 1.建立菜单栏 2.建立工具栏 3.菜单栏 ...
  • 使用快捷键进入任务管理器 先按ctrl+shift,再按delete,点击任务管理器 先按win,再按r,在运行框输入taskmgr,点击确定 在任务管理器的进程里面找到资源管理器,重新运行 ...
  • GTK学习3--菜单栏和工具栏

    千次阅读 2015-06-09 15:40:55
    通过上一小节,基本上掌握了如何向窗口中添加菜单栏以及为menu_item添加快捷键,下面我们通过一个实例来创建选择菜单选项.GtkCHeckMenuItem就是一个可以生成带有选择的菜单选项.下面看一下代码:#include <gtk/gtk.h>...
  • 解决方法 ... JSP问题org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.include_jsp ... ...Tomcat的下载和安装以及在eclipse中配置Tomcat...Maven项目下面没有src/main/java这个包
  • 话说那个windows7的任务还是不错的,把他放到左侧的时候,那个开始菜单的东西默认在上方,时间的那个在下面,现在希望反过来,就是开始菜单下面去,怎么改的呢。谢谢各位了!
  • Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.12 初稿 目录 文章目录Qt菜单栏、工具栏、状态栏介绍及工具...
  • 如何为QT窗体添加工具栏和菜单栏

    千次阅读 2019-10-20 22:44:01
    在新建一个窗体的时候,我们一开始可能没有考虑菜单或者工具条的问题,但我们需要菜单栏和工具条的时候可能有点找不着北了。其实很简单。在窗体的空白处右击鼠标弹出右键菜单,从中选择“Create MenuBar”或者“Add ...
  • 文件夹乱码,U盘乱码,文档乱码,乱码现象无处不再,顽皮的乱码到处影响着系统的操作,在Windows7系统下,右键菜单也出现了乱码现象,影响了用户的正常操作,如何才能攻克下Windows7系统的乱码问题呢?    ...
  • win10桌面图标和菜单栏不时的闪烁问题

    万次阅读 多人点赞 2018-03-11 15:36:57
    前言:近来笔者发现电脑不时的电脑桌面和菜单栏会不停的闪烁,只能通过Ctrl + shift + ESC打开任务管理器来重启资源管理器,但是发现重启之后的一会儿好了,但是过一会儿又闪烁,后来琢磨好久,才发现是有软件在更改...
  • tkinter制作菜单栏

    千次阅读 2020-03-21 08:53:07
    原文地址 分类目录——tkinter ...定义一个菜单条,或横条(顶部的菜单横条),或竖条(点击‘文件’弹出的竖条),或额外的子条(点击某个选项后展开的条),如下图中的三个红色方框框住的,都可以被认为是一个M...
  • 因为菜单栏打不开关机这个 也就是开始按钮 这个按钮怎么也打不开,怎么点击也不行!!! 有时候桌面文件夹还可以点击 这次桌面连文件都新建不了!查阅了太多资料,发现未必管用 我的解决办法 1. 鼠标放在最...
  • 在使用JAVA SWING做界面的时候,不同的场景我们需要...下面,我将给大家介绍一下如何用Java swing做出菜单栏控制工具栏切换的两种方法。 一:Java Swing Ribbon(Flamingo) Ribbon即功能区,是新的 Microsoft Offic...
  • 菜单栏—>菜单项—>模态窗口/非模态窗口 工具栏 状态栏 核心控件 浮动窗口 二 .操作步骤: 1.新建项目,在ui界面添加textEdit控件(显示内容) 2.包含头文件 #include "QPushButton" #include ...
  • WIN10:删除开始菜单栏中的图标或文件夹 1: C:\ProgramData\Microsoft\Windows\Start Menu\Programs,找到想删除的文件夹删除即可 ProgramData为隐藏文件夹,先打开隐藏项目 2: 菜单栏项目,可随意删除~...
  • Windows7 任务功能的开发

    千次阅读 2009-10-02 00:47:00
    此篇文章为原创,禁止转载 此篇...本文参考至: MSDN dd942846我的上一篇文章讨论了如何针对Vista的窗体透明进行编程开发,今天来讨论下Windows7的特色——任务开发。 Windows7为窗口增加了一个属性:application ID(应
  • 问题描述:Win10系统下安装了CATIA_CAA V5R19和V4R24两个版本,其中V5R19版本安装完成后VS2005中没有出现CAA菜单栏,V5R24安装完成后VS2008中出现部分集成菜单且为灰色不可用。 V5R19采用的VS2005中没有集成菜单...
  • win10这个系统刚用起来感觉比较新颖,但是使用几天之后居然出现菜单栏打不开,右键效果还在,左键无论怎么点都没反应,包括声音,消息提醒,日期等等都打不开。查了一下,发现好多人都出现这个问题,解决办法也有很...
  • 系统:windows 10,和windows7没有什么不同 语言:python3.7 环境:pycharm+firefox+selenium 功能:多级菜单栏 层级定位 元素定位 这是selenium的首次尝试。程序通过selenium实现了网站多层级菜单栏的元素...
  • QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如...
  • win7文件夹左侧的“桌面”没了,用起来非常麻烦。因为很多文件习惯保存到桌面上,发邮件的时候,需要把桌面上的文件添加到附件,也很麻烦。 一开始,我还忍着,我以为是win7的某个更新导致文件夹左侧的“桌面...
  • 我有几个窗体没有菜单栏也不需要输入法,可是一个显眼的“拼”按钮在下面很影响效果,因此 决定将其去掉。在好心的qq群友的帮助下,给了我一个win32的办法,如下:ShowWindow(FindWindow( _T("MS_SIPBUTTON"), 0 ),...
  • 作者:朱金灿来源:http://blog.csdn.net/clever101/ 现在很多应用程序的界面基本是用配置文件来规划界面的,在这个时候就得学会自定义菜单栏和工具栏之类的。 VS Feature Pack是为微软新推出的界面库(听说是买...
  • windows添加右键菜单

    千次阅读 2017-12-03 01:13:00
    windows系统鼠标右键添加软件和图标
  • Windows的UI开发中,我们经常需要对窗口和控件进行自绘,以实现独特的UI风格,满足软件的个性化需求,提升用户的视觉体验。目前市面上流行的软件,大都有自己别具一格的界面,许多软件还提供多种界面供用户选择,...
  • 操作 Windows7 任务的快捷方式

    千次阅读 2012-07-26 18:32:09
    Win7下,将应用程序锁定到任务中 ShellExecute(NULL, _T("taskbarpin"), _T("C:\\....\\.lnk"), NULL, NULL, SW_SHOWNORMAL); 将应用程序锁定到开始菜单中 ShellExecute(NULL, _T("startpin"), _T("C:\\....\\....
  • QMainWindowQMainWindow是继承自QWidget,提供一个应用程序的主窗口。通过QMainWindow你可以添加自己的QToolBars、QDockWidgets、QMenuBar、QStatusBar等。见下图: ...接下来我们就对最下面的状态(Status

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,858
精华内容 38,743
关键字:

windows7下面菜单栏