With the help of someone else, I'm now on the right track.
I can now get the DLL forms to handle tabs!!! But this requires taking
over the processing of all windows messages for the application. I put
this in the Application.OnIdle event.
Handle := FindWindow(...); // handle to DLL dialog
...
var
Msg: TMsg;
begin
while GetMessage(Msg, 0, 0, 0) do
begin
if not IsDialogMessage(Handle,Msg) then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
end;
This works great for the DLL window, but the main application now does
not seem to be processing window messages! Popup dialogs will open but
not close. I don't understand why.
Is there a better way?
I tried using PeekMessage rather than GetMessage, but this did not work.
The messages disappear unless I process all messages myself.
I'm almost there but not quite.
Thoughts?
Thanks,
Ross.
----- Original Message -----
From: "Darren Ferguson" <[EMAIL PROTECTED]>
To: "Borland's Delphi Discussion List" <[email protected]>
Sent: Tuesday, August 01, 2006 11:38 AM
Subject: RE: DLL Forms
Hi Ross,
No hard and fast answer, but search the archives at www.tamaracka.com
for a message by Jacques Venter with the subject "Re: Modeless Forms in
DLLs", posted on 1 June 2004 to
borland.public.delphi.language.delphi.win32. It may not fix the problem,
but it may point you in the right direction as to what is going on.
Regards,
Darren
--
Darren Ferguson
Senior Software Engineer
Clinical Software Division
Medtel Australia
Adelaide, South Australia
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Ross Levis
Sent: Monday, 31 July 2006 11:56 AM
To: [email protected]
Subject: DLL Forms
I'm loading some 3rd party C++ DLL's from my Delphi app. Most of these
DLL's have a configuration form.
Some blind users have pointed out that the tab and shift+tab key is not
working in the DLL forms. The default beep sounds when using the tab
key.
This is a major problem for blind users who rely on it for navigation.
All other keys including the arrow keys appear to work fine.
Other applications that load the same DLL's do not have this problem!
I'm assuming my app is taking over the tab key even when the DLL form
has the focus. What can I do to fix this?
Many thanks,
Ross.
_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi