Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

497 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

27 april 2024, 20:30:42

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: TWebBrowser - Fit to Page  (gelezen 9177 keer)

0 leden en 1 gast bekijken dit topic.

Offline NLCOMP

  • Forumheld
  • *****
  • Berichten: 14.666
    • NL Computer Forum
TWebBrowser - Fit to Page
« Gepost op: 9 november 2009, 19:43:53 »
Bericht 1 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Stefan de Best (Sysop)Datum:25-05-2005
 Aan:AllenMsgID:2297.1
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Beste mensen,
In een Delphi-programma die ik aan het schrijven ben heb ik een TWebBrowser-component staan die een afbeelding rechtstreeks van het Internet haalt en vervolgens weergeeft d.m.v. de methode Navigate().
Nu meen ik me te herinneren dat IE, als een afbeelding groter is dan het venster waarin het wordt weergegeven, deze automatisch verkleind wordt. Nu heb ik gemerkt dat het TWebBrowser-component dit automatisch verkleinen dus niet doet. Ik heb daarom het vermoeden dat ik nog wat extra code moet schrijven om dit te bewerkstelligen.
Ik heb al gekeken naar de diverse methoden en eigenschappen die aan deze component zijn verbonden, maar kom er eerlijk gezegd niet uit.
Iemand die mij in de juiste richting kan sturen?

Stefan

    Overzicht van 150 oude en minder bekende zwemslagen
    http://tinyurl.com/yuojv[/]

 

Gewijzigd 25/05/2005 15:29 ET CET door Stefan de Best (Sysop)


Bericht 2 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Tony de Jonge (Sysop)Datum:25-05-2005
 Aan:Stefan de Best (Sysop)MsgID:2297.2
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Stefan,
>> Nu meen ik me te herinneren dat IE, als een afbeelding groter is dan het venster waarin het wordt weergegeven, deze automatisch verkleind wordt. <<
Ehh, niet altijd. Ik denk dat het iest te maken hefet met IE6 en etc. Ik was vandaag bij een klant waar in elk geval GEEN IE6 staat (ik denk IE5.5, maar kan ook nog 5.0 zijn) waar dat NIET automatisch gebeurde, dus helemaal standaard is het niet.
Op onze eigen website waar een heleboel screendumps in 'poster formaat' staan resized IE6 ook niet, die poosters zijn overigesn JPG bestanden, mogelijk zit in die richting nog een oplossing van de vraag?
TdJ


Bericht 3 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Michel Uphoff (Sysop)Datum:25-05-2005
 Aan:Stefan de Best (Sysop)MsgID:2297.3
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Stefan,
Net even bij mij gekeken, en alhoewel IE 6 keurig resized (en via het bekende knoppie de mogelijkheid tot ware grootte/passend geeft), doet ook mijn webbrowser control dat eveneens niet. Bij de avatar's resize ik ook, maar op een vrij alternatieve manier:
Function GetAvatar()
Kill Pad & "/Avatar.jpg"
Dim AvatUrl, AvatFilename As String
AvatUrl = "http://acx.prospero.com/dir-bbcard/348/" & SendUID & ".icon"
AvatFilename = Pad & "/Avatar.jpg"
Call URLDownloadToFile(0&, AvatUrl, AvatFilename, 0, 0)
Wait (1)
'resizen van avatar naar Picture1 afmetingen
Picture1.Picture = LoadPicture(Pad & "/Avatar.jpg")
    Picture1.ScaleMode = 3
    Picture1.AutoRedraw = True
    Picture1.PaintPicture Picture1.Picture, _
        0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, _
        0, 0, _
        Picture1.Picture.Width / 26.46, _
        Picture1.Picture.Height / 26.46
    Picture1.Picture = Picture1.Image
End Function

M.a.w. Er bestaat al een (lege) picture1, daarin wordt de avatar geplaatst en deze wordt vervolgens auto resized ter grootte van picture 1 (en pas in een ander deel van het programma gaat visible op true). Zo heb ik niets te maken met de feitelijke afmeting van de avatar (er zitten heel kleine maar ook heel grote tussen), er wordt resized naar een vast formaat.
Wellicht kan je ook zoiets doen.
Of je zal on the fly de afmetingen van de afbeeldingen moeten ophalen, en vervolgens de afbeelding (indien te groot) resizen naar de maximale omvang van het geldende venster, en daarna visible maken.

Michel Uphoff (Sysop)
Homepagina


Bericht 4 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Michel Uphoff (Sysop)Datum:26-05-2005
 Aan:Stefan de Best (Sysop)MsgID:2297.4
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Stefan,
>> Nu meen ik me te herinneren dat IE, als een afbeelding groter is dan het venster waarin het wordt weergegeven, deze automatisch verkleind wordt. <<
Je had toch wel bij Internetopties, geavanceerd, hoofdstukje multimedia "Grootte van afbeeldingen automatisch aanpassen" aanstaan?
Zo ja, dan vertoont jouw TWebbrowser hetzelfde gedrag als de VB6 Inet control.

Michel Uphoff (Sysop)
Homepagina


Bericht 5 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Stefan de Best (Sysop)Datum:26-05-2005
 Aan:Tony de Jonge (Sysop)MsgID:2297.5
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Tony,
Zie mijn bericht aan Michel.

Stefan

    Overzicht van 150 oude en minder bekende zwemslagen
    http://tinyurl.com/yuojv[/]

 


Bericht 6 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Stefan de Best (Sysop)Datum:26-05-2005
 Aan:Michel Uphoff (Sysop)MsgID:2297.6
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Michel/Tony,
Geinig....laat ik nou net met de avatar bezig zijn! :-) Het eerste gedeelte van jouw code begrijp ik helemaal, alleen het resize-gedeelte begrijp ik niet helemaal omdat die code me verder niets zegt.
Ik ben echter nog even verder op Internet gaan zoeken en kwam op een site terecht waar een proc. beschreven staat waarmee je on-the-fly HTML-code kan toevoegen. Zie hieronder de aangepaste versie zoals ik die nu heb :
--------------8<---------------8<--------------8<--------------
uses
 MSHTML;procedure TForm1.ForumComboBox1Change(Sender: TObject);
begin
 AvatarWebBrowser.Navigate('about:blank');
end;procedure TForm1.AvatarWebBrowserDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  WebDoc: HTMLDocument;
  WebBody: HTMLBody;begin
  if pDisp = AvatarWebBrowser.Application then
  begin
 // Beginwaarden instellen



    AvatarWebBrowser.OleObject.Document.Body.Style.overflowX := 'hidden';
    AvatarWebBrowser.OleObject.Document.Body.Style.overflowY := 'hidden';
 



    WebDoc := AvatarWebBrowser.Document as HTMLDocument;
    WebBody := WebDoc.body as HTMLBody;
 
    WebBody.leftMargin := 0;
    WebBody.topMargin := 0;
    WebBody.bottomMargin := 0;
    WebBody.rightMargin := 0;


 
    WebBody.insertAdjacentHTML('AfterBegin','<HTML><BODY><TABLE Width=100% CellPadding=0 CellSpacing=0 Border=0>'+
        '<TR><TD><IMG Width=100 SRC=http://acx.prospero.com/dir-bbcard/348/'+ FLfromuserId + '.icon '+
        'Width=100%></TD></TR></TABLE></BODY></HTML>');
 end;
end;
end.
--------------8<---------------8<--------------8<--------------
Deze code, samen met de beginwaarden zorgen ervoor dat de avatar volledig in het TWebBrowser-component wordt weergegeven (het TWebBrowser-component heet bij mij overigens AvatarWebBrowser). Voorwaarde is wel dat MSHTML in de uses-clause wordt toegevoegd.
Nu moet ik alleen nog wat andere code aanpassen om e.e.a. m.b.t. de avatar weer te laten werken, maar daar kom ik wel uit denk ik.
BTW, ook jouw, vrij grote avatar, wordt nu goed weergegeven (zie attachment).

Stefan

    Overzicht van 150 oude en minder bekende zwemslagen
    http://tinyurl.com/yuojv[/]

 

Gewijzigd 26/05/2005 15:21 ET CET door Stefan de Best (Sysop)
Bijlagen :

CS_AvatarMU.gif
13KB


Bericht 7 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Stefan de Best (Sysop)Datum:26-05-2005
 Aan:Michel Uphoff (Sysop)MsgID:2297.7
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Michel,
BTW,
>> Je had toch wel bij Internetopties, geavanceerd, hoofdstukje multimedia "Grootte van afbeeldingen automatisch aanpassen" aanstaan? <<
Ja, staat aan.

Stefan

    Overzicht van 150 oude en minder bekende zwemslagen
    http://tinyurl.com/yuojv[/]

 


Bericht 8 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Michel Uphoff (Sysop)Datum:26-05-2005
 Aan:Stefan de Best (Sysop)MsgID:2297.8
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Stefan,
Grappig dat jij met Avatars bezig bent, en als ik zo de code lees krijg ik een Dèja Vu. Wat lijkt dat op de code die in CSreader voorkomt zeg. Had nooit gedacht dat dat Delphi zo zou lijken op VB.
Inderdaad, ook in CSreader worden html-pagina's on-the-fly omgekat tot nieuwe- en oom dat gaat natuurlijk met zaken als eerst browsen naar about:blank en vervolgens stoeien met de inhoud van Document.Body, deze ombouwen/strippen en eigen html-code injecteren.
Maar what the heck ben jij eigenlijk aan het bouwen? Een alternatieve CSreader?
Programmeren is wel leuk hè? Er gaat alleen zo verrekte veel tijd in zitten.

Michel Uphoff (Sysop)
Homepagina


Bericht 9 van 9

NL Computer Forum ~ SQL & Programmeren
 Van:Stefan de Best (Sysop)Datum:28-05-2005
 Aan:Michel Uphoff (Sysop)MsgID:2297.9
 Onderwerp:TWebBrowser - Fit to PageForum:ws-nlcomputer
Hoi Michel,
>> Maar what the heck ben jij eigenlijk aan het bouwen?
>> Een alternatieve CSreader?
Ik zou niet durven! Nee, gewoon een beetje aan het 'spielen'. ;-)
>> Programmeren is wel leuk hè?
>> Er gaat alleen zo verrekte veel tijd in zitten.

Nou! Maar in principe zou dat steeds beter moeten gaan naarmate je meer ervaring krijgt.
 

Stefan

    Overzicht van 150 oude en minder bekende zwemslagen
    http://tinyurl.com/yuojv[/]