Overview - Download
- Purchase - Contact
- FAQ - What's New!
Last changed: 15Feb2010
Platforms: Delphi 5 - 7, 2005 - 2010
With the DtpDocuments component suite, you, the developer, can
instantly add professional-quality document editing capabilities to your
It is not the next reporting component that can only output square, unblended
shapes and text blocks. This component can handle virtually every graphical
aspect, including native free rotation and alpha blending
on pixel and shape level.
DtpDocuments is used in a very diverse number of applications:
- Photo editors
- Desktop Publishing and home publishing applications
- Multipage print previews
- Process visualisation
- Reporting engines
- CAD/GIS editors (2D) - also eCAD, ODB++
- Flowcharting and diagramming applications (e.g. VISIO-alike)
The demo editor at work
The TDtpDocument component is designed from the ground up to take
away a lot of work from your hands:
- Provide a scrollable region that visually looks like a paper
page on which the user can drag, drop and edit all kinds of shapes,
using mouse and keyboard. Scrolling and zooming, as well
as moving shapes is super fast and completely flicker
free due to smart internal caching and full usage of MMX.
- Provide a complete multi-page document object that holds any
number of pages, which are also accessible through a clickable thumbnail
- Provide a complete storage mechanism to store these pages and
their contents into one file. The file can also efficiently store any
kind of embedded data in shapes (e.g. images), as well as user data
- Provides full cut/copy/paste for shapes and pages within the
application or even between applications using the Windows clipboard.
- Provides high-quality printing, either complete document or
selections, at multiple resolutions, to a device (printer) or to an
- Full undo and redo functionality is built right into
the component. No need to worry about writing your own, it is already
there. There is a configurable undo limit and the undo information is
stored very efficiently (transaction based).
- Positioning helpers are provided: grid, dots, or checker
pattern, functions "snap to grid" and hotzone scrolling.
Rotation is free by default but with StepAngle it can be configured
to be done in steps.
Each shape within the document inherits a wealth of properties from the
basic shape (TDtpShape component). You can use the shapes that
come with the component suite, which in most cases will suffise, or you
can even create your own shapes based on any of the shapes provided.
- Add all kinds of shapes to the document: text, memo, bitmaps, metafiles,
polylines, line segments, rectangles, squares, ellipses, freehands,
etcetera. Have a look at the shape family for an impression.
- Each shape supports free rotation by nature. If you override
a shape, you do not need to provide code for rotated drawing, this is
all handled by the component.
- Shapes can be semi-transparent, on shape level (master alpha)
as well as pixel level.
- All shapes can be grouped. Groups can be rotated and grouped
- Each shape can be given a lot of different effects, among these:
- frame around shape,
- hue/saturation/lightness adjust.
- gradients (horizontal, diagonal, from corner, from center),
using colors or alpha channel, up to 3 different gradients per shape!
- Shapes have floating point precision in contradiction to most
other graphical engines that have only integer precision. The shapes
can be very accurately placed and sized on the document.
- Shapes can have hints and popup menus, special insert cursors, animation.
- Shapes can be smartly selected because their own alpha channel
is used. So you can select shapes behind other shapes through "holes"
in the foremost shape.
- Text and memo shapes can be edited in-document (even when rotated)
For more technical information please consult the documentation
in the trial version or demo, or click
here to visit the online help documentation. Most common questions
can be found in the F.A.Q.
Simdesign's consultants are also happy to answer all your questions or
to provide small coding examples. Please visit our forum
with questions or for personal requests