Piotr Caban piotr.caban@gmail.com wrote:
--- a/dlls/user32/dialog.c +++ b/dlls/user32/dialog.c @@ -707,7 +707,11 @@ static HWND DIALOG_CreateIndirect( HINSTANCE hInst, LPCVOID dlgTemplate, focus = GetNextDlgTabItem( hwnd, 0, FALSE ); if (!focus) focus = GetNextDlgGroupItem( hwnd, 0, FALSE ); if (focus)
{
if (SendMessageW( focus, WM_GETDLGCODE, 0, 0 ) & DLGC_HASSETSEL)
SendMessageW( focus, EM_SETSEL, 0, -1 ); SetFocus( focus );
} }
Selecting the text on SetFocus() is the job of DefDlgProc(), it's worth to investigate why it doesn't work.
It works as expected. Calling SetFocus on edit HWND is not selecting the text on windows either.
The text will be selected if you call SetFocus/WM_NEXTDLGCTL on the dialog window.
A message test would be more convincing then.