Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Richedit Zeilenweise scrollen die zweite

  Alt 7. Feb 2011, 14:21
Tag allerseits.
Hab mal nen altes projekt von mir ausgegraben(das Trichedit projekt ).

Soweit klapt inziwschen alles fehlerlos(doublebuffering, zusaätzliche gimmicks^^ etc).
Nun häng ich aber noch am scrollen fest. Da ich ja von einem richedit, den inhalt erst auf einer bitmap zusammensetze und dann die benötigten teile auf das richedit zeichne, muss ich die aktuelle scrollposition ermitteln können.(nur zeilenweise scrollen)

Bisher hatte ich es so gemacht, das ich mir per EM_GETFIRSTVISIBLELINE die erste sichtbare zeile geholt habe und mit der Zeilenhöhe multipliziert hatte.(Zeilenhöhe hatte ich am anfang manuel kalkuliert). Das klappte auch super. Durch das modigizieren der WMVScroll procedure ist es mir auch gelungen, dass nurnoch zeilenweise gescrolled wird, wen man den regler per maus zieht, und eben nichtmehr pixelweise bzw fein gescrolled wird.

Leider bleibt nochimmer ein Problem: Fettgedruckter Text oder Kursiver(Alles selber Font), verändern die zeilenhöhe für ihre jeweilige zeile, weshalb meine errechnete Zeilenhöhe nicht mehr übereinstimmt.(Sie variiert nun bei normalem/fettgedrucktem und kursivtext >.<).

Soetwas wie "Gib mir die PixelPosition der ersten sichtbaren zeile", wäre was ich gebrauchen könnte

Hat da jemand ne Idee?

MFG
Memnarch
  Mit Zitat antworten Zitat