входен фокус

Уважаеми майстори, как да разберете кой има входен фокус? По-конкретно, къде ще отиде знакът, ако се натисне бутон на клавиатурата. Просто има устройство - работи под Windows, има тъчскрийн - емулира мишка. Бих искал да изоставя клавиатурата - и за това е написан софтуерен емулатор, чиято задача е да покаже съответната буква (цифра) във входния елемент, който е бил активиран преди щракване върху бутона, и да върне фокуса на въвеждане към него. Приемат се всякакви предложения. Благодаря ти.

Игор Шевченко ( 2002-08-14 12:13 ) [1]

wal ( 2002-08-14 13:59 ) [2]

GetFocus работи само в собственото си приложение :(

Игор Шевченко ( 2002-08-14 14:04 ) [3]

След това зависи от win32k.sys да разбере къде отиват данните. Няма значение, в крайна сметка ще трябва да напишете драйвер за това устройство, но правилно ли го разбирам?

wal ( 2002-08-14 14:13 ) [4]

> Както и да е, имате нужда от драйвер за това устройство > пиши разбираш лиНе точно - можем да приемем, че това е IBM-съвместим компютър, има инсталиран WinXP, трябва да изобразите програма - емулатор на клавиатура (както при безклавиатурни преносими компютри). Основният проблем е, че когато щракна върху бутона, фокусът на въвеждане преминава към моята програма.

Игор Шевченко ( 2002-08-14 14:44 ) [5]

AttachThreadInput няма да помогне?

Игор Шевченко ( 2002-08-14 14:46 ) [6]

Рихтер имаше пример за определяне кой прозорец ще получи въвеждане от клавиатурата

Диамантена котка ( 2002-08-14 15:49 ) [7]

Ако неГреша, когато фокусът на въвеждане се премества от един компонент към друг, съобщения като wm_killfocus и wm_setfocus се изплъзват (не помня точно кое е необходимо) и един от параметрите на тези съобщения съдържа манипулатора на контролата, която е загубила фокус, така че чрез настройка на системната кука можете да разберете коя контрола е била активна, ако е необходимо, мога да обединя пример (веднъж реших подобна задача).

Студент ( 2002-08-14 16:16 ) [8]

процедура TForm1.FormShow(Подател: TObject); начало SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) или WS_EX_NOACTIVATE) end;

Чайлд Кирил ( 2002-08-15 02:58 ) [9]

rhf ( 2002-08-15 05:40 ) [10]

чрез getFocus и attachThreadInput http://delphi.mastak.ru/cgi-bin/forum.pl?look=1& >

wal ( 2002-08-15 10:49 ) [11]

Много благодаря на всички и кутия виртуална бира :) Благодаря много.