> >>>> - muligvis et nemt spørgsmål, men jeg synes ikke det er så lige til
> >>>> her
> >>>> klokken sent... men hvordan finder jeg ud af hvilken caret pos der
> >>>> svarer
> >>>> til en given x,y koordinat i en memo.
> >>>
> >>> Mener du et tekst-, eller grafikkordinat?
> >>
> >> Tekst, det er jo den der hedder caret :)
> >
> > Ja, men en caret har også et grafikkordinat! HA!
>
> Godt forsøgt! :)
Meget godt forsøgt! Det er faktisk rigtigt!
>
> > Jeg havde sådan set håbet det ikke var tekstkordinatet, men lad nu det
> ligge
> >
>
> Ja, så havde det jo være så meget lettere! :)
BEstemt
> > Kan du fortælle lidt mere?
> >
> > - Skal positionen "følge med" når man scroller, eller skal den altid
være
> i
> > forhold til øverste venstre hjørne?
>
> Hvis jeg forstå din formulering, så skal den "følge med", altså hvis
linier
> 20-30 er synlige så skal jeg også bruge et linie# mellem 10-20.
Nej, så skal den netop ikke "følge med"
Men altså, kordinat i forhold til første synlige linie.
> > - Bruger du en fixed-pitch font?
> >
> > Det er nemlig så meget lettere hvis du bruger en fixed-pitch font
>
> Nej, men det kan jeg jo blive nød til - man kan det virkelig passe at man
er
> nød til at tænke selv?!? Og det er vel heller ikke ligefrem nemt selv om
man
> gør (hvordan afgør man f.eks. hvilken linie der er den første der er
> synlig??)
Hvis det kan være til en hjælp, kan du få index-nummeret i teksten at vide,
ved at
gøre dette:
SendMessage(Memo.Handle, EM_GETSEL, Longint(@Result), 0);
Hvor Result er en PInteger.
(Men det er der ikke meget sjov ved, for den kan man bare aflæse som
property'en "SelStart"
SelStart er et tal, der angiver hvor din caret er henne. Så kunne man ved
højreklik lave noget
i retning af dette stunt (utestet) :
- Gem værdien for SelStart (og dermed din caret)
- Kør proceduren MouseDown (og få din TMemo til at tro at du lige har
*venstre*klikket :)
- Aflæs SelStart (den fortæller nu hvor din caret *ville* have været, hvis
du havde venstreklikket
- Overskriv SelStart med den værdi du oprindeligt aflæste.
Nu er det bare at tælle hvor mange gange du støder på CR+LF i den del
af din tekststreng der kommer før SelStart.
DET burde virke, men sikke da et stunt!
Desværre er der ikke taget højde for scroll. Jeg er ikke helt sikker på om
dette er hvad du leder efter?
--
Regards, Christian Iversen [FIDUSO]
Flawless.Dk: [
http://domains.flawless.dk]
Do you have a (broken?) IBM75GXP Drive?
Please go to [
http://ibm.flawless.dk]