Overview
TeeGrid for FireMonkey provides cross-platform grid components that work across Windows, macOS, Linux, iOS, and Android. The FMX implementation uses Firemonkey’s GPU-accelerated rendering for smooth performance on all platforms.FMX TeeGrid is implemented in the
FMXTee.Grid unit and supports all platforms targeted by Embarcadero’s FireMonkey framework.Installation
Add the FMX units to your project’s uses clause:Platform Support
FMX TeeGrid is available for all FireMonkey platforms:Desktop
- Windows (Win32/Win64)
- macOS (32-bit/64-bit)
- Linux (64-bit)
Mobile
- iOS (Simulator/Device/Device64)
- Android (32-bit/64-bit)
All Platforms
Single codebase works across all platforms with platform-specific optimizations.
Platform Attribute
FMXTee.Grid.pas:102
Architecture
The FMX implementation consists of two main classes:TFMXTeeGrid
Internal grid engine optimized for FireMonkey:FMXTee.Grid.pas:50
- Uses FMX controls for cell editing
- Touch gesture support
- GPU-accelerated rendering
- Platform-agnostic input handling
TTeeGrid
Public FireMonkey component:FMXTee.Grid.pas:110
- All standard TeeGrid properties
- FMX-specific properties (Touch, Gestures, etc.)
- Cross-platform layout properties
Rendering
FMX Painter
FireMonkey uses GPU-accelerated rendering through theTFMXPainter class:
FMXTee.Painter.pas:50
- Hardware-accelerated drawing
- High-quality text rendering with TextLayout
- Native platform appearance
- Automatic DPI scaling
Quality Settings
- Quality Mode (Default)
- Speed Mode
- High-resolution displays
- Retina/4K screens
- When visual quality is priority
Paint Method
FMXTee.Grid.pas:197
Paint method instead of VCL’s PaintWindow.
Cell Editing
FMX Editor Controls
FMX TeeGrid supports FireMonkey editor controls:Key Differences from VCL
TDateEdit vs TDateTimePicker
TDateEdit vs TDateTimePicker
TComboColorBox vs TComboBox for Colors
TComboColorBox vs TComboBox for Colors
TNumberBox vs TSpinEdit
TNumberBox vs TSpinEdit
Editor Events
FMX uses the same event signatures but with FMX controls:Database Integration
Cross-Platform Data Binding
FireDAC Example
FireMonkey with FireDAC
FireMonkey with FireDAC
Unit_Main.pas
Touch and Gestures
Touch Support
FMX TeeGrid includes built-in touch and gesture support:Gesture Handling
FMXTee.Grid.pas:217
- Pan Gesture
- Zoom Gesture
Input Handling
Keyboard Events
FMX uses different keyboard event signatures:FMXTee.Grid.pas:192
KeyCharparameter for character input- Cross-platform key codes
DialogKeyfor special keys
Mouse Events
FMX uses floating-point coordinates:FMXTee.Grid.pas:193
Themes and Styling
FMX Styles
FireMonkey uses style sheets for platform-specific appearance:Platform-Specific Appearance
Scrolling
FMX ScrollBars
FireMonkey scrollbars adapt to platform:Layout and Positioning
FMX Layout Properties
FireMonkey uses floating-point layout:Mobile-Specific Features
iOS and Android
Touch Target Expansion
Touch Target Expansion
Virtual Keyboard
Virtual Keyboard
Retina/High-DPI Support
Retina/High-DPI Support
Performance Tips
Use Speed Mode for Mobile
Use Speed Mode for Mobile
Enable Drag Scrolling
Enable Drag Scrolling
Clip Children
Clip Children
Reduce Redraw Frequency
Reduce Redraw Frequency
Platform Detection
Conditional Compilation
Common Patterns
Cross-Platform FMX Grid
Complete FMX Example
Complete FMX Example
Limitations
See Also
VCL Framework
Native Windows implementation
Lazarus Framework
FreePascal cross-platform support
Cell Editing
Editor controls and customization
Themes
Visual themes and styling
