Sven Barth schrieb:

Delphi developers tend to use messages that the Windows control itself understands, but are not necessarily handled by the VCL. So these messages might also not necessarily be implemented by the LCL at all and thus the corresponding messages will be sent for nothing on non-Win32 widgetsets.

I see. Every widget should recognize and handle its *specific* messages. When a widget cannot implement the requested functionality, due to widgetset restrictions, the message is lost of course. The same would happen when a (handler) method were called directly, instead of sending the message.

I know that the communication between the LCL and the widgetsets is based on method calls, instead of messages. This turned out to be problematic, as can be seen e.g. in the implementation of TTabControl and TPageControl. These controls cannot implement all the features of the the Win32 widgets, due to an inappropriate widget interface.

It's also known that many messages *must* be handled by the LCL, in order to keep the states of an LCL control and its related widget in sync. This were not necessary when using messages for LCL/widgetset communication.


Perhaps its clear now why I vote for an additional Windows widgetset, with a message-driven communication between the widgetset and the native controls. Then at least on a Windows platform no control messages can get lost, and the full functionality of the controls is available to the coders.

DoDi


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to