diff --git a/win/win32/mhmenu.c b/win/win32/mhmenu.c index 5665b09a6..849470b5e 100644 --- a/win/win32/mhmenu.c +++ b/win/win32/mhmenu.c @@ -329,7 +329,7 @@ INT_PTR CALLBACK MenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar case WM_COMMAND: { switch (LOWORD(wParam)) - { + { case IDCANCEL: if( data->type == MENU_TYPE_MENU && (data->how==PICK_ONE || data->how==PICK_ANY) && @@ -354,14 +354,6 @@ INT_PTR CALLBACK MenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar data->done = 1; data->result = 0; return TRUE; - - case IDC_MENU_TEXT: - switch (HIWORD(wParam)) - { - case EN_SETFOCUS: - HideCaret((HWND)lParam); - return TRUE; - } } } break; @@ -1599,9 +1591,14 @@ LRESULT CALLBACK NHMenuTextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA SendMessage(hWnd, EM_SCROLL, SB_LINEDOWN, 0); return 0; - } + } break; + /* edit control needs to know nothing of its focus */ + case WM_SETFOCUS: + HideCaret(hWnd); + return 0; + } if( editControlWndProc ) diff --git a/win/win32/mhtext.c b/win/win32/mhtext.c index ab4853834..d816255bf 100644 --- a/win/win32/mhtext.c +++ b/win/win32/mhtext.c @@ -77,7 +77,7 @@ void mswin_display_text_window (HWND hWnd) HWND control; control = GetDlgItem(hWnd, IDC_TEXT_CONTROL); SendMessage(control, EM_FMTLINES, 1, 0 ); - SetWindowText(GetDlgItem(hWnd, IDC_TEXT_CONTROL), data->window_text); + SetWindowText(control, data->window_text); } mswin_popup_display(hWnd, NULL); @@ -151,14 +151,7 @@ INT_PTR CALLBACK NHTextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP DestroyWindow(hWnd); SetFocus(GetNHApp()->hMainWnd); return TRUE; - case IDC_TEXT_CONTROL: - switch (HIWORD(wParam)) - { - case EN_SETFOCUS: - HideCaret((HWND)lParam); - return TRUE; - } - } + } break; case WM_CTLCOLORSTATIC: { /* sent by edit control before it is drawn */ @@ -286,7 +279,13 @@ LRESULT CALLBACK NHEditHookWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA } break; + + /* edit control needs to know nothing of focus. We will take care of it for it */ + case WM_SETFOCUS: + HideCaret(hWnd); + return 0; } + if( editControlWndProc ) return CallWindowProc(editControlWndProc, hWnd, message, wParam, lParam); diff --git a/win/win32/winhack.rc b/win/win32/winhack.rc index 10e4c2410..4533a6781 100644 --- a/win/win32/winhack.rc +++ b/win/win32/winhack.rc @@ -121,13 +121,13 @@ BEGIN END IDD_NHTEXT DIALOGEX 0, 0, 172, 178 -STYLE DS_SETFOREGROUND | WS_CHILD | WS_THICKFRAME -EXSTYLE WS_EX_CLIENTEDGE +STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_THICKFRAME +EXSTYLE WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT FONT 8, "MS Sans Serif", 0, 0 BEGIN - DEFPUSHBUTTON "OK",IDOK,54,163,50,14 EDITTEXT IDC_TEXT_CONTROL,0,0,172,160,ES_MULTILINE | - ES_OEMCONVERT | ES_READONLY | WS_VSCROLL | WS_HSCROLL + ES_OEMCONVERT | ES_READONLY | WS_VSCROLL | WS_HSCROLL | NOT WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,54,163,50,14,BS_FLAT | NOT WS_TABSTOP END IDD_MENU DIALOGEX 0, 0, 187, 153 @@ -135,11 +135,11 @@ STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_THICKFRAME EXSTYLE WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT FONT 8, "MS Sans Serif", 0, 0 BEGIN - DEFPUSHBUTTON "OK",IDOK,7,132,50,14,BS_FLAT | NOT WS_TABSTOP - PUSHBUTTON "Cancel",IDCANCEL,130,132,50,14,BS_FLAT | NOT WS_TABSTOP LISTBOX IDC_MENU_LIST,10,10,170,55,LBS_SORT EDITTEXT IDC_MENU_TEXT,10,70,170,60,ES_MULTILINE | ES_OEMCONVERT | ES_READONLY | WS_VSCROLL | WS_HSCROLL | NOT WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,7,132,50,14,BS_FLAT | NOT WS_TABSTOP + PUSHBUTTON "Cancel",IDCANCEL,130,132,50,14,BS_FLAT | NOT WS_TABSTOP END IDD_GETLIN DIALOG DISCARDABLE 0, 0, 131, 29