お騒がせします。
現在下記のイベントでNEWブラウザーを作成して
そのブラウザ内にFLASHが貼り付けてあるサイトを表示しています。
あるとき気づいたんですが、FLASH内にある、TEXTフィールドでバックスペース
がきかなくなるんです。これは作成当初から起こっていたらしく、
必ずではなく、発生したり発生しなかったりしたそうです。
普通のブラウザとIEコンポーネントで作成した物の違いは何か考えられるでしょうか?
Form2にはwebbrowserコンポーネントが貼り付けてあるだけです。
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
with TForm2.Create(Application) do begin
top:=0;
left:=0;
width:=screen.Width;
height:=screen.Height;
WebBrowser1.RegisterAsBrowser := True;
ppDisp := WebBrowser1.ControlInterface;
Show;
end;
end;
ちなみに、同じページをIEでアドレスを打ち込んで見ると
テキストフィールドに問題は出ません。
NewWindow2イベントで表示した場合なのですが・・
原因が今ひとつつかめずにいます。
IEコンポーネントの文字コードが問題になってきてる感じが・・・
どうやって、SHIFT-JISに設定するんでしょうか?
過去ログにHINT発見!
FORM1のNewWindow2からForm2を呼び出した。
そこにTUIWebBrowser貼り付けてみた。
バックスペースが利くようになった。
しか〜し!
TUIWebBrowser上で表示されているFLASHの
ENTERキーがCTRL+"J"になってしまった!
???????
ちなみに、form1上のTUIWebBrowserでは、ENTERキーは動いてますし、
バックスペースもOKです。
問題はForm2です。
過去ログのActiveXのメッセージハンドラもForm2に貼り付けてみましたが、
効果なし。さらにノーマルのWEBBROWSERに置き換えてみましたが、
変わらず・・
わかっている事はENTERキーがCTRL+"J"だと言う事です。
activeXのメッセージハンドラで解決しました。
RETURNのかえりちを見てCTRL+Jを押したことにしたんですが、
なんか2回押してる?イベントが2回発生してる?
とりあえず解決です。
ツイート | ![]() |