win32_gui: fix some text window oddities like selecting text on focus

This commit is contained in:
Alex Kompel
2015-04-19 16:32:31 -07:00
parent 4f86d74592
commit dc06a5dd90
3 changed files with 21 additions and 25 deletions

View File

@@ -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 )

View File

@@ -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);

View File

@@ -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