win32_gui: fix some text window oddities like selecting text on focus
This commit is contained in:
@@ -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 )
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user