|
| Vis sidste del af en richedit Fra : Claus Christiansen |
Dato : 17-01-01 23:27 |
|
Hej NG
Er der en der lige kan koden for at få vist den nedeste del af indholdet af
en TRichedit, altså hvis den indeholder 200 linier og der kun kan vises 42
linier på skræmen i den størrelse den har skal det være de sidste 42 linier.
PS: Håber der var nogen der forstod det!
Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia: http://www.pythia.dk
Personal: http://www.bigfoot.com/~kruc
============================================-------------------------
"Gravitation can not be held responsible for people falling in love"
A. Einstein
| |
Steen Jensen (18-01-2001)
| Kommentar Fra : Steen Jensen |
Dato : 18-01-01 07:34 |
|
Hej Claus
Claus Christiansen skrev i meddelelsen ...
>Hej NG
>
>Er der en der lige kan koden for at få vist den nedeste del af indholdet af
>en TRichedit, altså hvis den indeholder 200 linier og der kun kan vises 42
>linier på skræmen i den størrelse den har skal det være de sidste 42
linier.
>
Prøv med det her
form1.RichEdit1.setfocus;
form1.RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
Med venlig hilsen
Steen
| |
Claus Christiansen (18-01-2001)
| Kommentar Fra : Claus Christiansen |
Dato : 18-01-01 12:17 |
|
"Steen Jensen" <steen.jensen@mail.dk> wrote in message
news:9462pl$n62$1@news.inet.tele.dk...
> Hej Claus
>
> Claus Christiansen skrev i meddelelsen ...
> >Er der en der lige kan koden for at få vist den nedeste del af indholdet
af
> >en TRichedit, altså hvis den indeholder 200 linier og der kun kan vises
42
> >linier på skræmen i den størrelse den har skal det være de sidste 42
> >linier.
>
> Prøv med det her
>
> form1.RichEdit1.setfocus;
> form1.RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
> EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
>
Hmm, det var også mit eget første bud, men det virker desværre ikke.
Cursoren flyttes god nok ned i bunden men det er stadig de øverst linier der
vises.
Man kan lave det som følger men det synes jeg måske ikke er nogen helt
optimal løsning:
RichEdit1.setfocus;
RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
RichEdit1.Lines.Add(' ');
RichEdit1.Lines.Delete(RichEdit1.Lines.count-1);
Så pænere løsninger er stadig meget velkomne!!
/Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia: http://www.pythia.dk
Personal: http://www.bigfoot.com/~kruc
============================================-------------------------
"Gravitation can not be held responsible for people falling in love"
A. Einstein
| |
Claus Christiansen (18-01-2001)
| Kommentar Fra : Claus Christiansen |
Dato : 18-01-01 12:31 |
|
<bla bla bla>
> Claus Christiansen skrev i meddelelsen ...
>>>Er der en der lige kan koden for at få vist den nedeste del af indholdet
>>>af en TRichedit, altså hvis den indeholder 200 linier og der kun kan
>>>vises 42
>>>linier på skræmen i den størrelse den har skal det være de sidste 42
>>>linier.
<klip et forslag der desværre ikke virker>
>Man kan lave det som følger men det synes jeg måske ikke er nogen helt
>optimal løsning:
>
> RichEdit1.setfocus;
> RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
> EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
> RichEdit1.Lines.Add(' ');
> RichEdit1.Lines.Delete(RichEdit1.Lines.count-1);
>
linien med SelStart kan selvfølgelig helt udelades
/Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia: http://www.pythia.dk
Personal: http://www.bigfoot.com/~kruc
============================================-------------------------
"Gravitation can not be held responsible for people falling in love"
A. Einstein
| |
Stig Johansen (18-01-2001)
| Kommentar Fra : Stig Johansen |
Dato : 18-01-01 12:42 |
|
Hej.
"Claus Christiansen" <cch@unipeople.dk> wrote in message
news:GqA96.1894$Hu6.132507@news000.worldonline.dk...
> <bla bla bla>
> > Claus Christiansen skrev i meddelelsen ...
> >>>Er der en der lige kan koden for at få vist den nedeste del af
indholdet
> >>>af en TRichedit, altså hvis den indeholder 200 linier og der kun kan
> >>>vises 42
> >>>linier på skræmen i den størrelse den har skal det være de sidste 42
> >>>linier.
>
> <klip et forslag der desværre ikke virker>
>
Jeg sidder lige et andet sted, og har ikke lige mine ting ved hånden.
Den er god nok den med selstart, men den flytter ikke 'cursoren'.
Du skal have fat i noget med SHOWCARET(?) derudover.
Hvis du ikke får det løst, skal jeg nok poste løsningen på et tidspunkt.
mvh.
Stig Johansen.
[klip]
| |
Steen Jensen (18-01-2001)
| Kommentar Fra : Steen Jensen |
Dato : 18-01-01 16:22 |
|
Hej
Stig Johansen skrev i meddelelsen ...
>Hej.
>
>"Claus Christiansen" <cch@unipeople.dk> wrote in message
>news:GqA96.1894$Hu6.132507@news000.worldonline.dk...
>> <bla bla bla>
>> > Claus Christiansen skrev i meddelelsen ...
>> >>>Er der en der lige kan koden for at få vist den nedeste del af
>indholdet
>> >>>af en TRichedit, altså hvis den indeholder 200 linier og der kun kan
>> >>>vises 42
>> >>>linier på skræmen i den størrelse den har skal det være de sidste 42
>> >>>linier.
>>
>> <klip et forslag der desværre ikke virker>
>>
>Jeg sidder lige et andet sted, og har ikke lige mine ting ved hånden.
>Den er god nok den med selstart, men den flytter ikke 'cursoren'.
>Du skal have fat i noget med SHOWCARET(?) derudover.
>Hvis du ikke får det løst, skal jeg nok poste løsningen på et tidspunkt.
>
>mvh.
>Stig Johansen.
>
Det virker fint her hos mig, også uden Claus' tilføjelse. Hvis jeg har en
richedit med tekst i, og runtime står i toppen og udfører følgende
form1.RichEdit1.setfocus;
form1.RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
i en Buttons OnClick, får jeg vist de nederste linier.
Hvis det er tekst som bliver tilføjet løbende er det nok rigtigt som Stig
skriver noget med CARET.
f.eks.
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
Med venlig hilsen
Steen
| |
Claus Christiansen (18-01-2001)
| Kommentar Fra : Claus Christiansen |
Dato : 18-01-01 17:34 |
|
"Steen Jensen" <steen.jensen@mail.dk> wrote in message
news:9471oa$ggf$1@news.inet.tele.dk...
> Hej
>
><klip>
> Hvis det er tekst som bliver tilføjet løbende er det nok rigtigt som Stig
> skriver noget med CARET.
>
> f.eks.
>
> RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
>
Se nu har jeg så kombineret det bedste fra begge løsninger til:
RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
- og det virker, men hvorfor virker første uden videre hos jer ikke ikke hos
mig???
jeg kører Win2k og D4Prof, hvad med jer???
Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia: http://www.pythia.dk
Personal: http://www.bigfoot.com/~kruc
============================================-------------------------
"Gravitation can not be held responsible for people falling in love"
A. Einstein
| |
Steen Jensen (18-01-2001)
| Kommentar Fra : Steen Jensen |
Dato : 18-01-01 18:14 |
|
Hej
Claus Christiansen skrev i meddelelsen ...
>
>Se nu har jeg så kombineret det bedste fra begge løsninger til:
>
> RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
> EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
> RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
>
>- og det virker, men hvorfor virker første uden videre hos jer ikke ikke
hos
>mig???
>
>jeg kører Win2k og D4Prof, hvad med jer???
>
>Claus
>--
Jeg bruger D5 og Win98 1.udg. Jeg mener også at jeg har brugt det
under D4, så det er nok ikke det der er problemet.
Det sidste foreslag (RichEdit1.Perform(EM_SCROLLCARET, 0, 0)
virker heller ikke ved mig hvis jeg udfører den alene. Men hvis jeg
gør som nedenstående, tilføjer jeg tekst til en RE og viser hele tiden
de nederste linier.
const
i : integer = 0;
Procedure TForm1.AddText(const S: string);
begin
RichEdit1.SelText := S + #13#10;
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(i);
AddText(IntToStr(i));
end;
Med venlig hilsen
Steen
| |
Claus Christiansen (19-01-2001)
| Kommentar Fra : Claus Christiansen |
Dato : 19-01-01 12:00 |
|
"Steen Jensen" <steen.jensen@mail.dk> wrote in message
news:94789n$eik$1@news.inet.tele.dk...
> Hej
>
> Claus Christiansen skrev i meddelelsen ...
>>
>>jeg kører Win2k og D4Prof, hvad med jer???
>>
>
> Jeg bruger D5 og Win98 1.udg. Jeg mener også at jeg har brugt det
> under D4, så det er nok ikke det der er problemet.
>
Hmm, så kan det jo næsten kun være en OS-specialitet, men virker min løsning
også hos dig for så vil jeg da blot anvende den:
RichEdit1.SetFocus;
RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>
Pythia: http://www.pythia.dk
Personal: http://www.bigfoot.com/~kruc
============================================-------------------------
"Gravitation can not be held responsible for people falling in love"
A. Einstein
| |
Steen Jensen (19-01-2001)
| Kommentar Fra : Steen Jensen |
Dato : 19-01-01 14:44 |
|
Hej Claus
Claus Christiansen skrev i meddelelsen ...
>
>"Steen Jensen" <steen.jensen@mail.dk> wrote in message
>news:94789n$eik$1@news.inet.tele.dk...
>
>Hmm, så kan det jo næsten kun være en OS-specialitet, men virker min
løsning
>også hos dig for så vil jeg da blot anvende den:
>
>RichEdit1.SetFocus;
>RichEdit1.SelStart := SendMessage(form1.RichEdit1.Handle,
> EM_LINEINDEX, form1.RichEdit1.lines.count, 0);
>RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
>
>Claus
>--
Ja, den virker fint hos mig.
Med venlig hilsen
Steen
| |
|
|