Focus Disappear
7 отговора
187 прегледа
Focus Disappear
Много интерен случай се случва ...
Да почна от начало работя на ОС виндовс 2000 Делпхи 7
Имам форма, имам TEdit comp и TComboBox comp
При OnExit процедурата на TEdit имам някава проверка със съобщение за грешка MessageDlg( ... ) след изход от TEdit се позиционирам на TComboBox comp и се очаква да имам Focus на него е имам Focus но не мога да го видя ????
Все едно ми изчезнал Focus'а някаде !!
Чак след като превключа на друг прозорец и се върна обратно на моя се разбира каде се намира Focus'а! ???
Пробвах - Refresh, Repaint, Application.ProcessMessages
но нищо не дава резултат :(
Благодаря предварително !!!
Да почна от начало работя на ОС виндовс 2000 Делпхи 7
Имам форма, имам TEdit comp и TComboBox comp
При OnExit процедурата на TEdit имам някава проверка със съобщение за грешка MessageDlg( ... ) след изход от TEdit се позиционирам на TComboBox comp и се очаква да имам Focus на него е имам Focus но не мога да го видя ????
Все едно ми изчезнал Focus'а някаде !!
Чак след като превключа на друг прозорец и се върна обратно на моя се разбира каде се намира Focus'а! ???
Пробвах - Refresh, Repaint, Application.ProcessMessages
но нищо не дава резултат :(
Благодаря предварително !!!
Re: Focus Disappear
"ComboBox.SetFocus" Точно тази идея я пробвах от началото но така или иначе нищо не стана !!!??
Re: Focus Disappear
ActiveControl = ComboBox1; // ?
TComboBox няма мигащ курсор. ComboBox1->ItemIndex = индекс; // C++
ще освети избраният ел-т в синьо, така, че да става очевадно, че това е активното поле/ полето с фокус. Ако стойностите ти в комбо бокс-а са твърдо зададени промени стила/Style/ na csDropDownList.
TComboBox няма мигащ курсор. ComboBox1->ItemIndex = индекс; // C++
ще освети избраният ел-т в синьо, така, че да става очевадно, че това е активното поле/ полето с фокус. Ако стойностите ти в комбо бокс-а са твърдо зададени промени стила/Style/ na csDropDownList.
Редактирано от Beco_ на
Re: Focus Disappear
Точно от тип csDropDownList са още от началото мене точно това ме интересуваше не се оцветява ComboBox'a в синьо !! Но когато премина на друг прозорец и се вярна обратно ( Alt + Tab ) и всичко си е на място! Мисля си за някакъв рефреш ама точно какъв не съм измислил още !
Re: Focus Disappear
Ми формата си има методи Refresh и Repaint. Почти съм сигурен, че имаше начин да се обнови и съотв. наследник на TWinControl (т.е. повечето визуални компоненти) с Win32 API ф-я.
Ама ти сигурен ли си, че ActiveControl = моята_контрола; не върши работа ?
Ама ти сигурен ли си, че ActiveControl = моята_контрола; не върши работа ?
Re: Focus Disappear
Определено ей сега го пробвах !! А за такава функция не съм и чувал нека да се разтърся в нета да видя дали няма нещо !!
Re: Focus Disappear
Ф-ята е SetFocus(HWND hWnd); в която като вх. параметър се предава хендъл-а на контролата, която ще получи фокуса.
Напр: SetFocus(ComboBox1->Handle); // C++
Опасявам се, че ActiveControl = ComboBox1; // C++
прави същото. За жалост не съм чак толкова добър в Паскал-а за да разбера с лекота какво точно прави дебъг версията на VCL-a.
Напр: SetFocus(ComboBox1->Handle); // C++
Опасявам се, че ActiveControl = ComboBox1; // C++
прави същото. За жалост не съм чак толкова добър в Паскал-а за да разбера с лекота какво точно прави дебъг версията на VCL-a.