Toon posts:

[VB6] Webbrowser control een deel van een site vertonen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heeft iemand een idee hoe ik met een webbrowser control slechts een deel van een website kan tonen in een vb applicatie.

Ik wil het volgende doen.

Ik heb een website met een camara view. Deze view staat ergens midden op het scherm. De rest van het scherm bevat nog allerlei onzin.
Nu wil ik vanuit een applicatie een form launchen met alleen het beeld zichtbaar.

Bij sommige camera's is het mogelijk om via de url de camview te positioneren naar links boven in de hoek. En dan is het eenvoudigweg het formaat van de webbrowser control hierop aanpassen. Maar niet bij alle cameras is dat mogelijk en ik wil dan een offset instelbaar maken.

Heb al wel gezocht maar kom er niet uit.

Kan iemand hulp bieden.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 03-05 23:13

alienfruit

the alien you never expected

Misschien kan je wat doen via de VSCROLL en HSCROLL api messages? Geen idee of zo'n ActiveX control dat slikt. Misschien kan je zoiets doen, bij mijn weten zou ie dan een page down moet doen :)

Visual Basic:
1
SendMessage( ahWnd, WM_VSCROLL, SB_PAGEDOWN, 0& );

[ Voor 43% gewijzigd door alienfruit op 11-08-2005 14:51 ]


Verwijderd

offtopic:
/me vraagt zich als welke pr0n webcams binnenkort gecaptured gaan worden .... :+

Verwijderd

Ik zie nog 3 andere mogelijkheden (of ze haalbaar zijn in jouw geval laat ik even in het midden):

1) Haal de desbetreffende pagina op via bijvoobeeld WinInet. Gebruik een reg exp (indien mogelijk!) om de content die je wilt hebben eruit te rippen, stop deze content in een string (plak er eventueel even een <html> en <body> omheen) en stuur deze naar de webbrowser control.
Ik heb zelf het wel eens op deze manier gedaan. Je kunt de webbrowser ook wel zelf een URL laten laden, maar via WinInet heb je meer controlle over het process. De webbrowser control accepteerd ook input van een String. Als je content relatieve links bevat moet je wel even zelf een head met base aanmaken, omdat via een String de control niet weet wat de base moet zijn.


2) Doe via de webbrowser control een DOM tree walk en haal je content er op deze manier uit. Maak er weer een string van, en geef deze terug een de control.

3) Doe opnieuw een DOM tree walk om bij de gewenste content te komen. Vraag de coordinaten op van dit element (zie de functies die javascript normaal gebruiken hoe je dit moet doen) en de grootte (zie weer javascript). Heel kort samengevat moet je offsetLeft, offsetTop (positie) en offsetHeight + offsetWidth gebruiken. Voor de positie moet je nog controleren of er een offsetParent is, anders krijg je je coordinaten relatief tov die parent.

Als je de coordinaten + groote hebt, laat de control dan naar de goede plek scrollen en geef het de juiste grootte.