En form for iframe ? (TWebbrowser)

Tags:    delphi

Jeg oprettede før et spårgsmål om "Twebbrowser", og er nu støt ind i et nyt problem, som jeg har prøvet alt for at løse.

For at kunne forklarer mig bedre har jeg lavet dette billede for at vise hvad jeg mener og hvad der skal gøres:

http://home.tiscali.dk/6x107699/kal.gif

Når man trykker på et link i kalenderen som du kan se der er sat ring om, det som skal ske er at den info fra linket skal vises
i det område hvor pilen fører hen til.

Både hvor omridset og hvor det skal vises er begge bygget på et “Twebbrowser” komponen, så jeg har en fx. en PHP-side
som bliver vist med info i den box

Men lige dette kan jeg ikke få til at virke, hvis man trykker på et tal i kalenderen åbner den bare en ny side hvor den skal vise infoen om datoen fra.
Kan det så ikke på en eller anden måde lade sig gøre istedet at få det vist i det “frame” med pilen ?



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hey...

Du skal bruge komponentets OnBeforeNavigate event. Ved at opfange den, kan du bestemme at den requestede adresse skal vises et andet sted. Hvis du har to TWebBrowser komponenter, kan du placere den her kode i den første's "OnBeforeNavigate2" event:

Fold kodeboks ind/udKode 


Du skal dog huske på at du på den måde sender ALT videre. Dvs. hvis du forsøger at loade en adresse i den første, bliver det også sendt videre. Dette kan du undgå ved fx at tjekke på Url, om det er en adresse der skal vises i den første eller ej.

--
Mvh.

Kasper (TSW)
Webmaster



procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://htx.iniziate.dk/calender/kalvalg.php');
WebBrowser2.Navigate('http://htx.iniziate.dk/calender/kalinfo.php');
WebBrowser3.Navigate('http://htx.iniziate.dk/calender/news.php');
WebBrowser4.Navigate('http://htx.iniziate.dk/calender/kalform.php');
end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser2.Navigate('http://htx.iniziate.dk/calender/kalinfo.php');
Cancel := true;
end;

end.



t