Book Image

Delphi GUI Programming with FireMonkey

By : Andrea Magni
4 (1)
Book Image

Delphi GUI Programming with FireMonkey

4 (1)
By: Andrea Magni

Overview of this book

FireMonkey (FMX) is a cross-platform application framework that allows developers to create exciting user interfaces and deliver applications on multiple operating systems (OS). This book will help you learn visual programming with Delphi and FMX. Starting with an overview of the FMX framework, including a general discussion of the underlying philosophy and approach, you’ll then move on to the fundamentals and architectural details of FMX. You’ll also cover a significant comparison between Delphi and the Visual Component Library (VCL). Next, you’ll focus on the main FMX components, data access/data binding, and style concepts, in addition to understanding how to deliver visually responsive UIs. To address modern application development, the book takes you through topics such as animations and effects, and provides you with a general introduction to parallel programming, specifically targeting UI-related aspects, including application responsiveness. Later, you’ll explore the most important cross-platform services in the FMX framework, which are essential for delivering your application on multiple platforms while retaining the single codebase approach. Finally, you’ll learn about FMX’s built-in 3D functionalities. By the end of this book, you’ll be familiar with the FMX framework and be able to build effective cross-platform apps.
Table of Contents (18 chapters)
1
Section 1: Delphi GUI Programming Frameworks
4
Section 2: The FMX Framework in Depth
13
Section 3: Pushing to The Top: Advanced Topics

Understanding copying and pasting text

In the demo application, I am using actions (TAction instances) in order to take advantage of OnUpdate or OnExecute events and provide a nice user experience to the user. If something is written in the leftmost memo component, the Copy Text button becomes enabled and the user can use it to set the clipboard content as text.

As the clipboard is no longer empty, the Paste Text button becomes enabled (only if the clipboard content is textual, of course). The same considerations apply to the second row of components, for graphic content. An additional click or touch-enabled label has been added to give the user a chance to clear the PasteImage component. At application startup (the main form's OnCreate event handler), we look up the platform service we desire, that is, the clipboard. The following code snippet shows how:

procedure TMainForm.FormCreate(Sender: TObject);
begin
if not TPlatformServices.Current.SupportsPlatformService...