Hi.
I noticed that screen-readers and GUI automation/test tools are no longer able to access the text of the status bar panels, compare to Delphi's TStatusBar. The reason is simple: Since they are all declared as owner drawn Windows seems to ignore the text passed with the SB_SETTEXT message.
A quick but only partly solution is to not use owner drawing if not necessary:
if not ParentFont or (ImageIndex > 0) then Flags := Flags or SBT_OWNERDRAW;
A better solution would be to implement the Microsoft Accessibility interface MSAA, but this of course means some extra work. This is what we did in the VirtualTreeView component, which is entirely owner drawn.
A third solution would be to turn off owner drawing once the MSAA interface was requested. The according message WM_GETOBJECT is only received a if screen-reader or GUI test/automation tools are actively querying the MSAA interface.
Regards,
Joachim