popupmenu and combo box not able to use tab

What do I need to do to allow using tab to get to the popupmenu and combo box. have tried all the settings I can find without any joy.
Thanks

More testing and it just seems to be the combobox that is an issue.

AcceptFocus must be True.
TabStop must be True.

If your using OS X.

You should change the following:
System Preferences --> Keyboard --> Shortcuts
Change
Text boxes and lists only
to
All controls

Now you can go to all the controls using tab.

There is no AcceptFocus for combobox which means it already accepts focus according to the documentation. And TabStop is on. still no luck

My apologies. It is the popupmenu that is not working.

You really should state what system and Xojo version you are using. It is bad etiquette to leave people guessing … and it makes it less likely that you’ll get help. Who likes to guess blindly …?

I am using Xojo 2015 r1 Free on Mac OSX Yosemite. I also tried adding another popup just to make sure there wasn’t other code that may be getting in the way. I have checked the tab order. tabstop is on.

Thanks for any ideas.

Have you checked on what Paul said?

[quote=178706:@Paul Sondervan]If your using OS X.

You should change the following:
System Preferences --> Keyboard --> Shortcuts
Change
Text boxes and lists only
to
All controls

Now you can go to all the controls using tab.[/quote]
ON OS X:

YOU BETTER NOT DO THAT BECAUSE YOU WILL BE IN TROUBLE AND I DO NOT KNOW HOW TO REALLY REMOVE THAT TROUBLE (reverse to the original settings).

Even my Apple Store’s Genius does not know.

The weird behaviour ? It does EXACTLY what you ask it to do AND YOU CANNOT REVERT IT (yes, I repeat it).

It comes back after a reboot, the launch of EyeTV software, etc.

In (Apple’s) TExtEdit, a Tab (when in the Search / Search and Replace), you will activate (give the focus to) all controls: popups (Font size), alignment icons, etc.

In the Finder, the Info window: a Tab follows all Controls. If you cmd-i, + Shift-Tab, you will not get the Comments control field (if open), but the last arrow.

Affected OS: Lion, Mt. Lion, Mavericks, Yosemite…

Now, if you like it, do it.

Ok. So it a system setting issue. Just odd that it works on the combo box and not the standard popup which the combo box is based on. No matter I will live with it for now.
Thanks for all the help.

The ComboBox is basically a TextField with an attached PopupMenu, so of course it will work.

Place the PopupMenu on top of a canvas, making sure that it becomes child (the canvas border shows red. Then make the canvas the same size as the popupmenu. Set the canvas to accept forus and show focus ring in the inspector.

Then the tab stop will occur on the canvas, but it will look as the popupMenu has got focus.

[quote=178720:@Michel Bujardet]Place the PopupMenu on top of a canvas, making sure that it becomes child (the canvas border shows red. Then make the canvas the same size as the popupmenu. Set the canvas to accept forus and show focus ring in the inspector.

Then the tab stop will occur on the canvas, but it will look as the popupMenu has got focus.[/quote]
Nice, just one extension:

In the canvas don’t use the focusring but in the GotFocus event set the focus to the popupmenu …?

(Not at a computer so can’t test)

[quote=178724:@Markus Winter]Nice, just one extension:

In the canvas don’t use the focusring but in the GotFocus event set the focus to the popupmenu …?

(Not at a computer so can’t test)[/quote]

I tried. The PopupMenu simply won’t accept focus width SetFocus. Unless full keyboard access is on in the Keyboard preferences. But that is a PITA for a standard program.

It is a problem since once can drop the menu down with down arrow, and that is not possible with the canvas trick. The best workaround I can think of is to use a ComboBox and nullify all keys but tab and arrow down in keydown with Return True. That will effectively turn it into a PopupMenu.

Place this in the Open event to prevent the cursor to become beam when the mouse hovers the control :

Sub Open() me.MouseCursor = System.Cursors.StandardPointer End Sub

I found no way to prevent the carret to appear when the user clicks in the textfield, though. There must be some declares but I never needed them, so I have no idea where.