/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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




Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste