Autor Téma: twebbrowser  (Přečteno 1865 krát)

Offline ble

  • Mladík
  • **
  • Příspěvků: 67
  • Karma: 0
twebbrowser
« kdy: 03-07-2012, 01:13:20 »
Nazdarek...

(Delphi 2005)
Pouzivam twebbrowser ke zobrazovani html dokumentu, s tim problem nemam.  Problem mam vsak s kontextovym menu a klavesovymi zkratkami, kterymi twebbrowser disponuje. Jednoduse receno - potrebuji, aby slo mysi oznacit treba kus textu zobrazeneho html dokumentu a potom mit moznost tento oznaceny text zkopirovat (Ctrl+C nebo popupmenu - kopirovat). Nic jineho.

Omezeni kontextovych menu a klavesovych zkratek, vcetne zamezeni prechodu na jiny dokument kliknutim na link, mam poreseno takto:
Kód: Delphi [Vybrat]
  1. procedure TfrmXYZ.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
  2. begin
  3.   if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONDBLCLK) or
  4.      (Msg.Message = WM_LBUTTONUP) or (Msg.Message = WM_LBUTTONDBLCLK) or
  5.      (GetKeyState(VK_CONTROL) < 0) and (Msg.Message = WM_KEYDOWN) and (Msg.wParam <> -1)
  6.   then begin
  7.     if IsChild(webA.Handle, Msg.hwnd) then Handled := True;
  8.   end;
  9. end;
  10.  
Takze tim je zajisteno, ze mohu zobrazeny html dokument pouze prohlizet. Poradte, prosim, jak dosahnout toho, abych mohl oznacit text a nasledne zkopirovat. Diky ...

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1146
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:twebbrowser
« Odpověď #1 kdy: 03-07-2012, 07:27:53 »
proc vlastne pouzivas tenhle kod a zahazujes zpravy, ktery jsou potreba? :D

pridej uniutu "ActiveX" a tento kod

Kód: Delphi [Vybrat]
  1. initialization
  2.   OleInitialize(nil);
  3. finalization
  4.   OleUninitialize;

ten svuj kod si pro jistotu okomentuj a uprav,
na zakaz prechodu na jinou stranku tam mas OnBeforeNavigate

Offline ble

  • Mladík
  • **
  • Příspěvků: 67
  • Karma: 0
Re:twebbrowser
« Odpověď #2 kdy: 03-07-2012, 10:34:34 »
Diky za tip

Na OnBeforeNavigate2 jsem zapomnel. Jiz jsem to napravil  :)

ActiveX - jsem z toho tak trochu jelen. Do uses jsem pridal ActiveX, to je asi ok. Kam ale dat ty 4 radky, ktere jsi uvedl ?? A jak pak s tim pracovat ?? V tomhle jsem 100% neznalek...

Diky


Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1146
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:twebbrowser
« Odpověď #3 kdy: 03-07-2012, 11:07:45 »
ty 4 radky pridej pred "end.", co je uplne na konci unit-u  ;)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5279
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:twebbrowser
« Odpověď #4 kdy: 03-07-2012, 11:18:18 »
a k tomu si naštuduj čo initialization a finalization vlastne znamenajú. Nech vieš čo robíš.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline ble

  • Mladík
  • **
  • Příspěvků: 67
  • Karma: 0
Re:twebbrowser
« Odpověď #5 kdy: 03-07-2012, 11:41:10 »
diky

/hruska/
jj, initialization a finalization som si už naštudoval, mal som to urobiť skôr. neskoro, ale predsa  :)

/<z>/
toz jsem to umistil, jak jsi rek a jak jsem to i nyni nastudoval :) . app jde prelozit bez chyb.
stejne vsak nevim jak to vyuzit pro reseni meho problemu = zamezit standardni kontextove menu twebbrowseru a nejruznejsi klavesove zkratky. chci jen ponechat moznost oznacit text a zkopirovat oznaceny text.
mas-li se mnou jeste trpelivost, zkus mi poradit. diky  :)

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1146
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:twebbrowser
« Odpověď #6 kdy: 03-07-2012, 14:04:42 »
aha, ty vubec nechces to puvodni menu,
protze u vybraneho textu se ukazuje to na kopirovani ...

no na zruseni menu je tu toto
http://www.swissdelphicenter.ch/torry/showcode.php?id=571

zkus mrknout na tento clanek o EmbedWB (lepsi nahrada za twebbrowser)
http://mzemaitis.wordpress.com/2008/04/24/how-to-show-your-own-custum-popup-in-twebbrowser-component/
a mas tam i na vyber, jaky menu chces ;)

Offline ble

  • Mladík
  • **
  • Příspěvků: 67
  • Karma: 0
Re:twebbrowser
« Odpověď #7 kdy: 03-07-2012, 20:33:10 »
/<z>/
Diiiky.
EmbedWB je vyborna vec. Uz mi vse funguje jak ma  :)