Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   scrollen im twebbrowser (https://www.delphipraxis.net/58151-scrollen-im-twebbrowser.html)

sam3st 2. Dez 2005 01:02


scrollen im twebbrowser
 
hallo, nachrichten ist ein twebbrowser, der als chat-nachrichtenfenster dient... immer wenn jedoch eine zeile hinzukommt
scrollt der nicht bis zum schluss, sondern der user muss manuell scrollen, nun dachte ich wenn man nämlich in den twebbrowser klickt und ende drückt dass dies auch mit einer simulierten eingabe funktioniert... tuts jedoch nicht, passiert gar nichts...

jemand ne ahnung?

nachrichten.setfocus;
SendMessage(nachrichten.handle,wm_keydown, vk_end, 0);

SirThornberry 2. Dez 2005 05:53

Re: scrollen im twebbrowser
 
hier mal einen Auszug wie ich im TWebbrowser scrolle (per Buttonclick)
Delphi-Quellcode:
var LVar: OLEVariant;
begin
  LVar := OleVariant(Browser.Document as IHTMLDocument2);
  if Sender = BtnScrollLeft then LVar.Body.ScrollLeft := LVar.Body.ScrollLeft - 5 else
  if Sender = BtnScrollRight then LVar.Body.ScrollLeft := LVar.Body.ScrollLeft + 5 else
  if Sender = BtnScrollUp then LVar.Body.ScrollTop := LVar.Body.ScrollTop - 5 else
  if Sender = BtnScrollDown then LVar.Body.ScrollTop := LVar.Body.ScrollTop + 5;
"Browser" ist dabei ein TWebBrowser.

marabu 2. Dez 2005 06:26

Re: scrollen im twebbrowser
 
Moin.

Wenn grundsätzlich das zuletzt hinten angefügte Element sichtbar sein soll, dann geht auch das hier:

Delphi-Quellcode:
procedure TDemoForm.ScrollDown(doc: IHTMLDocument2);
var
  ec: IHTMLElementCollection;
  v: OleVariant;
  e: IHTMLElement;
begin
  ec := Doc.body.children as IHTMLElementCollection;
  v := Pred(ec.length);
  e := ec.item(v, null) as IHTMLElement;
  if Assigned(e) then
    e.scrollIntoView(false);
end;
Grüße vom marabu

sam3st 5. Dez 2005 23:38

Re: scrollen im twebbrowser
 
hmm die prozedur funzt bei mir nicht...

was ist demoform?

der compiler meckert ausserdem bei "null"
....

Luckie 6. Dez 2005 01:04

Re: scrollen im twebbrowser
 
Zitat:

Zitat von sam3st
hmm die prozedur funzt bei mir nicht...

was ist demoform?

Ich würde einfach mal so tippen, dass das der Name seiner Formularklasse ist.

Zitat:

der compiler meckert ausserdem bei "null"
Probier mal nil.

Ich würde sagen hier fehlen noch ziemlich die Grundlagen. Mit Copy an Paste wirst du nicht weitkommen.

omata 6. Dez 2005 01:12

Re: scrollen im twebbrowser
 
Zitat:

Zitat von sam3st
der compiler meckert ausserdem bei "null"
....

Bei Delphi7 ist die Unit Variants automatisch in der Uses-Klausel vorhanden. Aus dieser Unit kommt NULL. Welche Delphi-Version benutzt du?
Versuch doch einfach mal die Variants-Unit mit einzubinden, dann solltest du auch NULL zur Verfügung haben.

MfG
Thorsten

sam3st 6. Dez 2005 12:16

Re: scrollen im twebbrowser
 
hmm danke schonma... werds gleich versuchen...ich benutze delphi 7 enterprise...

aber nochwas die prozedur meckert auch... was is ihtml2? dieser doc...

ich weiss nich was ich an die prozedur übergeben soll...

marabu 6. Dez 2005 12:21

Re: scrollen im twebbrowser
 
Hallo,

IHTMLDocument2 lebt in der Unit MSHTML - die solltest du in deiner Uses Klausel aufführen.

Grüße vom marabu

sam3st 6. Dez 2005 12:25

Re: scrollen im twebbrowser
 
achja luckie... ja ich war damals in pascal recht fit, so vor 15 jahren, deshalb steig ich bei delphi ein und mir fehlen wirklich teilweise grundlagen aber copy & paste brauch ich erstens nicht ausserdem hab ich dafür hier im forum schon genug gefunden...

also meine form heisst form1... wenn ich das mit form1 mach meckert der compiler ebenfalls...

mit nil werd ich mal versuchen

sam3st 6. Dez 2005 12:28

Re: scrollen im twebbrowser
 
hey marabu, die unit ist eingebunden...

gib mir doch mal ein beispiel wie diese prozedur aufgerufen werden soll...

und wenn ich die prozedur form1.scrolldown...... nenne sagt der compiler form1 redefiniert...

bitte nochma n tipp, durch dich bekomm ichs wohl noch hin


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz