View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006541||JEDI VCL||00 JVCL Components||public||2016-12-20 12:46||2020-05-19 10:31|
|Target Version||Fixed in Version|
|Summary||0006541: Disabled TabSheets in JvPageControl are accessible through the keyboard|
|Description||A disabled TabSheet in a JvPageControl is not accessible using the mouse, but it remains accessible through the keyboard using the left or right arrow when the focus is on the tab of the sheet.|
I propose the following improvement: to deny access via the keyboard, or better, still in Delphi’s PageControl a disabled TabSheet is still accessible (even with mouse), to add a property to let the user choose the behavior it wants.
Thank you for your time
|Tags||No tags attached.|
||Could you check if the issue is still present in the latest GIT content? If yes, please provide the zipped sources of an application showing this.|
||The issue is still present in jvcl 3.50 with Delphi 10.3 rio|
Demo.zip (53,427 bytes)
Interestingly, the VCL itself with a normal TPageControl does not respect the Enabled property of any TTabSheet at all.
So question: I can reproduce your issue on 10.3 Rio Update 1 with your simple demo fine enough, but is this really as it should work or asked otherwise: is the VCL wrong by not respecting Enabled of any TTabSheet?
Ok, WMLButtonDown contains this code:
if (RealIndex < PageCount) and (RealIndex >= 0) and
((hi.flags and TCHT_ONITEM) <> 0) then
if not Pages[RealIndex].Enabled then
Msg.Result := 0;
which makes clicking on a disabled tab a no-op.
Keyboard handling most likely uses TPageControl.FindNextPage, which does not check for enabled or not. But that one is public and not virtual, so we cannot simply override it. Now what to do, besides wishing EMBT to respect enabled property?
Ok, created this QP request:
But it's unsure if it will help us...
=> what should be our solution?
||It looks like keyboard handling is mostly done by TPageControl from VCL itsself. SO I guess if EMBT fixes the issue reported in the QP report listed above it would be fixed along with it.|
||As this comes from the VCL itself, we can't do much|
|2016-12-20 12:46||CDametto||New Issue|
|2018-07-18 15:48||obones||Note Added: 0021506|
|2018-07-18 15:48||obones||Status||new => feedback|
|2019-01-25 11:27||CDametto||Note Added: 0021602|
|2019-01-25 11:28||CDametto||File Added: Demo.zip|
|2019-04-25 21:51||mh||Note Added: 0021740|
|2019-04-27 13:36||mh||Note Added: 0021756|
|2019-04-27 13:41||mh||Note Added: 0021757|
|2019-05-12 14:13||mh||Note Added: 0021827|
|2020-05-19 10:31||obones||Assigned To||=> obones|
|2020-05-19 10:31||obones||Status||feedback => resolved|
|2020-05-19 10:31||obones||Resolution||open => not fixable|
|2020-05-19 10:31||obones||Note Added: 0021925|