2011-08-16 61 views
0

我在MFC應用程序中動態創建一些ActiveX控件。我想處理他們的事件,如點擊,dblclick。但我不知道應該在哪裏放置代碼來捕捉它們。 如果我在設計GUI時將這些控件放在對話框窗口上,我可以添加事件處理程序。由MFC自動添加的代碼如下:如何捕捉MFC應用程序中的OLE控件事件?通過創建的ActiveX控件觸發

BEGIN_EVENTSINK_MAP(CButtonMsgDlg, CDialog) 
    ON_EVENT(CButtonMsgDlg, IDC_CWBOOLEAN1, DISPID_DBLCLICK, CButtonMsgDlg::DblClickCwboolean1, VTS_NONE) 
END_EVENTSINK_MAP() 

void CButtonMsgDlg::DblClickCwboolean1() 
{ 
    // TODO: Add your message handler code here 
} 
+0

'// TODO:添加您的消息處理程序代碼「對我來說似乎是一個很好的指示。你可以爲動態創建的控件做同樣的事情,只需手動添加ON_EVENT/ON_COMMAND/etc與你將在控件創建中使用的id。如果需要,您還可以使用一系列ID。 – AJG85

+0

需要動態創建數百個控件。這些控制的ID在運行時分配。所以在編譯之前手動添加它們似乎不可能。有沒有其他解決這個問題的方法? – gomypig

回答

相關問題