MS VC++ въпрос ...

2 отговора 190 прегледа
#1

MS VC++ въпрос ...

Имам няколко Edit контроли в диалогов прозорец и искам
при определени условия да избера една от тях. Опитах с
SendMessage( IDC_ЕDIT1,EN_SETFOCUS, 0, 0 ); но не става.
Моля за помощ.

Отговор
в отговор на VSQ #2

Re: MS VC++ въпрос ...

Значи според мен допускаш две грешки:

1. При получаване на фокус контролът получава не EN_SETFOCUS, а WM_SETFOCUS. EN_SETFOCUS се получава от родителския прозорец(обикновено диалог).

2.(по-важно) WM_SETFOCUS се получава като следствие на получаването на фокуса, а не обратно. То е все едно да изпратиш WM_MOUSEMOVE и да очакваш, че мишката ще побегне. Има си функция SetFocus.

Отговор
в отговор на VSQ #3

Re: MS VC++ въпрос ...

SetFocus (GetDlgItem (hwDlg, IDC_ЕDIT1));

Отговор