2. Maybe you are seeing the box.WindowFrame and not a keyboard focus frame. Try setting WindowFrame to cbNone.
1. I've found the actual control handle is a child of the hWnd returned by the Box, so you can get the hosted control like this:
Dim hostedFC As Object
Set hostedFC = box.AxControl
Dim h As Long
h = hostedFC.hwnd
h = Tools.GetWindow(h, Tools.GW_CHILD)
where the Tools module contains the Win32 function definitions. Now in theory this should send a WM_KEYDOWN for the left key, but it doesn't work.
Tools.SendMessage h, &H100, vbKeyLeft, 0
It seems the arrow and del keys are blocked by VB6 forms, and even the flowchart control doesn't get them through a Windows message but through some COM interface. As a workaround you might set the following:
fcx.KbdActive = False
fcx.KeyboardFlags(fHandleKeyDownInTranslAcc) = True
and handle the KeyDown event raised by FlowchartX. Then if the reported key is Delete or an arrow key, call the respective method of the flowchart hosted inside the ActiveBox to either delete an item or move it in some direction.
Stoyan