? 使用标准 Action 控件实现标准功能 | ||||||||||||||||||||||||||||||||||||||||||||||||||
例:制作一个简单的记事本 | ||||||||||||||||||||||||||||||||||||||||||||||||||
? 使用自定义 Action 控件 | ||||||||||||||||||||||||||||||||||||||||||||||||||
例:“制作一个简单的记事本” 基础上增加 “保存” 和 “新建” 功能 | ||||||||||||||||||||||||||||||||||||||||||||||||||
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ShowFileName(); } //--------------------------------------------------------------------------- void TForm1::ShowFileName(void) { if(sFileName.IsEmpty()) Caption = L"未命名 - 记事本"; else Caption = ExtractFileName(sFileName) + L" - 记事本"; } //--------------------------------------------------------------------------- |
||||||||||||||||||||||||||||||||||||||||||||||||||
使用标准 Action 控件实现标准功能 ? 在 Form 上放一个 TActionList 控件 ActionList1 和一个 TImageList 控件 ImageList1 请参考 CHM 帮助文件处理里面的 “显示帮助内容和帮助索引” 章节的内容 例:制作一个简单的记事本 1. 新建一个 VCL 项目:选择菜单 File → New → VCL Forms Applicaion - C++ Builder
2. 在 Form1 上放一个 TMainMenu 控件、一个 TToolBar 控件、一个 TMemo 控件、一个 TActionList 控件和一个 TImageList 控件: 3. 控件关联和调整控件的位置 ? 主菜单 MainMenu1 的 Images 属性关联到 ImageList1 4. 加入标准 Action 控件 双击 ActionList1 控件,打开编辑对话框,左边是分类,右边是 Action 列表: 用鼠标右键点击 Action 列表,在弹出的菜单里面选择 “New Standard Action...” 打开 Standard Action Classes 对话框: 选择 Edit 里面的 TEditCut、TEditCopy、TEditPaste、TEditSelectAll、TEditUndo、TEditDelete; 对话框里面:左边是分类,右边是每个分类里面的 Action 列表。 如果需要查找替换功能,可以继续添加,用鼠标右键点击 Action 列表,选择 “New Standard Action...”: 选择 Search 里面的 TSearchFind、TSearchFindNext、TSearchReplace,点击 OK 按钮,添加到 Action 列表: 上面截图是所有分类 (All Actions) 的 Action 列表,所有添加进来的 Action 都在这里。 5. 修改每个 Action 的标题 如果让界面以汉语显示,需要修改每个 Action 的标题,即 Caption 属性:
6. 设计主菜单 双击主菜单控件 MainMenu1,打开编辑主菜单的画面。 主菜单的每个下拉菜单的项目,只需要关联 Action 属性到 ActionList1 里面的,刚刚加入的那些 Action,就完成菜单项的设置了, 把所有的菜单项都关联到 Action 控件,如下图所示:
菜单项调整顺序:用鼠标左键按住并且拖动菜单项,可以调整菜单项的顺序。 7. 设计工具条 在工具条 ToolBar1 上点击鼠标右键,选择 “New Button” 可以新增一个按钮,选择 “New Seprator” 可以新增一个分隔线。 8. 完成功能 通过前面添加的标准 Action 表格可以看到:FileOpen1、FileSaveAs1、SearchFindNext1 这三个 Action 需要处理。 FileOpen1: 可以在 Filter Editor 里面输入多项内容,在打开对话框里面以下拉表形式选择。 双击 FileOpen1 事件页面里面的 OnAccept 事件下拉表编辑框里面的空白区域,会自动生成函数,在这里显示出来函数名, 在代码编辑里面生成的函数里面,添加打开文件的代码,完成之后是这样的:
FileSaveAs1: 双击 FileSaveAs1 事件页面里面的 OnAccept 事件下拉表编辑框里面的空白区域,自动生成函数,和 FileOpen1 的方法一样,
SearchFindNext1: 9. 编译和运行 点击工具条上的运行按钮 “”,或者使用键盘快捷键 F9 进行以调试方式运行程序。 这个程序缺少 “保存” 和 “新建” 两个项目,请继续阅读 “使用自定义 Action 控件”。 参考链接:创建 VCL 项目 ? 生成独立运行的 exe 文件 ? 运行 exe 项目 ? 调试 exe 项目 ? 选择显示主题 使用自定义 Action 控件 1. 在 Form 上放一个 TActionList 控件 ActionList1 和一个 TImageList 控件 ImageList1 例:“制作一个简单的记事本” 基础上增加 “保存” 和 “新建” 功能 在 “使用标准 Action 控件实现标准功能” 的例子:“制作一个简单的记事本” 基础上,增加 “保存” 和 “新建” 功能 1. 添加 “保存” 和 “新建” 两个 Action: 添加两个 Action 之后的截图: 新增的 Action 需要修改的项目如上面截图所示: 2. 给 Action 添加图标 双击 ImageList1 控件,打开编辑画面: 由于前面的小图片都关联到其他控件了,是根据顺序号关联的,所以不能改变这些小图片的顺序,只能在最后添加新的小图片: 第 11 个和第 12 个小图片就新加入的,在所有其他图片的最后。如果找不合适的小图片,可以把这两个另存下来使用:“”,“”。 双击 ActionList1 控件,打开 Action 列表,选择要加入或修改图标的 Action, 3. 添加到菜单和工具条上 和 “制作一个简单的记事本” 例子的第 6 步 “设计主菜单” 和第 7 步 “设计工具条” 一样, 4. 实现功能 保存: 在代码编辑里面,翻到 Unit1.h 头文件页面,在 private: 里面添加保存文件名的字符串和显示文件名的函数:
在代码编辑里面,翻到 Unit1.cpp 文件页面,
双击 ActionList1 打开编辑画面,找到并且点选 FileSave,在事件页面里面,OnExecute 事件右面的空白位置,生成事件函数,
新建:
5. 编译和运行 点击工具条上的运行按钮 “”,或者使用键盘快捷键 F9 进行以调试方式运行程序。 |
使用 Action 控件
时间: 2024-08-06 21:10:03
使用 Action 控件的相关文章
Qt的action控件中采用默认绑定,没有connect显示绑定!!!
使用qt创建界面时,可以选用代码设计也可以选用qt design来设计.最近看我同事的代码,以前写action都是使用connect链接槽函数的, 网上大多数人都是这样,然后我就纳闷,怎么没有connect,后面发现是采用默认绑定规则(还可以这样!!!!!!!!!,搞死我了,没办法,没有系统学习) qt就是这样!!!!!!! 可以参考下面的链接: 下面内容转自: http://m.blog.csdn.net/yangzijiangtou/article/details/71276127 QT中Q
如何自定义iOS中的控件
本文译自 How to build a custom control in iOS .大家要是有什么问题,可以直接在 twitter 上联系原作者,当然也可以在最后的评论中回复我. 在开发过程中,有时候UIKit的标准控件并不能满足我们的需求,例如你需要一个控件能支持用户方便的选择0-360°之间的一个角度值,此时就需要根据自己的需求自定义控件了. 对于选择角度值的控件可以这样实现:创建一个圆形的滑块,用户通过拖动手柄操作就能选择角度值.实际上这样的控件在别的一些平台中你可能看到过,但是在UIK
4.MVC框架开发(母版页的应用、按钮导致的Action处理、从界面向控制器传数据和HtmlHelper控件的实现(注册的实现))
1.在视图里如何引入母版页 1)在视图里母版页都是放在View目录下面的Shared文件夹下面 2)母版页里的RenderBody()类似于ASP.NET里面的ContentPalceHolder占位符,但是这个RenderBody()只能出现一次 3)@Url.Content是将虚拟路径转换为物理路径的方法 4)在母版页里如果需要别的占位,则就会需要:RenderSection("占位名字",bool值),在子页面就应该这样使用:@section 占位名字{ } 注:如果Rend
XAF 框架中,自定义参数动作(Action),输入参数的控件可定义,用于选择组织及项目
XAF 框架中,如何生成一个自定义参数动作(Action),输入参数的控件可定义? 参考文档:https://documentation.devexpress.com/eXpressAppFramework/113183/Task-Based-Help/Actions/How-to-Customize-Action-Controls 示例 XAF 安装中带的 示例方案: Feature Center 默认安装在 :%PUBLIC%\Documents\DevExpress Demos 17.1\
plupload上传控件错误exec(this.uid, component, action, args)
plupload上传控件错误exec(this.uid, component, action, args) --undefined is not a function Flash元素隐藏后调用控件的销毁方法就会报错,所以要在Flash元素隐藏销毁上传控件 uploader.destroy(); $('#loadlist').on('hidden.bs.modal', function (e) { uploader.destroy(); $('#filelist').empty(); $('.up
How to:Customize Action Controls 如何:自定义按钮控件
This example demonstrates how to customize the control that visualizes an Action in a UI. A custom Action will be created, allowing users to enter a date and filter the List View accordingly. The implemented Action will accept keyboard input, as well
WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要有三种实现方式: 简单忙碌状态控件BusyBox: Win8/win10效果忙碌状态控件ProgressRing: 弹出异步等待框WaitingBox: 二.简单忙碌状态控件BusyBox 效果图: 通过属性"IsActive"控制控件是否启用,后台C#代码: /// <summary> /
C#跨线程操作控件的最简单实现探究
随着程序复杂度的提高,程序不可避免会出现多个线程,此时就很可能存在跨线程操作控件的问题. 跨线程操作UI控件主要有三类方式: 1.禁止系统的线程间操作检查.(此法不建议使用) 2.使用Invoke(同步)或者BeginInvoke(异步).(使用委托实现,并用lambda表达式简化代码) 3.使用BackgroundWorker组件.(此法暂不介绍,详情可见文末的参考资料) 先看一个跨线程操作失败的例子: 新建一个Winform窗口程序项目,拖一个button1和label1控件到Form1窗体
基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍. <input class="easyui