Конференция "Основная" » Открыть диалог поиска текста в WebBrowser
 
  • X9 © (21.06.08 20:36) [0]
    Необходимо показать стандартный диалог поиска файла ActiveX-компонента IE. Пытаюсь выполнить
    ExecWB(OLECMDID_SHOWFIND, OLECMDEXECOPT_DODODEFAULT)

    , но программа выдаёт ошибку "Попытка отменить конечное место переноса, которое не было зарегистрировано (Exception from HRESULT: 0x80040100 (DRAGDROP_E_NOTREGISTERED))", к тому же, в MSDN написано, что команда OLECMDID_SHOWFIND не должна использоваться. Но ведь, например, в DMClient такое окошко отображается.

    Как быть?
  • Johnmen © (21.06.08 23:05) [1]
    Обратиться к авторам  DMClient?
  • Наиль © (23.06.08 11:01) [2]
    В DMCliente поиск выполняет компонент TEmbeddedWB:

    procedure TEmbeddedWB.Find;
    var
     vaIn, vaOut: Olevariant;
    begin
     InvokeCmd(TRUE, HTMLID_FIND, 0, vaIn, vaOut);
    end;



    Этот компонент можно найти на просторах интернета.

    ЗЫ
    procedure TEmbeddedWB.InvokeCMD(InvokeIE: Boolean; Value1, Value2: Integer; var vaIn, vaOut: OleVariant);
    var
     CmdTarget: IOleCommandTarget;
     PtrGUID: PGUID;
    begin
     New(PtrGUID);
     if InvokeIE then PtrGUID^ := CLSID_WebBrowser else
       PtrGuid := PGUID(nil);
     if Document <> nil then
     try
       Document.QueryInterface(IOleCommandTarget, CmdTarget);
       if CmdTarget <> nil then
       try
         CmdTarget.Exec(PtrGuid, Value1, Value2, vaIn, vaOut);
       finally
         CmdTarget._Release;
       end;
     except end;
     Dispose(PtrGUID);
    end;

 
Конференция "Основная" » Открыть диалог поиска текста в WebBrowser
Есть новые Нет новых   [134491   +13][b:0][p:0.001]