Use a dynamically drawn list. It's actually very easy. Here are a few
snippets from an application I wrote, Pocket Library:
First, in the init code for the form:
// open the db
afdb = DmOpenDatabaseByTypeCreator (aftyp, appFileCreator,
dmModeReadOnly);
afListCount = DmNumRecordsInCategory(afdb, dmAllCategories);
// setup the list
listP = GetObjectPtr(AEFList);
LstSetDrawFunction(listP, AFEditDraw);
LstSetListChoices(listP, NULL, afListCount);
Now, here's the AFEditDraw callback function:
static void AFEditDraw(Int16 itemNum, RectangleType *bounds, Char
**itemsText) {
MemHandle rH;
LookupRecordPtr rP;
rH = DmQueryRecord(afdb, itemNum);
rP = MemHandleLock(rH);
WinDrawChars(&rP->text, StrLen(&rP->text), bounds->topLeft.x,
bounds->topLeft.y);
MemHandleUnlock(rH);
}
See? Piece of cake!
"Marco Pantaleoni" <[EMAIL PROTECTED]> wrote in message
news:73970@palm-dev-forum...
>
> Hi,
> I'm new to Palm OS programming, and I need to implement browsing
> functionality for a DB with a large number of records (about 20,000).
> The records should be displayed as a scrollable list of strings.
> Clearly I don't want to allocate storage in memory for all the strings.
> I'm wondering if The Right Thing is using a List control (without
> actually allocating the strings for all the records, but by resorting
> to LstSetDrawFunction()), or a single-column Table control with custom
> drawn labels.
> Your opinion and experience on the subject would be very appreciated.
> Thanks in advance.
>
> Cheers,
> Marco
>
> --
> ========================================================================
> Marco Pantaleoni [EMAIL PROTECTED]
> Padova, Italy [EMAIL PROTECTED]
> elastiC language developer http://www.elasticworld.org
>
>
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/