g_hDlgWnd=CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_DIALOG_TEST),hWnd,(DLGPROC)DlgTestProc); ShowWindow(g_hDlgWnd, SW_SHOWNORMAL); 以function建立一個Dialog(IDD_DIALOG_TEST),在IDD_DIALOG_TEST加入一個IDC_EDIT_INPUTTEXT(Edit Control) 我想在IDC_EDIT_INPUTTEXT按下Return時Call其他的Function, 問題就是:如何攔截在Edit上按下的Return?(win32 project) INT_PTR CALLBACK DlgTestProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { long rvalue = 0; /* int processed = CGM.WinProc(hDlg, message, wParam, lParam, &rvalue); if (processed) return rvalue; */ switch(message) { case WM_INITDIALOG: return Test_OnInitialDialog(hDlg); case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_EDIT_INPUTTEXT: { switch (HIWORD (wParam)) { //case VK_RETURN: // TRACE("VK_RETURN\n"); // break; case EN_CHANGE: { CHAR lpszPassword[MAX_TALK_WORD]; WORD cchPassword; cchPassword = (WORD) SendDlgItemMessage(hDlg, IDC_EDIT_INPUTTEXT, EM_LINELENGTH, (WPARAM) 0, (LPARAM) 0); *((LPWORD)lpszPassword) = cchPassword; // Get the characters. SendDlgItemMessage(hDlg, IDC_EDIT_INPUTTEXT, EM_GETLINE, (WPARAM) 0, // line 0 (LPARAM) lpszPassword); // Null-terminate the string. lpszPassword[cchPassword] = 0; TRACE(">>>> cchPassword=%d ,lpszPassword=%s \n",cchPassword,lpszPassword); } TRACE("IDC_EDIT_INPUTTEXT %d,%d\n",wParam,lParam); break; } } break;