Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ActiveX и IE

2.1K
25 апреля 2006 года
GuV
13 / / 30.05.2003
Нужно создать компонент ActiveX (кнопочку в браузере IE), по нажатию на который нужно получить данные (текст) из текущей странички для дальнейшей работы с ними.
Вообщем, с чего начать, подскажите? Интересует, как создать компонент ActiveX, как получить текст из браузера в данном ActiveX.
344
26 апреля 2006 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by GuV
Нужно создать компонент ActiveX (кнопочку в браузере IE), по нажатию на который нужно получить данные (текст) из текущей странички для дальнейшей работы с ними.
Вообщем, с чего начать, подскажите? Интересует, как создать компонент ActiveX, как получить текст из браузера в данном ActiveX.




Если надо создать кнопку в IE, то вот готовые решение

Цитата:

ButtonText = Всплывающая подсказка к кнопке
MenuText = Текст, который будет использован для пункта в меню "Сервис"
MenuStatusbar = *Ignore*
CLSID = Ваш уникальный classID. Для создания нового CLSID (для каждой кнопки) можно использовать GUIDTOSTRING.
Default Visible := Показать ей.
Exec := Путь к Вашей программе.
Hoticon := иконка из shell32.dll когда мышка находится над кнопкой
Icon := иконка из shell32.dll

Код:
procedure CreateExplorerButton;
const
  TagID = '\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\';
var
  Reg: TRegistry;
  ProgramPath: string;
  RegKeyPath: string;
begin
  ProgramPath := 'c:\folder\exename.exe';
  Reg := TRegistry.Create;
  try
    with Reg do
    begin
      RootKey := HKEY_LOCAL_MACHINE;
      RegKeyPath := 'Software\Microsoft\Internet Explorer\Extensions';
      OpenKey(RegKeyPath + TagID, True);
      WriteString('ButtonText', 'Your program Button text');
      WriteString('MenuText', 'Your program Menu text');
      WriteString('MenuStatusBar', 'Run Script');
      WriteString('ClSid', '{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}');
      WriteString('Default Visible', 'Yes');
      WriteString('Exec', ProgramPath);
      WriteString('HotIcon', ',4');
      WriteString('Icon', ',4');
    end
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;







Вот пример вызова диалога Find




Код:
const
  HTMLID_FIND       = 1;
  HTMLID_VIEWSOURCE = 2;
  HTMLID_OPTIONS    = 3;
...
procedure TForm1.FindIE;
const
  CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
var
  CmdTarget : IOleCommandTarget;
  vaIn, vaOut: OleVariant;
  PtrGUID: PGUID;
begin
  New(PtrGUID);
  PtrGUID^ := CGID_WebBrowser;
  if WebBrowser1.Document <> nil then
    try
      WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
      if CmdTarget <> nil then
        try
          CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
        finally
          CmdTarget._Release;
        end;
    except
      // nothing
    end;
  Dispose(PtrGUID);
end;
18K
03 мая 2006 года
sousouiti36
2 / / 03.05.2006
Цитата:
Originally posted by Delpher



Привет!! Класс!
То что мне нужно!
Но возникает вопрос, как добратся до обработчика
событий этой кнопки которую добавили?
Мне нужно сделать еще дополнительные действия
при нажатии этой кнопки.
Спасибо заранее..!:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог