Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Task Panel
  New Posts New Posts RSS Feed - invalid tabbing choice
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

invalid tabbing choice

 Post Reply Post Reply
Author
Message
rdhd View Drop Down
Senior Member
Senior Member
Avatar

Joined: 13 August 2007
Location: United States
Status: Offline
Points: 573
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdhd Quote  Post ReplyReply Direct Link To This Post Topic: invalid tabbing choice
    Posted: 24 May 2013 at 12:40pm
Set up a task panel with a group. Add a couple of dialogs to the group. Disable all the controls in the first dialog. Set focus on the group header. Hit the tab button.

CXTPTaskPanel::SetFocusedItem calls ::SetFous as the end of the routine on the dialog that has all the disabled items. That dialog is returned from the m_pItemFocused->GetControlHandle() call.

I see no code in the taskpanel processing that ensures the handle returned is valid for focus. In this case it obviously is not as there are no enabled and visible controls on the dialog I inserted.

Can CodeJock please fix this problem?
Back to Top
ilya View Drop Down
Groupie
Groupie


Joined: 07 May 2012
Status: Offline
Points: 37
Post Options Post Options   Thanks (0) Thanks(0)   Quote ilya Quote  Post ReplyReply Direct Link To This Post Posted: 31 May 2013 at 1:49pm
Do you mean to check if the control is disabled and process Tab key for the next control?
Back to Top
rdhd View Drop Down
Senior Member
Senior Member
Avatar

Joined: 13 August 2007
Location: United States
Status: Offline
Points: 573
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdhd Quote  Post ReplyReply Direct Link To This Post Posted: 01 June 2013 at 4:43pm
ilya

In my case the first inserted dialog has no visible and enabled control. So ideally the tabbing code would move to the first enabled control in the next dialog in the group. If no controls are valid for tabbing it would move on until it either found a control in a dialog in the group or move to the next group header. Currently the code I stepped into simply obtained the first dialog and set focus on it. Since no control was enabled on the dialog, focus was completely lost.

I am not where I can test this but I also believe shift-tab is not very robust. If I am on a task panel header and there is a group with dialogs above/preceding the one with focus and I shift-tab, ideally the focus would be put on the last control with a tab stop in the last dialog in the preceding group. I think CJ just gets the first dialog in the preceding group and sets focus on it.

Basically the task panel should behave like one big dialog with the group headers treated as just another control. Tabbing should progress just like on a dialog and that includes cycling from start to end to start with shift tab reversing the procession.
Back to Top
ilya View Drop Down
Groupie
Groupie


Joined: 07 May 2012
Status: Offline
Points: 37
Post Options Post Options   Thanks (0) Thanks(0)   Quote ilya Quote  Post ReplyReply Direct Link To This Post Posted: 03 June 2013 at 8:31pm
Created a ticket in the internal tracking system for this
Back to Top
FSauer View Drop Down
Groupie
Groupie
Avatar

Joined: 10 May 2006
Location: Germany
Status: Offline
Points: 96
Post Options Post Options   Thanks (0) Thanks(0)   Quote FSauer Quote  Post ReplyReply Direct Link To This Post Posted: 07 June 2013 at 4:05am
Hi,
please also take care, that items which aren't expandable, shouldn't get focus and as result be expanded!

Best Regards,
Fabian
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down



This page was generated in 0.078 seconds.