delphi组件源码:HTML Component Library 3.9
HTML Component Library is a cross-patform and 100% native HTML rendering library for Delphi and Lazarus that brings all the power of HTML/CSS into desktop and mobile Delphi applications.

Unlike other «HTML-like» libraries it is based on powerful HTML/CSS rendering core with full support of HTML 4.1 and CSS 3 (some of HTML 5 tags are also supported). Tables, shadows, transitions, animations, SVG images, tranforms and much more.

No DLL’s, no ActiveX, no third party libraries dependencies, only pure native Delphi code.

Library is used by thousands of developers from 50 countries, and even by Delphi IDE (from version 11.2).

Compatibility
Library supports all Delphi versions from ancient Delphi 5 to Delphi 11 Alexandria. For Delphi XE4 - Delphi 11 Alexandria all FMX platforms are supported - Win32/64, OSX, Android, iOS and Linux.

Linux GUI is supported with FMXLinux library and in Lazarus

Unicode (including Right-to-Left) is supported even for non-unicode Delphi 5 - 2007 using widestrings and TNT Unicode library.

Updates for new Delphi versions are released in one week (max) after Delphi release.

Parts
Library core contains:

HTML parser with full support of HTML standard and ability to handle incorrect markup. It was tested on thousands of real-world emails so missed closed tags and incorrect tag order is not a problem. Also it is currently fastest native HTML parser for Delphi.
XML Parser with XPath support.
CSS parser with CSS 3 support.
DOM classes with JQuery support.
SVG rendering library.
HTTP client with native implementation for Windows and OSX and https support.  
HTML rendering core.
Set of rendering canvases (GDI, GDI+, Direct2D, FMX, Android, iOS, OSX, Linux (Lazarus), Meta, Plain Text)
Set of HTML-enabled VCL controls including Label, Panel, ListBox, ComboBox, Tabs, CheckBox, RadioButton, SpeedButton, PopupMenu, ComboListBox, Virtual Tree, CategoryButtons, BalloonHint. 
Powerful cross-platform scripting engine
Bundle also contains
Email framework
SQL framework
HTML rendering class is separated from drawing class so you can choose between available drawing classes or write your own. Currently library contains GDI, GDI+ and Direct2D canvases for VCL (All Delphi versions and Lazarus), FMX canvas for FMX Win32/64, iOS, Android and OSX and also native Android, iOS and OSX canvases.

Conversions
Following format conversions can be performed using the library on all platforms including mobiles and without external dependencies:

Convert HTML to PDF
Convert HTML to plain text
Convert HTML to images (JPEG, PNG, etc.).
Convert HTML to SVG
Convert RTF to HTML, PDF, images, SVG, plain text
Convert MS Word .DOCX to HTML, PDF, Images, SVG, plain text
Performance
Library core is heavily optimized and extremely fast. Parsing speed is about 100Mb/s so parsing of typical 100Kb document takes only 1ms. Style and layout calculations takes additional 20ms for 100Kb document.

Using of native canvas on Android provides smooth scrolling and zoom similar to native Android applications (much better than FMX controls) and correct text rendering with full RTL support, kerning pairs and baseline alignment.

How to use
Drop THtPanel on form and set it’s HTML property. That’s all you have to do to get HTML viewer with automatic scrollbars, build-in zoom support (Ctrl+Wheel or zoom gesture), gestures support for both VCL and FMX, picture loading (from file or internet) with BMP, JPEG, PNG, ICO and GIF support, hints (HTML title attribute) animations and transitons (for elements with :hover or :active styles).

To simply draw HTML on Canvas write

Doc := THtDocument.Create;
try 
  Doc.Parse(HTML); 
  Doc.Draw(Canvas, Rect); 
finally 
  Doc.Free 
end; 
Why do I need it?
VCL and FMX contains a lot of powerful controls with many features. But what if you need something non-standard, for example put an image into listbox item?

Of course writing OnDraw event handler and using canvas methods is a simplest way... as long as image is not placed inside the text and text not contains several lines and some formatting. With HTML enabled list box you can just add Some text with <b>formatting</b> and <img src="myimage.png"/>image </p>

How many lines of code is neccesary to draw simple rounded rectangle with shadow and gradient? Or tiled background image Or symbol table Changing HTML property could turn simple Panel into this

Delphi组件源码:HTML Component Library 3.9相关推荐

  1. delphi组件源码:TMS Diagram Studio 4.27

    TMS Diagram Studio 能够为用户程序插入图表和流程图.它被认为是一组允许用户和开发人员向可用软件添加非常创新的图表和流程图功能的元素.外壳的高级内部和基本包含的图形,它们的行为可能与专 ...

  2. 【商业版】C# ASP.NET 通用权限管理系统组件源码中的数据库访问组件可以全面支持Access单机数据库了...

    可能在5年前还用过Access单机数据库但是后来很少用了,可能平时接触的都是大型管理类系统的开发工作大部分是Oracle.SQLServer数据库上做开发的,很少做一些小网站或者单机版本的东西,所以跟 ...

  3. ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...

    我们在日常开发项目过程中往往需要各种订单单号的产生方法,而且是支持多用户并发.支持多种数据库的,我们并不想为每个项目都写一些独立的代码去实现这些功能,往往需要有个通用的函数比较爽一些. 下面我们以C# ...

  4. Android一个漂亮的日历组件源码

    简介: Android 一个漂亮的日历组件源码主要特性 日历样式完全自定义,拓展性强 左右滑动切换上下周月,上下滑动切换周月模式 抽屉式周月切换效果 标记指定日期(marker) 跳转到指定日期 下载 ...

  5. elementui组件_elementui 中 loading 组件源码解析(续)

    上一篇我们说了elementui如何将loading组件添加到 Vue 实例上,具体内容见上期 elementui 中 loading 组件源码解析. 这一篇我们开始讲讲自定义指令 自定义指令 关于自 ...

  6. Ui学习笔记---EasyUI的EasyLoader组件源码分析

    Ui学习笔记---EasyUI的EasyLoader组件源码分析 技术qq交流群:JavaDream:251572072   1.问题1:为什么只使用了dialog却加载了那么多的js   http: ...

  7. elementui table某一列是否显示_elementui 中 loading 组件源码解析(续)

    上一篇我们说了elementui如何将loading组件添加到 Vue 实例上,具体内容见上期 elementui 中 loading 组件源码解析. 这一篇我们开始讲讲自定义指令 自定义指令 关于自 ...

  8. NET开发邮件发送功能的全面教程(含邮件组件源码)(

    天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下. AD:2013云计算架构师峰会精彩课程曝光 ...

  9. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2 ...

最新文章

  1. 办公室网络打印机的连接
  2. Oracle的rownum原理和使用
  3. 应届生,你如何应付技术关?
  4. python--while循环
  5. 【渝粤教育】国家开放大学2018年秋季 1141t工程经济与管理 参考试题
  6. JACKSON JSON 操作帮助类
  7. 六十八个超级经典小故事
  8. MyBatisPlus中的TypeHandler
  9. IDEA 可以提神开发效率的插件
  10. 数据库服务器,sql
  11. chemdraw怎么画拐弯的箭头_怎么样绘制弧形箭头?
  12. 微信小程序 — tag标签设置选中效果和未选样式
  13. 微软开源自有云服务器专属 Linux 发行版 CBL-Mariner,可在 GitHub 免费下载!
  14. 硬核黑科技告诉你,漫威 10 年到底有多少个角色?
  15. 计算机网络三级考试题型,计算机三级网络技术考试题型分析
  16. 淘宝钓鱼网站抓不住吗
  17. 在抖音及一些直播上,如何进行违禁词在线检测呢?
  18. 网络加速_蓝汛安全CDN加速解决方案,维稳网络安全
  19. 免费宽带认证计费系统
  20. php上传图片模范代码

热门文章

  1. Linux中buff/cache内存占用过高-手动清除释放内存
  2. 第三章、供应商选择与合同授予的标准
  3. 龙芯软件开发(26)-- PCI设备初始化4
  4. speedtest命令行linux,Linux通过命令行使用speedtest宽带测速
  5. 软件开发工作会在35-40岁走入死胡同吗?
  6. 【JS函数】JS函数之高阶函数、组合函数、函数柯里化
  7. AutoCAD数据导入SuperMap后的投影定义与投影转换
  8. WebSocket Java 应用
  9. java简历项目经验怎么写
  10. mysql 获取唯一值_mysql获取全局唯一值_MySQL