2011-05-16 41 views
1

我在視圖課中添加了以下coe,但仍然無效。如何使OnMButtonDblClk在Windows ce 6.0中工作?

BOOL CtestView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
    if (CView::PreCreateWindow(cs)) 
    { 
    WNDCLASS wc; 
    // Get the class information for the default MFC view class. 
    ::GetClassInfo(AfxGetInstanceHandle(),cs.lpszClass,&wc); 

    // Register a new class using the attributes of the default 
    // view class, and make it the new default class. 
    cs.lpszClass = AfxRegisterWndClass(wc.style | CS_DBLCLKS, 
     wc.hCursor,wc.hbrBackground,wc.hIcon); 
    return TRUE; 
    } 
    return FALSE; 
} 

回答

1

您的窗口是否設置爲接收雙擊事件?看到這MSDN article。報價:

應用程序定義的窗口不會 不,默認情況下,接收雙擊 消息。由於在生成 雙擊消息時涉及系統開銷,因此僅爲屬於具有CS_DBLCLKS類樣式的類的窗口 生成這些消息 。當 註冊窗口類時,您的 應用程序必須設置此樣式。

您還可以通過管理向上/向下事件,這些事件的光標位置之間的增量以及它們之間的時間來創建自己的雙擊。

因此,例如,該序列:

  • Down消息(保存控制)
  • 啓動定時器
  • 小於250毫秒通過
  • 向上消息(在相同的控制)
  • 少超過250毫秒
  • 向下消息(在同一控件上)
  • 小於250毫秒
  • 高達消息(在同一個控制)

=雙擊

如果按照這個順序您超時或您重置計數器和變量控制的變化,因爲動作不雙擊。

+0

我已經在我的問題中添加了代碼提到aboce。但仍然不起作用 – Suri 2011-05-16 13:05:21

+0

@Suri:奇怪。您還可以通過管理向上/向下事件,這些事件的光標位置之間的差異以及它們之間的時間來創建自己的雙擊。上面我編輯的答案。 – 2011-05-16 13:31:06

+0

OnMButtonDblClick不起作用,但OnLButtonDblClick工作正常。 – Suri 2011-05-18 12:50:29

相關問題