精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>一般性编程问题>>Windows消息:鼠标、键盘等>>bcb中怎样实现delay的同驶?能响?鼠

主题:bcb中怎样实现delay的同驶?能响?鼠
发信人: hotlv()
整理人: wenbobo(2002-12-06 22:40:21), 站内信件
在BCB中,调用GetTickCount()来延迟动作,怎样实现才能是程序依然能响应鼠
标?我用while语句老是不行.谢谢.中秋快乐

for(i=1;i<=increx;i++){
...
while((GetTickCount()-lTime)<300);
Form1->PaintBox1->Canvas->Pixels[x][y] = ForColor;
  ...
  }

--
※ 修改:.hotlv 于 Sep 24 08:57:57 修改本文.[FROM: 202.116.46.27]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.116.46.27]
发信人: tengel (Dragon), 信区: CLanguage
标  题: Re: bcb?
发信站: 网易虚拟社区 (Fri Sep 24 09:07:55 1999), 站内信件

【 在 hotlv (lv) 的大作中提到: 】
: 在BCB中,调用GetTickCount()来延迟动作,怎样实现才能是程序依然能响应鼠
: 标?我用while语句老是不行.谢谢.中秋快乐

: for(i=1;i<=increx;i++){
:    .......
试一下
for(i=1;i<=increx;i++){
...
while((GetTickCount()-lTime)<300)
{
if(PeekMessage(&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

Form1->PaintBox1->Canvas->Pixels[x][y] = ForColor; 
        ... 
        } 

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.33.108]
发信人: jchao (笨笨猫), 信区: CLanguage
标  题: Re: bcb?
发信站: 网易虚拟社区 (Fri Sep 24 10:09:29 1999), 站内信件

【 在 hotlv (lv) 的大作中提到: 】
: 在BCB中,调用GetTickCount()来延迟动作,怎样实现才能是程序依然能响应鼠
: 标?我用while语句老是不行.谢谢.中秋快乐

: for(i=1;i<=increx;i++){
:    .......

如果是for,while,鼠标,显示,是不会响应的.
用timer 可以.

--
我是一只笨笨猫.
哼! 存在的自然合理.  要是不合理,它怎么会存在?
 有人说: 杀人放火存在,难道合理吗???
   猫说: 如果没有各种内因外因发生作用, 杀人放火会存在吗?
         既然各种导致它发生的因素都存在,那么它不发生才是
         不合理呢!!

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.135.156]
发信人: dunhill (烟灰飞扬), 信区: CLanguage
标  题: Re: bcb?
发信站: 网易虚拟社区 (Fri Sep 24 10:56:16 1999), 站内信件

【 在 hotlv (lv) 的大作中提到: 】
: 在BCB中,调用GetTickCount()来延迟动作,怎样实现才能是程序依然能响应鼠
: 标?我用while语句老是不行.谢谢.中秋快乐

: for(i=1;i<=increx;i++){
:    .......

Win32和Win16一样,窗体函数是不可重入的。所以你在处理一条
消息的时候,是不会去相应另外一条消息的。虽然你用的不是SDK
来编程,但终究原理是一样的。在Win16时更过分,你的程序在处
理消息时,其他Win16程序也不能处理消息,或者说,其他的应用
程序被挂起,直到你GetMessage时控制权回到操作系统,才可能
重调度。这就是所谓的协作式多任务。

但Win32支持多线程,所以,你可以开一个线程来处理一些后台工
作或周期性的工作,比如,Poll一个端口或设备,刷新动画等等。
但前台的主线程依然可以响应消息,与用户交互。

我向你应该明白了该怎么做。

--
烟水寻常事,荒村一钓徒。
深宵沉醉起,无处觅菰蒲。

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 207.34.202.2]
发信人: hotlv (lv), 信区: CLanguage
标  题: Re: bcb?
发信站: 网易虚拟社区 (Fri Sep 24 19:12:18 1999), 站内信件

【 在 tengel (Dragon) 的大作中提到: 】
: 【 在 hotlv (lv) 的大作中提到: 】
: : 在BCB中,调用GetTickCount()来延迟动作,怎样实现才能是程序依然能响应鼠
: : 标?我用while语句老是不行.谢谢.中秋快乐
: : 
:    .......

不好意思,再问个菜鸟问题:在哪里定义mag?

--
    潮人梦萦三杯茶,茶友何处不聊天?
    今朝有茶今朝醉,那管明日无路归!
    性情中人,俗世凡鸟.
    网易社区,与你寻趣.

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.116.46.254]

[关闭][返回]