从Delphi到Lazarus——Lazarus编程时可以使用的组件(控件)
0.前言
使用过可视化编程的人都知道在编程时组件的重要性。可以使用的组件越多,编程越方便快捷。
理论上,Delphi中的所有组件在Lazarus中都可以使用。当然,在Windows编程时多数是可以直接使用的,有些需要做适当的修改才能使用。而在Unix或Linux下编程就有些不能使用了,这涉及到操作系统内核的问题。不过,今天讨论的不是操作系统的问题,而是要告诉大家在Lazarus编程时可以使用哪些组件。
在这篇文章里将会介绍以下内容:
- 在Lazarus中创建一个小程序
- 使用Lazarus中已经集成的组件
- 使用Lazarus中没有安装的组件
- 使用网上提供的经过筛选的优秀组件
- 使用网上提供的第三方组件
- 结束语——使用自己的软件包
下面这个链接中有Lazarus团队精选的可以在Lazarus中使用的组件的详细介绍,你有时间可以看一看。
Category:Components - Free Pascal wiki
1.在Lazarus中创建一个小程序
在Lazarus中编写一个小程序的事情在其他文章中已经介绍过了,可能大家也都已经掌握了这个方法,我之所以还要在这里写上这一段,是因为这是下一步的基础。如果你觉得没有必要,可以跳过这一段。
在Lazarus中创建一个小程序的步骤如下:
- 主菜单:文件->新建…,打开[新建]窗口
- 在[新建]窗口中选择[项目->应用程序],然后点击[确定]按钮,一个名为Project1的小程序就已经创建完成了,这个程序只有一个窗体Form1。下图应该就是你在屏幕上看到了样子。
- 点击主菜单中的[运行->运行](或者点击工具栏中那个跟菜单里一样的绿色按钮,或者直接按快捷键F9),你会看到下部的消息栏中出现了正在编译的信息,编译完成后,你的程序就会运行,这时你会看到屏幕上出现了带有熊爪图标的Form1的窗口,这就是你编写的第一个程序Project1的窗口
- 关闭Project1的窗口,结束Project1的运行
2.使用Lazarus中已经集成的组件
你安装了Lazarus后,Lazarus已经安装的组件都在组件面板中(上图中的③),这些组件你可以直接使用。如果你已经通过安装组件形成了一体化的窗口组件列表中同样也会看到这些组件(上图中的④)。
关于Lazarus已经安装了的组件的介绍你可以点击这个链接看到:Lazarus Tutorial/zh CN - Lazarus wiki
使用Lazarus已经安装了的组件的步骤很简单:
- 在组件面板中找到你要使用的组件,点击这个组件,比如Standard中带有ok字样的那个方框,这是按钮TButton
- 点击Form1中你要放置这个组件的地方,你会看到你的组件已经添加到窗体Form1中了,一个名为Button1的按钮
运行你的程序,你会看到运行后的Form1窗口中比上一次多了一个标有Button1的按钮。点击这个按钮,但它什么也没做。要想让这个按钮有用,还需要添加这个按钮的事件处理程序,这是另外一个问题了,这里不再讨论。
3.使用Lazarus中没有安装的组件
安装Lazarus时除了已经出现在组件面板中的组件,还有许多没有安装的组件。这些组件就在你的电脑中安装Lazarus的文件夹下的components文件夹中。
要想使用这些组件,你需要先安装你要使用的组件。操作步骤如下:
- 点击主菜单中的[软件包->安装/卸载软件包…],打开[安装/卸载软件包]窗口
- 在[安装/卸载软件包]窗口的[可用于安装]栏目中选择你要使用的组件所在的软件包,然后点击[安装选中的]
- 点击软件包安装/卸载窗口下边的[保存并重新编译IDE]按钮,按提示完成安装
具体的操作步骤你可以打开以下链接看一下我在另一篇文章中写的[3.安装整合IDE界面的软件包]的步骤,那里面有图文并茂的描述。
从Delphi到Lazarus——安装最新版的Lazarus - lexyao - 博客园
当然,当你选择使用这些组件的时候,你会感到困惑:怎么才能知道这些软件包里有没有我需要的组件呢?哪一个软件包是我需要的组件呢?
对于这个问题,我也没有找到很好的办法,只是发现在components文件夹下每个软件包所在的文件夹中都有一个README.txt文件,里面有这个软件包的简单说明。
你可以在网上百度一下,或许会找到更好的方法。
4.使用网上提供的经过筛选的优秀组件
Lazarus是开源的自由软件,其背后有一个团队为了维护这个软件在默默地付出。这个团队筛选了许多可用于Lazarus的组件的软件包发布在网上,你可以很方便地使用这个组件。
要使用这些组件,你还是需要先安装你需要的组件所在的软件包。安装的步骤如下:
- 点击主菜单中的[软件包->在线软件包管理器…],打开[在线软件包管理器]窗口
- 勾选你要安装的软件包左边的小方框选中这个软件包(下图中的①)
- 点击窗口下边的[安装],然后按提示继续后边的操作
完成以上操作后,等待软件包下载、安装、Lazarus重新编译,直到Lazarus关闭后重新运行,安装工作完成。
需要注意的是,安装的软件包中的组件有的是在组件面板的独立页面中,也有的是添加到已经存在的页面。如果实在找不到,你可以在右边的组件列表的查找中输入软件包中一个组件的名字,就会看到这个组件的所在的分组,也就找到了组件所在的页面。
另外,要想了解软件包的内容,在[在线软件包管理器]窗口中鼠标在一个软件包名字上悬停,会弹出一个窗口,其中有这个软件包的描述。也可以点击软件包前面的(下图中的②),展开隐藏的内容。展开的内容分为两列,你会在左边一列中看到有一项是[描述],这一行对应的右边一列中的内容就是这个软件包的描述(下图中的③),鼠标悬停在这个描述上,会在右边显示初一个有三个点的按钮[…],点击这个按钮也会看到描述的全部内容。
当然,不是所有的软件包中的描述都是完整的。
5.使用网上提供的第三方组件
Lazarus可以使用的组件,除了以上所说的几种情况,还有大量的第三方软件包。这些软件包之所以没有被Lazarus团队选中,可能是以下原因之一,或者其他未知的原因:
- 软件包存在缺陷
- 软件包不支持跨平台编程(包含平台依赖性的代码)
- 这个软件包不是同类中最优秀的
- Lazarus团队还没有认识到这个软件包中组件的重要性或者说优势
- 软件包有版权要求
不管什么原因,只要你能够从网上下载到你的电脑里,你都可以使用。
使用第三方软件包中的组件同样需要先安装软件包。安装的步骤如下:
- 下载第三方软件包的文件到你的电脑里。如果是压缩文件,解压到一个文件夹中
- 点击主菜单[软件包->打开软件包文件(.lpk)…],在你解压的软件包文件夹中找到并选中扩展名为lpk的文件,然后点击[打开]按钮,在弹出的提问窗口中选择[打开软件包],在弹出的[软件包]窗口中你会看到软件包中的文件
- 点击[软件包]窗口中的[使用->安装],然后按提示继续后边的操作
完成以上操作后,等待软件包下载、安装、Lazarus重新编译,直到Lazarus关闭后重新运行,安装工作完成。
需要注意的是,有些第三方软件包存在缺陷、代码错误等问题,需要你自己去发现、修改。你也可以把你发现的问题发送给软件包的开发者,让他修改后发布新版本的软件包。
6.结束语——使用自己的软件包
如果你已经具备了开发软件包的能力,你可以根据自己的需要开发自己的软件包。你开发的软件包可以自己使用,也可以公布到网上让大家共享。
当然,大多数人不是自己开发软件包,而是在现有软件包的基础上做一些改动,添加自己需要的功能。
至于你会怎么做,那要看你个人的能力、爱好、需求了。你说是不是这样啊?
从Delphi到Lazarus——Lazarus编程时可以使用的组件(控件)的更多相关文章
- 五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时
五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整 ...
- Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
http://www.cnblogs.com/devcjq/articles/2906224.html Flash是Macromedia公司出品的,用在互联网上动态的.可互动的shockwave.它的 ...
- delphi 窗体透明详解TransparentColorValue,窗体透明控件不透明
关于窗体透明的做法 来自:http://blog.csdn.net/shuaihj/article/details/8610343 关于窗体透明的做法 1.在Delphi中,设置窗体的AlphaBle ...
- Python笔记_第四篇_高阶编程_GUI编程之Tkinter_2.控件类
1. Label控件: 说明:标签控件,可显示文本 图示1: 实例1: import tkinter # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win.title ...
- .NET组件控件实例编程系列——5.DataGridView数值列和日期列
在使用DataGridView编辑数据的时候,编辑的单元格一般会显示为文本框,逻辑值和图片会自动显示对应类型的列.当然我们自己可以手工选择列的类型,例如ComboBox列.Button列.Link列. ...
- C#导出 Excel 时, 生成 CheckBox 控件
在使用 Microsoft.Office.Interop.Excel 组件导出Excel 表格时,要把导出前的 CheckBox 控件一同导出到 excel 表格中,对于这个功能 看似很简单,但 M ...
- Qt 编程指南 4 单行编辑控件
从 Qt 设计师界面可以看到常用的 Qt 文本编辑和浏览控件,包括四个: 其中单行编辑控件 QLineEdit 和 普通文本编辑控件 QPlainTextEdit 都是针对最普通的 C++ 字符串编辑 ...
- 发现C#winform编程中不常用的控件(一)<FlowLayoutPanel控件><拆分器控件Splitcontainer >
第一部分:FlowLayoutPanel控件 实现效果: 将FlowLayoutPanel做为导航菜单按钮的容器 以实现 某个菜单按钮不显示时 整体的导航菜单布局不至于"缺憾" 原 ...
- Win32编程点滴5 - 响应ActiveX控件的事件
在最近的一篇文章中说到了,如何创建ActiveX,这次我们来响应事件.这次,我们将创建一个类:CGeneralEventSink,它能够响应任何Dispatch事件(事件的接口继承与IDispatch ...
- Win32编程点滴3 - 简单ActiveX控件的使用
虽然这里一片的.net气氛,到处充斥着像MVC.WPF.WorkFlow.LINQ等各种niubility的术语.但我们使用的Windows还是由COM技术主宰着:我们在选择日常使用的软件时,也会避免 ...
随机推荐
- 搭建本地nginx-rtmp服务,初体验rtmp推流、拉流
实验环境说明: ubuntu 16.04 进行本实验的前提:需要在ubuntu上搭建好ffmpeg环境,参考我的另一篇博文 ffmpeg编译过程经历的99八十一难 下面开始本文内容 PART1 编译安 ...
- vsphere8.0 VCenter部署
一.vCenter Server 介绍 vCenter Server是VMware提供的一种集中管理平台,用于管理和监控虚拟化环境中的虚拟机.主机.存储和网络等资源.它提供了一套功能强大的工具和界面, ...
- war3辅助代码及运行方式
打开VS2019 点这个 自动生成这么一堆代码,全删了,就剩这些就行 然后点这里 然后向CPP里粘贴以下代码 #include "tlhelp32.h" HANDLE hwnd = ...
- 国产OS 中标麒麟下 C# 桌面应用开发环境搭建笔记
1.中标麒麟 7.0 x86 桌面版 默认安装创建用户时,如果没勾选 root 用户使用相同的口令,那么安装完成以后,root 是没有设置口令的,通过 sudo passwd root 输入当前普通用 ...
- USB-DFP UFP DRP模式
USB Type-C 接口支持三种模式:DFP(Downstream Facing Port).UFP(Upstream Facing Port)和 DRP(Dual Role Port).虽然这些术 ...
- 利用3Dnii标签文件,生成png图片
为了便于直观的看到2D标签,通常会将其转化为png图像,具体代码如下: # coding:utf-8 from glob import glob import os import SimpleITK ...
- redis - 认识 nosql 认识 redis 基础 linux安装 redis
sql和nosql的区别 1. 结构化 非结构化 2. 关联的 非关联的 3. sql查询 非 sql 4. 存储方式 磁盘 内存 5.扩展性 垂直 水平 6. 使用场景: 数据结构固定,相关业务 ...
- SQL语法-列的新增、删除
MySQL的语法: 新增列 ALTER TABLE `xxdb`.`xxtable` ADD COLUMN `xx_flag` varchar(1) NULL; 删除列 ALTER TABLE `xx ...
- HarmonyOS NEXT开发之ArkTS自定义组件学习笔记
在HarmonyOS中,ArkTS提供了创建自定义组件的能力,允许开发者封装和复用UI代码.以下是关于自定义组件的详细介绍,包括创建自定义组件.页面和自定义组件的生命周期.自定义组件的自定义布局.冻结 ...
- KubeKey v3.1 发布:快速自定义离线安装包
日前,KubeKey v3.1 正式发布.该版本主要对离线场景部署.离线包制作以及向 Kubernetes v1.24+ 升级进行了优化. KubeKey 简介 KubeKey 是 KubeSpher ...