在大多數Windows版本中,您可以通過按F10鍵進入菜單,從而避免使用鼠標。這種行爲似乎並不存在於Windows Mobile 5.0中,但是由於我使用的設備比觸摸屏驅動的鍵盤更多,所以這種行爲是可取的。如何以編程方式激活Windows Mobile中的菜單
有沒有一種方法可以通過MFC或Windows API調用以C++編程方式激活和使用Windows Mobile 5.0上的菜單。我試圖設置CFrameWnd和CCeCommandBar類的焦點無濟於事。
在大多數Windows版本中,您可以通過按F10鍵進入菜單,從而避免使用鼠標。這種行爲似乎並不存在於Windows Mobile 5.0中,但是由於我使用的設備比觸摸屏驅動的鍵盤更多,所以這種行爲是可取的。如何以編程方式激活Windows Mobile中的菜單
有沒有一種方法可以通過MFC或Windows API調用以C++編程方式激活和使用Windows Mobile 5.0上的菜單。我試圖設置CFrameWnd和CCeCommandBar類的焦點無濟於事。
經過多次嘗試,以下情況似乎奏效;
void CMyFrame::OnFocusMenu()
{
PostMessage(WM_SYSCOMMAND,SC_KEYMENU,0);
}
FWIW,沒有以下的那樣,其中m_wndCommandBar是包含菜單的工具欄CCeCommandBar;
::SetActiveWindow(m_wndCommandBar.m_hWnd);
m_wndCommandBar.PostMessage(WM_ACTIVATE,WA_ACTIVE,0);
m_wndCommandBar.PostMessage(WM_LBUTTONDOWN,0,0);
m_wndCommandBar.PostMessage(WM_LBUTTONUP,0,0);
m_wndCommandBar.OnActivate(WA_ACTIVE, NULL, FALSE);
m_wndCommandBar.SetFocus();
如果通過菜單指的是軟鍵,請注意它們分別綁定到F1和F2。
在MFC SDI應用程序中,您通常會有一個工具欄,其中包含跨屏幕頂部的文件/編輯/查看/幫助。在Windows和早期的Windows CE版本中,您可以按F10進入該菜單。在手機5中,這不再是這種情況。可能是OEM特定的。 – 2008-11-03 08:19:51