03. april 2002 - 07:49Der er
9 kommentarer og 1 løsning
twebbrowser
Jeg sidder og koder lidt på en intern webbrowser... Bruger komponentet twebbrowser til at vise html sider osv.
Nu vil jeg gerne vide: Hvordan udskriver jeg direkte fra en twebbrowser? Hvordan laver jeg en vis kilde funktion? og sidst men ikke mindst, hvordan får jeg f.eks. popup vinduer til at stoppe med at bruge ie, men bruger min browser i stedet..( hvis der er en popup på en side, starter ie et vindue, dette skal min gøre i stedet)
procedure TForm1.Button1Click(Sender: TObject); var vaIn, vaOut: OleVariant; Begin
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut); end;
Popup i "egen" browser (enten skal du reg. din webbroser som default browser eller bruge nedenstående.
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var NewWindow: TForm1; begin NewWindow := TForm1.Create(self);
stoney: grunden til at jeg vil bruge min egen vis kilde, er at jeg gerne vil bruge min egen højre kliks menu, i stedet for ie`s men hvis du kan finde noget kode til ies vis kilde, kunne jeg evt bruge den, da jeg sidder og skal have en /funktioner/viskilde menu igang:-)
printer funktionen virker fint:-) Popup tingen er lidt underligt: i stedet for at der kommer et nyt vindue på wins prosessbar, så åbner denne kode bare 2 vinduer i samme vindue, det ser for det første ret underligt ud:-) og desuden bliver den meget (U) brugervenlig.. har du evt. en anden kode som kan åbne et popup i et nyt vindue?
mm det vil jeg gerne se:-) det kunn evt. være en løsning, bruger windows så kun min browser til popups/html filer osv? og hvordan sætter man den tilbage til ie hvis man ikke vil bruge min browser mere?
Husk lige at tage back af reg. keyen inden du går i krig
uses Registry;
procedure setyourIE; var Reg:TRegistry; begin Reg:= TRegistry.Create; with Reg do begin RootKey:=HKEY_CLASSES_ROOT; if OpenKey('htmlfile\shell',false) then writeString('','yourIE'); CloseKey; if OpenKey('htmlfile\shell\yourIE\command',true) then writeString('','c:\yourIE.exe "%1"'); CloseKey;
if OpenKey('http\shell',false) then writeString('','yourIE'); CloseKey;
if OpenKey('http\shell\yourIE\command',true) then writeString('','c:\yourIE.exe "%1"'); CloseKey;
if OpenKey('https\shell',false) then writeString('','yourIE'); CloseKey;
if OpenKey('https\shell\yourIE\command',true) then writeString('','c:\yourIE.exe "%1"'); CloseKey; free; end; end;
function check: boolean; var Reg:TRegistry; begin result:=true; Reg:= TRegistry.Create; with Reg do begin RootKey:=HKEY_CLASSES_ROOT; if OpenKey('htmlfile\shell',false) then if readString('')<>'yourIE' then result:=false; CloseKey; if OpenKey('http\shell',false) then if readString('')<>'yourIE' then result:=false; CloseKey; if OpenKey('https\shell',false) then if readString('')<>'yourIE' then result:=false; CloseKey; free; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin if not check then if MessageDlg('yourIE is not default web browser'+#10#13 +'will you set yourIE the default webbrowser.',mtConfirmation, [mbYes, mbNo], 0) = mrYes then setyourIE; end;
tak for hjælpen stoney det vil jeg kigge lidt mere på:-)
opretter lige et nyt spm omkring onwindow2....det var ikke helt perfekt( men næsten)
du får points:-=
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.