user32: Select text control content while setting initial dialog focus
Piotr Caban
piotr.caban at gmail.com
Tue Feb 16 01:58:31 CST 2016
On 16/02/16 01:04, Dmitry Timoshkov wrote:
> Piotr Caban <piotr at codeweavers.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.
Thanks,
Piotr
More information about the wine-devel
mailing list