Problem z Twebbrowser i <TEXTAREA>

Odpowiedz Nowy wątek
2006-11-28 11:41
Jacekbmx
0

Witam wszystkich.

Napisałem w Deplhi prościutką przeglądarkę składającą
się tylko z TForm i TWebBrowser; oraz z jednej linii kodu:

procedure TmyForm.FormCreate(Sender: TObject);
begin
 WebBrowser1.Navigate('http://Jakias_strona_www.HTM');
end;

Niestety jeśli owa strona WWW jest formą zawierającą "TEXTAREA" np:

<textarea rows="5" cols="65" name="uwagi"> </textarea>

to przeglądarka pozwala na wpisanie/edycje tylko jednej linii tekstu,
ignoruje naciskanie klawisza Enter

Jak to obejść, proszę o pomoc

dziękuję :-)
Jacek

Pozostało 580 znaków

2006-11-29 09:03
Jacekbmx
0

Problem rozwiązany, pewnie jeszcze ktoś natknie się na ten problem dlatego podaję:

Komponent TWebbrowser wadliwie się zachowuje
i należy samemu obsłużyć naciskanie vk_return:

Kod pochodzi z jakiejś z dalekowschodnich stron

  • literki były w stylu krzaki łamane przez bambus *

var
iOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin
if (WebBrowser1 = nil) then begin
Handled := False; Exit;
end;

Handled := (IsDialogMessage(WebBrowser1.Handle, Msg) = True);

if (Handled) and (not WebBrowser1.Busy) then begin
if FOleInPlaceActiveObject = nil then begin
Dispatch := WebBrowser1.Application;
if Dispatch <> nil then begin
Dispatch.QueryInterface (IOleInPlaceActiveObject, iOIPAO);
if iOIPAO <> nil then
FOleInPlaceActiveObject := iOIPAO;
end;
end;
if FOleInPlaceActiveObject <> nil then
if not (((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
((Msg.wParam = VK_BACK) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_RIGHT)))
then FOleInPlaceActiveObject.TranslateAccelerator (Msg);
end;
end;

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0