> Tabbing through controls is handled in DefDialogProc() when 1) dialog is
> modal or 2) you call IsDialogMessage() explicitly. I have no idea how to
> implement this when the buttons are inserted into a window of another
> class (when DefDialogProc is not the window procedure); certainly it is
> possible somehow. An option is to trap keypress messages and do the
> tabbing yourself.


Actually, it's 'TranslateMessage' that is causing the problem.

>From the WinSDK helpfile:

"The TranslateMessage function translates virtual-key messages into
character messages. The character messages are posted to the calling
thread's message queue, to be read the next time the thread calls the
GetMessage or PeekMessage function."

It is therefore removing the VK_TAB from the message the Button etc sends.
This is needed to implement the WS_TABSTOP functionality.

I've tested this in a framework I have been tinkering with (multithreaded
widget framework, each window has it's own thread, as does the application
instance) and it solved the lack of tabstop immediately.

If you're interested I can send you the source to look at, though it's in a
bit of a strange state at the moment die to me hacking it to solve the above
probelm (without initially knowing how to.)

Matt




_______________________________________________
fpc-pascal maillist  -  [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to