哪位高手知道可以达到与DoEvents同样效果的API函数

ltp3 2000-01-21 02:57:00
哪位高手知道可以达到与DoEvents同样效果的API函数
...全文
301 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltp3 2000-01-31
  • 打赏
  • 举报
回复
谢谢大家。
vBin 2000-01-28
  • 打赏
  • 举报
回复
利用多线程便可以做到啦。
或者

利用时间控件。
gesan 2000-01-26
  • 打赏
  • 举报
回复
你可以建立一个ActiveX EXE部件来完成你需要完成的复杂的操作,由于ActiveX EXE部件是线程之外运行的,所以不会影响主程序的运行,并且两个程序之间可以进行数据的交换。
xubin_sh 2000-01-26
  • 打赏
  • 举报
回复
while ( bDoingBackgroundProcessing )
{
MSG msg;
while ( ::PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) )
{
if ( ::GetMessage(&msg, NULL, 0, 0)==0 )
{
bDoingBackgroundProcessing = FALSE;
::PostQuitMessage( );
break;
}
}
LONG lIdle = 0;
while ( DoIdle(lIdle++ ) )
;
}
aborigine 2000-01-25
  • 打赏
  • 举报
回复
还是用多线程效果较好,主线程处理消息,创建一个线程在后台专门执行复杂操作.不会有任何延迟感,要完成你所提的任务,即使用API也不复杂.我对VB不是很熟悉,你可去参考一本叫<<Visual Basic5 API编程指南>>的书.
ltp3 2000-01-25
  • 打赏
  • 举报
回复
aborigine:我想达到的效果是:我执行了Me.Caption="kkk",紧接着执行一个很复杂的操作,我的目的仅仅是让"kkk"显示在窗体的标题栏上(如果没有DoEvents,则窗体的标题栏会在我的复杂的操作完成后才显示"kkk")。
agui:你的函数好象是把和该窗体有关的消息全部押后处理。而我的要求恰恰相反,我是要把所有的消息都处理完,然后继续执行我的程序。
光明山人 2000-01-25
  • 打赏
  • 举报
回复
我是低手,希望没有打扰。
用API就复杂了,不是一个函数就能达到的。

VB的语法我不太熟,我用C的语法,希望你能看得懂:

void DoEventsInC()
{
MSG msg;

while( PeekMessage(&msg, hWnd, 0, 0, PM_NOREMOVE) )
{
if(Msg.Message==WM_QUIT)
break;

GetMessage(&msg, hWnd, 0, 0);
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
ahfei 2000-01-25
  • 打赏
  • 举报
回复
>>我想达到的效果是:我执行了Me.Caption="kkk",紧接着执行一个很复杂的操作,我的>>目的仅仅是让"kkk"显示在窗体的标题栏上(如果没有DoEvents,则窗体的标题栏会在>>我的复杂的操作完成后才显示"kkk")。

"kkk"没有显示,是因为来不及显示,所以你可以抢先再复杂操作之前刷新一下这个控件(不知是什么控件).
刷新的方法,我对vb不熟,大概应该是Me.Refresh;
thriller 2000-01-25
  • 打赏
  • 举报
回复
setwindowpos hwnd,0,0,0,0,0,swp_nosize _
or swp_nomove or swp_nozorder or swp_drawframe
aborigine 2000-01-24
  • 打赏
  • 举报
回复
不只你是想达到什么效果?是那种后台执行一种很复杂操作,而前台等待输入的这种吗?
ltp3 2000-01-24
  • 打赏
  • 举报
回复
谢谢两位的回答,不知能否更详细一点。
aborigine 2000-01-22
  • 打赏
  • 举报
回复
最好使用多线程来实现,CreateProcess和CreateThread创建新的进程和线程.
kathywp 2000-01-21
  • 打赏
  • 举报
回复
CreateProcess一新的进程SAME

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧