Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Запретить выделение в TWebBrowser


Автор: drkot 18.1.2007, 19:31
Сталкивался с подобными реализациями (html страница встроенная в приложение), но как это сделать незнаю.
Все вроде бы цивильно, но выделить ничего нельзя.


Автор: _hunter 18.1.2007, 20:13
это, насколько я знаю, делается наложением невидимого div'a над всеми слоями.
можно так же прямо под курсор мыши однопиксельную картинку подкладывать.
это IMHO лучше в web-дизайне спрашивать...

Автор: December 18.1.2007, 21:40
да зачем, просто сообщения от мыши перехватывать
если в хтмл-ке есть инпуты, то ещё и клаву контролировать

Автор: drkot 19.1.2007, 12:51
December, точно.
Этож надо так протупить.
А я искал свойство на подобе ReadOnly

Добавлено @ 12:53 
Может еще способы есть?

Автор: December 19.1.2007, 15:12
можно мониторить SelectionObject у всех фреймов, но это уже извращение особого радиуса кривизны smile

Автор: drkot 19.1.2007, 17:00
всем спасибо. задача решена.
блокирую левые клики мыши.

Автор: Alexeyt 20.7.2010, 13:53
Можно код - блокирующий клики (левые) мыши? Код, блокирующий нажатия на WB Ctrl-A Ctrl-C тоже нужен... т.к. выделить можно клавиатурой.

Автор: Rrader 23.7.2010, 20:11
Чтобы запретить выделение, в браузере надо реализовать интерфейс IDocHostUIHandler, в методе GetHostInfo пишешь:
Код

function TWebBrowser.GetHostInfo(
  var pInfo: TDocHostUIInfo): HRESULT;
const
  DOCHOSTUIFLAG_DIALOG = $00000001;
begin
  try
    ZeroMemory(@pInfo, SizeOf(TDocHostUIInfo));
    pInfo.cbSize := SizeOf(TDocHostUIInfo);
    { Текст выделять нельзя }
    pInfo.dwFlags := pInfo.dwFlags or DOCHOSTUIFLAG_DIALOG;
    Result := S_OK;
  except
    Result := E_FAIL;
  end;
end;

http://www.delphidabbler.com/articles?article=18&part=3

Автор: drkot 23.7.2010, 21:16
Rrader, Вы абсолютно правы... хотя и с опозданием на 3.5 года smile
надеюсь это пригодится народу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)