我想问一下大家,我想用一个ListCtrl来显示从数据库读上来的批量数据,数据量可能会有几千条,我是直接用一循环依次把返回的记录集中的数据填入ListCtrl,这样如果系统忙时,在ListCtrl初始化数据时,会导致程序没有响应,不知道大家在进行这种批量数据显示时是怎么处理的?

解决方案 »

  1.   

    分批显示吧,如果有几十万条、几百万条记录,都加入ListCtrl是不现实的。
    也可以在循环中加入消息处理代码:
    MSG msg;
    PeekMessage(&msg,NULL,NULL,NULL,PM_REMOVE);
    TranslateMessage(&msg);
    DispatchMessage(&msg);
      

  2.   

    分批显示是不是指的像网页那样分页显示啊,就每显示一定数量的数据,然后通过一个类似“下一页”这样的按钮来处理后续数据的显示,请问iamshuke你说的那个消息处理起到什么作用?响应和处理什么样的消息
      

  3.   

    To  jackion31(jackion31)这段代码的作用是处理消息,当你长时间执行一段代码时,窗体就没反应了,因为消息被阻塞了。可以加入这段代码,让消息不阻塞。当然还要判断一下PeekMessage是否成功了。