[comp.windows.ms.programmer] ListBox - Maximum content

pcb@cacs.usl.edu (Peter C. Bahrs) (11/05/90)

I need to display a lot of data that the user can scroll through.  This
is a geology type application.
Each line may contain up to 8 float numbers and there may be
20000 lines of data.
     1.34343 2.3333 10003.333 233.33 ...
           ...

I have written a home grown application window with a bunch of child windows
to mimick the standard listbox (in win386).  
When I got win3.0, I decided to try to get the listbox to do things, 
but only 5000 or so lines get added to the box.  Where and how is this
limit set?  It would be nice for a listbox if you could say, 
      "here, use this file for your contents".

I want the user to be able to select a line.  I will then perform a graphics
operation on another window using that "point".  My own application just
draws a certain subset of information to the screen (adapted from petzolds
win 386 book).  When a user selects with the mouse, a point is returned.
I guess I will have to find things like font height, and number of current
rows and turn the point into an integer that represents the line of data
the user selects.  Yeck!  List box does this!  

ANy ideas?

/*----------- Thanks in advance... --------------------------------------+
| Peter C. Bahrs                                                         |
| The USL-NASA Project                                                   |
| Center For Advanced Computer Studies      INET: pcb@swamp.cacs.usl.edu |
| 2 Rex Street                                                           |
| University of Southwestern Louisiana      ...!uunet!dalsqnt!gator!pcb  | 
| Lafayette, LA 70504                                                    |
+-----------------------------------------------------------------------*/

heath@ncrcae.Columbia.NCR.COM (Robert Heath) (11/06/90)

In article <17902@rouge.usl.edu> pcb@cacs.usl.edu (Peter C. Bahrs) writes:
>
>I need to display a lot of data that the user can scroll through.  
>When I got win3.0, I decided to try to get the listbox to do things, 
>but only 5000 or so lines get added to the box.  Where and how is this
>limit set?  It would be nice for a listbox if you could say, 
>      "here, use this file for your contents".
>

Robert Wood had an article showing how to handle this in the May '90
issue (Vol. 5, No. 3) of Microsoft Systems Journal. 
It was called "Creating Windows List Boxes that Support Virtualized Scrolling." 
The solution is not as simple as you would like, but it handles the problem.

	Robert Heath
	NCR, E&M--Columbia

kensy@microsoft.UUCP (Ken SYKES) (11/07/90)

Another case of 64K segments...

If you need to put more than 64K of data in a listbox then you can write your
own or make a subclass routine that will "virtualize" the listbox.  In other
words it would watch the messages and read the needed items off disk and put
them in the listbox at the appropriate time.

The standard controls weren't intended to handle monstrous amounts of data.

Ken Sykes
Disclaimer:  The above opinions are solely my own.

tmizuno@konnyaku.inagaki.nuie.nagoya-u.ac.jp (Takayuki Mizuno) (11/14/90)

--

                      >> $@?eLn5.G7(J@$@L>8E20Bg3X9)3XItEE5$7O3X2J(J.$@0$Ap8&(J4$@G/(J <<
                      >> takayuki mizuno(tmizuno@nuee.nagoya-u.ac.jp)  <<

 

kea@kasoft.UUCP (Ken Anderson) (11/17/90)

>Robert Wood had an article showing how to handle this in the May '90
>issue (Vol. 5, No. 3) of Microsoft Systems Journal.
>It was called "Creating Windows List Boxes that Support Virtualized Scrolling."

I currently don't get this journal. Does anyone know if
the source code for this article is posted anywhere on the net?

I an interested in generating a file browser (ie non-editing).
I assume that this will fit the bill.

Thanks.
-- 
Ken Anderson, kea@kasoft.UUCP, 416-274-6244 (fax:416-891-2715)
---