LISTBOX在WIN95下如何列出32768条以上的记录?(45分)

  • 主题发起人 主题发起人 cuiax
  • 开始时间 开始时间
呵呵,好像没有干过这种事
 
你就不要使用LISTBOX了,用TMEMO控件,那你就将所有记录一条条写吧
每个记录就在TMEMO字段里显示一行//当然LISTBOX一些功能没了,但是你可以自己编程
对这个TMEMO控件控制
 
这种情况下还用ListBox简直是自寻烦恼了。
但是还是有办法的,写一个内存表,在程序创建时就把数据Down到内存表中。
显示时你肯定不会全部列出来让人选吧?这时候就可以通过先在内存表中通过条件筛选,
再在ListBox中显示。
 
可以在里ListBox的滚动条滚动事件中动态
加载和释放.
 
可以在msdn中找到一个sample
将自己处理内存问题
 
呵呵有人逐条看3XXXX条记录吗?
 
使用虚拟列表框(Virtual ListBox),网上有现成控件的,速度很快。

另外如果不嫌太慢的话就直接用TListView吧!
 
我看到300条的时候应该已经晕倒了。
 
嗯!作個 ListBox1, Button1
於 Button1's OnClick 事件中寫上
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i := 1 to 40000 do
begin
ListBox1.Items.Add(IntToStr(i));
end;
end;
測試環境為 Win2000 ,OK!

看了手冊,TListBox 的 Items.count 為 Integer .
Integer 在 16bit 環境下為 -32768-32767
我不知 95 下編譯出來的是 16bit 還是 32bit 的程式
如是 16bit 的,可能只能換其他控件或是
照 softprince 所述的方法了。
 
太过分了,这样的列表框简直不是让人用的!
或者本来就不是想让人用的?!
 
多人接受答案了。
 
后退
顶部