含菜单栏的简单文本编辑器
来源:互联网 发布:罗素 知乎 编辑:程序博客网 时间:2024/05/16 05:54
; 示例: 含菜单栏的简单文本编辑器.; 为菜单栏创建子菜单:Menu, FileMenu, Add, &New, FileNewMenu, FileMenu, Add, &Open, FileOpenMenu, FileMenu, Add, &Save, FileSaveMenu, FileMenu, Add, Save &As, FileSaveAsMenu, FileMenu, Add ; 分隔线.Menu, FileMenu, Add, E&xit, FileExitMenu, HelpMenu, Add, &About, HelpAbout; 创建用来附加子菜单的菜单栏:Menu, MyMenuBar, Add, &File, :FileMenuMenu, MyMenuBar, Add, &Help, :HelpMenu; 添加菜单栏到窗口:Gui, Menu, MyMenuBar; 创建主编辑控件并显示窗口:Gui, +Resize ; 让用户可以调整窗口的大小.Gui, Add, Edit, vMainEdit WantTab W600 R20Gui, Show,, UntitledCurrentFileName = ; 表示当前没有文件.returnFileNew:GuiControl,, MainEdit ; 清空编辑控件.returnFileOpen:Gui +OwnDialogs ; 强制用户响应 FileSelectFile 对话框后才能返回到主窗口.FileSelectFile, SelectedFileName, 3,, Open File, Text Documents (*.txt)if SelectedFileName = ; 没有选择文件. returnGosub FileReadreturnFileRead: ; 调用者已经设置了 SelectedFileName 变量.FileRead, MainEdit, %SelectedFileName% ; 读取文件的内容到变量中.if ErrorLevel{ MsgBox Could not open "%SelectedFileName%". return}GuiControl,, MainEdit, %MainEdit% ; 在控件中显示文本.CurrentFileName = %SelectedFileName%Gui, Show,, %CurrentFileName% ; 在标题栏显示文件名.returnFileSave:if CurrentFileName = ; 还没有选择文件, 所以执行另存为操作. Goto FileSaveAsGosub SaveCurrentFilereturnFileSaveAs:Gui +OwnDialogs ; 强制用户响应 FileSelectFile 对话框后才能返回到主窗口..FileSelectFile, SelectedFileName, S16,, Save File, Text Documents (*.txt)if SelectedFileName = ; 没有选择文件. returnCurrentFileName = %SelectedFileName%Gosub SaveCurrentFilereturnSaveCurrentFile: ; 调用者已经确保了 CurrentFileName 不为空.IfExist %CurrentFileName%{ FileDelete %CurrentFileName% if ErrorLevel { MsgBox The attempt to overwrite "%CurrentFileName%" failed. return }}GuiControlGet, MainEdit ; 获取编辑控件的内容.FileAppend, %MainEdit%, %CurrentFileName% ; 保存内容到文件.; 成功时在标题栏显示文件名 (以防 FileSaveAs 调用时的情况):Gui, Show,, %CurrentFileName%returnHelpAbout:Gui, About:+owner1 ; 让主窗口 (Gui #1) 成为 "关于对话框" 的父窗口.Gui +Disabled ; 禁用主窗口.Gui, About:Add, Text,, Text for about box.Gui, About:Add, Button, Default, OKGui, About:ShowreturnAboutButtonOK: ; 上面的 "关于对话框" 需要使用这部分.AboutGuiClose:AboutGuiEscape:Gui, 1:-Disabled ; 重新启用主窗口 (必须在下一步之前进行).Gui Destroy ; 销毁关于对话框.returnGuiDropFiles: ; 对拖放提供支持.Loop, Parse, A_GuiEvent, `n{ SelectedFileName = %A_LoopField% ; 仅获取首个文件 (如果有多个文件的时候). break}Gosub FileReadreturnGuiSize:if ErrorLevel = 1 ; 窗口被最小化了. 无需进行操作. return; 否则, 窗口的大小被调整过或被最大化了. 调整编辑控件的大小以匹配窗口.NewWidth := A_GuiWidth - 20NewHeight := A_GuiHeight - 20GuiControl, Move, MainEdit, W%NewWidth% H%NewHeight%returnFileExit: ; 用户在 File 菜单中选择了 "Exit".GuiClose: ; 用户关闭了窗口.ExitApp
0 0
- 含菜单栏的简单文本编辑器
- 简单编辑器、菜单栏的简单实现
- 简单的文本编辑器
- 简单的文本编辑器
- 简单的文本编辑器做法
- 一个简单的文本编辑器
- js简单的文本编辑器
- 一个简单的文本编辑器
- 一个简单的文本编辑器
- 简单的文本编辑器 - wxWindows编程事例
- 由Java实现简单的文本编辑器
- 很简单的一个在线文本编辑器
- xheditor文本编辑器的简单实用介绍
- 2.构建一个简单的文本编辑器
- js简单的文本编辑器(所见即所得)
- UNIX文本编辑器VI的简单使用
- wxPython构建一个简单的文本编辑器
- Scribes:简单而智能的文本编辑器
- G++版验证码
- Java 中的静态变量
- 项目通过ssh与GitHub关联
- hdoj2039三角形
- 为什么跳槽加薪会比内部调薪高?
- 含菜单栏的简单文本编辑器
- p243 第三题
- java实现图片转化为字节流,字节流还原成图片
- leetcode之Partition List
- 重拾拓展欧几里得 & 简单不定方程
- 2251: [2010Beijing Wc]外星联络 后缀数组
- Java输入流输出流详解
- 一起talk C栗子吧(第九十四回:C语言实例--SystemV IPC结构概述)
- 【UVa】[1586]Molar mass