1 //.h文件
2 public:
3 CEdit edit;
4 CEdit edit2;
5 HACCEL m_hAccel;
6 HACCEL m_hAccel2;
7
8
9 //.cpp文件
10 BOOL CMFCApplication47Dlg::OnInitDialog()
11 {
12 .........................................
13 edit.Create(WS_BORDER, CRect(100, 100, 200, 200), this, 10012);
14 edit.ShowWindow(SW_SHOW);
15 edit2.Create(WS_BORDER, CRect(200,200,300,300), this, 100151);
16 edit2.ShowWindow(SW_SHOW);
17 // TODO: Add extra initialization here
18 m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1));
19 m_hAccel2 = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR2));
20 ...........................................
21 }
22
23 BOOL CMFCApplication47Dlg::PreTranslateMessage(MSG* pMsg)
24 {
25 if (GetDlgItem(10012) == GetFocus())
26 {
27 if (m_hAccel)
28 {
29 if (::TranslateAccelerator(m_hWnd, m_hAccel, pMsg))
30 {
31 return(TRUE);
32 }
33 }
34 }
35 else
36 {
37 if (m_hAccel2)
38 {
39 if (::TranslateAccelerator(m_hWnd, m_hAccel2, pMsg))
40 {
41 return(TRUE);
42 }
43 }
44 }
45 return CDialogEx::PreTranslateMessage(pMsg);
46 }
47