XbpRtf(): Position einzelner Zeilen berechnen

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

XbpRtf(): Position einzelner Zeilen berechnen

Beitrag von UliTs »

Mit

Code: Alles auswählen

XbpRtf():getCursorPos()
kann man die Position des Cursors bestimmen.
Ich habe eine weitere Methode zur Klasse hinzugefügt:

Code: Alles auswählen

METHOD XbpRtf:GetLinePos( nLine )
LOCAL  nLinePos, nPos, nX, nY
   nLinePos  := ::GetLineStart( nLine )
   nPos := SendMessageA( ::GetHWND(), EM_POSFROMCHAR, nLinePos, 0 )
   nX   := Bin2W( Left(L2Bin(nPos), 2) )
   nY   := Bin2W( SubStr(L2Bin(nPos), 3) )
   IF ::SystemOrigin == .F.
      nY := ::CurrentSize()[2] - nY
   ENDIF
RETURN {nX,nY}
Damit bestimme ich die Y-Position frei wählbarer Zeilen.
Beides hat leider einen Haken bei der Dialogdarstellung: Wenn der Rtf-Text so groß ist, daß Scrollbars eingeblendet werden, wird die Positon leider nur relativ zum Ausschnitt ohne Berücksichtigung des Scrollbars berechnet.

Meine Frage:
Wie komme ich an die Scrollbars des XbpRtf() und deren aktuelle Einstellungen heran?
:?:

Uli

P.S. kann mich leider erst Freitag wieder melden.
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hallo Uli,
Uli hat geschrieben:Meine Frage:
Wie komme ich an die Scrollbars des XbpRtf() und deren aktuelle Einstellungen heran?
was genau meinst du mit "aktuellen Einstellungen" ?

Wenn es darum geht, festzustellen, ob Scrollbars vorhanden sind, könntest du die Funktion canScroll() aus
diesem Thread als Vorlage nehmen.

Viele Grüße,
Günter
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Günter Beyes hat geschrieben: was genau meinst du mit "aktuellen Einstellungen" ?
vermutlich ob schon gescrollt wurde oder ob man noch am Anfang steht.
Gruß
Hubert
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Beitrag von UliTs »

Hallo Günter, hallo Hubert,

ich war wohl ein bischen blind :? .
Ich habe glatt übersehen, daß in der Deklaration von XbpRtf() es eine Instanz Scrollbars gibt!
Danke für die Hilfe.

Uli
Antworten