Проблема с TBrowser

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by donetsk, 6 Jul 2006.

  1. donetsk

    donetsk Elder - Старейшина

    Joined:
    30 Jan 2006
    Messages:
    158
    Likes Received:
    14
    Reputations:
    2
    рятли кто-то ответит на этот вопрос, но всё же попытаюсь:

    Проблема с TBrowser

    Когда открываю страничьку через TBrowser или через IE происходит автоматическая активация TBrowser и установка курсора на первую позицию на сайте.... ну допустим вы зашли на сайт www.ya.ru и сразу курсос становиться на позицию поиска в яндексе, вы зашли на сайт http://www.google.com.ua/ тоже самое.... Если Вы нажмете курсором куда-либо на белом фоне гугля,тогда естественно курсор больше не станет на строку поиска и его нужно ставить в ручную ,или же ТАБ ом, но можно перезагрузить страцу и тогда он станет автоматическу туда, куда нужно , следовательно может быть какая-то процедура это делает по загрузке страници, или кто его знает

    В моём приложении какая проблема запущен сайт в TBrowser , нажимаю какие либо кнопки на форме и TBrowser больше не активен - какие либо действия на сайте производить больше невозможно
    TBrowser.Visible :=True; не помогает

    В Firefoz Mozilla всегда после выполнений каких либо действий нажатий на клавиши PopOut меню, элементы управления Ваша открытая страничька остаётся всегда активной , а в IE не так :( можно ли как либо сделать обратное?
     
  2. Go0o$E

    Go0o$E Members of Antichat

    Joined:
    27 Jan 2006
    Messages:
    304
    Likes Received:
    228
    Reputations:
    419
    Что-то в этот раз плохо понял, что сделать то надо?
    P.s. Когда доделаешь свой браузер скинешь мне? =)
     
  3. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Нажна процедура, которая делает объект TBrowser активным (ну или типа того)... В С++ Builder это

    Example:

    Memo1->SetFocus();
     
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Browser.SetFocus

    global:
    t:TPoint;

    begin
    GetCursorPos(t);
    end;
    когда надо
    SetMousePos(t.x,t.y)

    вопроса не понял =)
     
  5. donetsk

    donetsk Elder - Старейшина

    Joined:
    30 Jan 2006
    Messages:
    158
    Likes Received:
    14
    Reputations:
    2
    Ну постраюсь объяснить по другому, если зайти на www.ya.ru
    WebBrowser1.Navigate('www.ya.ru');

    Когда срабатывает переход на страничьку ya.ru на сайте есть document.web.text.focus();
    т.е. фокус куда ставиться курсос после загрузки страничьки :(

    Если Вы возьмете вышкой клацните в любую белую часть фона на страничьке, тогда фокус убереться , а как его вернуть обратно не отрабатывая нажатия клавишь я не знаю, если можно было бы выполнить жаба скрипт браузером, тогда я был бы счастлев,но УВы не знаю как это сделать, пробовал:


    uses
    ActiveX;

    begin
    WebBrowser1.Navigate('www.ya.ru');
    with WebBrowser1 do
    if Document <> nil then
    with Application as IOleobject do
    DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle,
    GetClientRect);
    end;

    или


    uses
    MSHTML;
    begin
    WebBrowser1.Navigate('www.ya.ru');
    repeat
    Application.ProcessMessages;
    until WebBrowser1.ReadyState >= READYSTATE_COMPLETE;
    if WebBrowser1.Document <> nil then
    (Webbrowser1.Document as IHTMLDocument2).ParentWindow.Focus;
    end;


    и пробовал TWebBrowser.SetFocusToDoc не помогают :(