I'm trying to set focus back on the ListView in my shell browser control, but no matter what I do pressing an arrow key moves the focus to another control (besides, of course, actually physically clicking on it with the mouse).

Even sending LBUTTONDOWN/LBUTTONUP to click on an item doesn't work; visually it restores focus, including the black focus rectangle, but a navigation key press moves focus to another control.

Here's everything that has been tried so far:
Code:
SetFocusAPI UserControl.hWnd
SetFocusAPI hLVS
'SendMessage hLVS, WM_SETFOCUS, 0&, ByVal 0&
Dim nSel As Long
nSel = ListView_GetSelectedItem(hLVS)
ListView_SetItemState hLVS, nSel, LVIS_FOCUSED Or LVIS_SELECTED, LVIS_FOCUSED Or LVIS_SELECTED
Dim rct As oleexp.RECT
ListView_GetItemRect hLVS, nSel, rct, LVIR_ICON
Dim lpr As Long
lpr = PackWords(rct.Left + 1, rct.Top + 1)

SendMessage hLVS, WM_LBUTTONDOWN, 0&, ByVal lpr
SendMessage hLVS, WM_LBUTTONUP, 0&, ByVal 0&