2008-11-02 59 views
1

在大多數Windows版本中,您可以通過按F10鍵進入菜單,從而避免使用鼠標。這種行爲似乎並不存在於Windows Mobile 5.0中,但是由於我使用的設備比觸摸屏驅動的鍵盤更多,所以這種行爲是可取的。如何以編程方式激活Windows Mobile中的菜單

有沒有一種方法可以通過MFC或Windows API調用以C++編程方式激活和使用Windows Mobile 5.0上的菜單。我試圖設置CFrameWnd和CCeCommandBar類的焦點無濟於事。

回答

1

經過多次嘗試,以下情況似乎奏效;

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(); 
0

如果通過菜單指的是軟鍵,請注意它們分別綁定到F1和F2。

+0

在MFC SDI應用程序中,您通常會有一個工具欄,其中包含跨屏幕頂部的文件/編輯/查看/幫助。在Windows和早期的Windows CE版本中,您可以按F10進入該菜單。在手機5中,這不再是這種情況。可能是OEM特定的。 – 2008-11-03 08:19:51

相關問題