Показать сообщение отдельно
Старый 17.08.2009, 13:28
gnus вне форума Посмотреть профиль Отправить личное сообщение для gnus Найти все сообщения от gnus
  № 1  
Ответить с цитированием
gnus

Регистрация: Feb 2008
Сообщений: 100
По умолчанию посылка клавиатурнычх сообщений

добрый день. понадобилось решить такую задачу. надо посылать компоненту на котором фокус клавиатурные сообщения. то есть посылается сообщение с кодом нужного символа и чтобы компонент ловил и отображал этот символ. в общем типа виртуальная клавиатура. сделал такой тест:
Код AS3:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			private function click():void
			{
 
				var event:KeyboardEvent=new KeyboardEvent(KeyboardEvent.KEY_DOWN);
				event.charCode=97;
				event.keyCode=65;
 
				if(getFocus())getFocus().dispatchEvent(event);
			}
 
			private function hKeyDown(event:KeyboardEvent):void
			{
				trace(event);
			}
  		]]>
	</mx:Script>
	<mx:TextInput x="23" y="10" keyDown="hKeyDown(event)" keyUp="hKeyDown(event)"/>
	<mx:Button label="Button" x="82" y="113" click="click()" focusEnabled="false"/>
</mx:Application>
при нажатии на кнопку в трейс выводит такое:
Код:
[KeyboardEvent type="keyDown" bubbles=true cancelable=false eventPhase=3 charCode=97 keyCode=65 keyLocation=0 ctrlKey=false altKey=false shiftKey=false]
видно, что текстинпут ловит сообщение, но почему-то не пишет символ.
при чём если я нажму на клавиатуре символ "a", то сообщение приходит совершенно аналогичное, но символ отображается.
в чём может может быть проблема?

Добавлено через 5 часов 1 минуту
неужели никто не сталкивался с такой задачей?(
__________________
http://komimap.ru


Последний раз редактировалось gnus; 17.08.2009 в 13:30.