user32: Select text control content while setting initial dialog focus
Dmitry Timoshkov
dmitry at baikal.ru
Tue Feb 16 02:07:15 CST 2016
Piotr Caban <piotr.caban at 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.
--
Dmitry.
More information about the wine-devel
mailing list