In reply to your message of July 23, 2003
> The answer is simple, but very illusive!!! > while (GetMessage(wmsg, FWindowHandle, 0, 0)) do begin > if not ( IsDialogMessage(FWindowHandle, wmsg) ) then ///this is the > line you nees to add > TranslateMessage(wmsg); > DispatchMessage(wmsg); > end; > If you look at what TranslateMessage actually does it all becomes clear. THANKS! ... I never would have stumbled on that one without some help. The final version is this: while GetMessage(@oMsg,0, 0, 0) do begin if not (IsDialogMessage(OHandle,omsg)) then begin TranslateMessage(oMsg); DispatchMessage(oMsg); end; end; I had to bracket both translatemessage and dispatchmessage before it would work. Now the ws_group and ws_defpushbutton work too. ----- L D Blake _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal