Article View: comp.windows.ms.programmer
Article #2689Re: What does Yield do?
From: Duncan Murdoch
Date: Thu, 16 May 1991 19:02
Date: Thu, 16 May 1991 19:02
35 lines
1786 bytes
1786 bytes
In article <1095@venice.SEDD.TRW.COM> press@venice.sedd.trw.com (Barry Press) writes:
>In article <1991May16.121553.3876@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes:
>>
>>I'm trying to civilize it by putting occasional calls to Yield into the
>>loop, but it's ignoring mouse events.. If other windows have
>
>One of your problems may be that while Yield lets other programs process
>messages, it doesn't let YOUR program do so.
>
>The problem this presents is this: Assume your program has the focus.
>When some other program is to get the focus, you get sent a message
>(WM_KILLFOCUS, WM_FOCUS, WM_SETFOCUS, or something along those lines)
>that tells you you're losing it.
Thanks for the help (and thanks to Terrell for the SDK manual quote). Yes,
that looks like what's happening. What I've done, which seems to work, is
to write my own Yield that does one cycle through a standard message
processing loop:
procedure yield;
var
msg : TMsg;
begin
if Getmessage(msg,0,0,0) then
begin
Translatemessage(msg);
Dispatchmessage(msg);
end;
end;
As long as I call this frequently enough, things are fine. (I have a
window procedure that handles all the focus messages by passing them
on to the default handler.)
Duncan Murdoch
Technical Details
Message-ID:
<1991May16.190243.27809@maytag.waterloo.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!maytag!watstat.waterloo.edu!dmurdochReferences:
<1991May16.121553.3876@maytag.waterloo.edu> <1095@venice.SEDD.TRW.COM>Show Full Headers
Complete Article Headers
Newsgroups: comp.windows.ms.programmer Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!maytag!watstat.waterloo.edu!dmurdoch From: dmurdoch@watstat.waterloo.edu (Duncan Murdoch) Subject: Re: What does Yield do? Message-ID: <1991May16.190243.27809@maytag.waterloo.edu> Sender: news@maytag.waterloo.edu (News Owner) Organization: University of Waterloo References: <1991May16.121553.3876@maytag.waterloo.edu> <1095@venice.SEDD.TRW.COM> Date: Thu, 16 May 1991 19:02:43 GMT Lines: 35