Toon posts:

[Delphi] richedit: zet cursorpos als 1ste regel in window

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig een eenvoudige helpfunctie voor een applicatie te schrijven en maak daarbij gebruik van een richedit.
In mijn richedit maak ik gebruik van een klein window met scrollbar om langs verschillende help onderwerpen te scrollen. Nu wil ik dat wanneer je help opvraagt over een bepaald onderwerp, dit onderwerp als eerste bovenaan in mijn window verschijnt.
Hoe kan ik hiervoor zorgen?
Ik weet van elke topic op welke regel en dus vanaf welke caretpos betreffende helptopic begint. Is het mogelijk om de regel van de caretpos als eerste regel in mijn window te zetten?

  • Quitter3
  • Registratie: Januari 2001
  • Laatst online: 13-02 16:30
Een selettext vanaf de caretpos van de desbetreffende helptext tot het einde van deze text.

Vervolgens een Cut doen.
Caretpos terugzetten naar begin van de Richedit.
Nu een Paste doen.

Cut en Paste moet je natuurlijk vanuit je prog doen.

Verwijderd

Topicstarter
Ben ik van op de hoogte dat dit werkt. Ik kan ook LoadFromFile gebruiken, maar wat ik eigenlijk wil is dat de text readonly is en altijd op dezelde plek, indezelfde volgorde blijft staan.
Ik wil dus eigenlijk de scrolbar in mijn code manipuleren.
Bijvoorbeeld:
Mijn window is 20 regels groot. HelpTopic "Kengetallen" staat op regel 100.
Nu wil ik onder "HelpOnKengetallenClick" dat het helpprogramma zelf naar deze topic scrollt en regel 100 als eerste in mijn window zet. De gebruiker kan nu nog steeds op alfabetische vlgorde heen en terug scrollen.

  • Quitter3
  • Registratie: Januari 2001
  • Laatst online: 13-02 16:30
Kun je dan niet ScrollBy gebruiken?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Delphi:
1
2
3
RichEdit1.SelStart := 100;  // Positie 100
RichEdit1.SelLength := 0;
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);  

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
Thanx, EM_ScrollCaret works like a charm.
I.p.v. Selstart en Sellength gebruik ik echter Caretpos omdat ik met P.X:=0 en P.Y:=(regel) makkelijker regels kan tellen.
Is er ook een manier om Caret autom. op de bovenste regel in beeld te brengen i.p.v op de onderste regel.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

np.

Bovenste regel? Elke keer de cursor naar boven verplaatsen als er tekst toegevoegd wordt.

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1