我要从从SQL SERVER中读取数据,检索数据时是检索一个时间段中间的数据,然后插入到对话框中的列表控件中。当记录很多,超过1万条时,在往控件中插入时明显看到界面几乎处于停顿状态,连对话框都拖动不了了。只有等上几秒钟,等数据处理完,然后才能正常使用。有没有什么办法解决这个问题,就是读取再多数据,也不影响界面的显示与使用?请高手给指点一下解决方案。
解决方案 »
- 有关创建线程内存使用增加的问题
- IP控件灰化
- FindWindow 在应用程序中可以获得指定窗口的句柄 为什么在服务中就不可以呢
- 一个文件过滤驱动的问题
- 如何自动下载ocx控件
- 初级问题,判断用户是否注册的代码应该放到MFC的那个类的中(内详)?
- 大家帮我分析一下,我到底应该去哪里
- socket聊天程序在xp32位上运行没问题但是在win7 64位上显示connect error 怎么办
- vc中有没有控制powerpoint的控件?除IE之外.急啊
- 请教一下有关nt4.0的一个问题
- 请问:如何把输入框制作成ActivaX控件,不能被钩子钩到?
- 用MFC写的程序,在别人电脑上运行,总提示缺少DLL文件
{
// insert record[i] to listctrl
... // 插入下面的消息循环将能保证界面继续响应
MSG msg;
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
{
// insert record[i] to listctrl
... // 插入下面的消息循环将能保证界面继续响应
MSG msg;
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}/////////////////////像这样操作,运行起来界面倒是不受影响了,可结束程序发现窗口虽然已经关闭,可程序还保留在内存中,显然是上面的消息循环导致的,加上它后甚至点击界面的OK按钮都没反应了。请问该怎么解决这个问题。
{
// insert record[i] to listctrl
... // 插入下面的消息循环将能保证界面继续响应
MSG msg;
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
TerminateThread(hThread,1);
PostQuitMessage(1);
break;
} ::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
} -_-b CSDN真#**(@#(..平空加这么多空格干吗??