ANN: TMultiView, open-source flexible display component (alpha release)
From: marek jedlinski (marek_at_tranglos.INVALID.com)
Date: 06/13/04
- Previous message: C4D - Kim Madsen: "Re: Live chat and remote support for application"
- Next in thread: Herbert Sitz: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Herbert Sitz: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Lauchlan M: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Adem: "Re: ANN: TMultiView, open-source flexible display component (alpha release)"
- Reply: Christian Charette: "Re: TMultiView, open-source flexible display component (alpha release)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sun, 13 Jun 2004 01:09:30 +0200
TMultiView (suggestions for a better name kindly accepted ;) is a
component written in Delphi 6, descended from TCustomControl. I haven't
seen a Delphi component that does what TMultiView does, although some
expensive grids can probably display data in a similar fashion. It's a bit
hard to describe, so here's an example screenshot:
http://www.tranglos.com/delphi/demomv.png
Basic idea: one item consists of one or more rows; each row consists of one
or more cells, and the number of cells in each row can be different. (This
is where it departs from a grid - there's no concept of columns). The
purpose is to display data that typically would be shown in a listview. The
problem with a listview is that not a lot of text fits horizontally, so
horizontal scrolling is usually required or text is shortened to fit within
column width. Using a TMultiView you can allocate as much space as you need
for each piece of data (cell), but the number of items visible in the
client area will be smaller than in a listview, since items tend to be
tall.
TMultiView does not manage a list of items. It only knows the count of
items and the layout (same for all items). The component uses events to
query for data to display in each cell - this is a "virtual" mode familiar
to those who use MIke Lischke's VirtualTree.
Cells can display text or images, have their own font and color, alignment
(horizontal and vertical), cursor, hint. Cells can contain multi-line text
and can display borders.
The component is at a very early alpha stage. It compiles and works to the
extent that you can get a good idea of what it's supposed to be (check the
demo), but several important features aren't built in yet. I have decided
to release the component very early, because I hope to receive comments or
suggestions on how to proceed further; there are several design decisions
that need to be made. I don't recommend installing it in IDE, because the
code is not yet aware of design-time issues and it will be changing often
(including published properties). This is the first visual component I've
written from scratch and I'm learning all the steps as I go.
Description, screenshot, full source code, executable demo:
http://www.tranglos.com/delphi/multiview.html
Please see the demo source code for how to create the component
dynamically, how to design the layout and how to feed data for display
using events.
TMultiView is open-source (Mozilla Public License).
.marek
-- No ads, no nags freeware: http://www.tranglos.com (KeyNote, PhoneDeck, KookieJar, Oubliette, URLInject) Venture capitalists sleep like babies. They sleep for two hours, then they wake up and cry, then sleep for two hours...
- Previous message: C4D - Kim Madsen: "Re: Live chat and remote support for application"
- Next in thread: Herbert Sitz: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Herbert Sitz: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Lauchlan M: "Re: TMultiView, open-source flexible display component (alpha release)"
- Reply: Adem: "Re: ANN: TMultiView, open-source flexible display component (alpha release)"
- Reply: Christian Charette: "Re: TMultiView, open-source flexible display component (alpha release)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|