02. januar 2004 - 01:37Der er
7 kommentarer og 1 løsning
PageUp i Memo-boxe
Jeg indlæser data i et memo-box; men cursoren står ved den sidste indlæste linie. Hvordan får jeg cursoren til at stå ved den 1. linie? Memo1.SetFocus virker ikke.
Kan man hardprogrammere en PageUp (ASCII-tegn #73) og i så fald hvordan?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
SetFocus flytter markøren til TMemo'en, så den dur' ikke.
SelStart fungerer, men skal sættes til 0 for at starte på allerførste position.
Mht. at. scrolle. Der findes en ScrollBy metode som gav mig nogle pudsige resultater så det er nok ikke den bedste metode til det. Prøv at lege lidt med denne message:
Memo1.Perform(EM_SCROLLCARET, 0, 0);
Jeg fandt lidt mere angående positionering af Caret'en:
procedure GetMemoRowCol (M : TMemo; var Row, Col : LongInt); begin Row := SendMessage(M.Handle, EM_LINEFROMCHAR, M.SelStart, 0); Col := M.SelStart-SendMessage(M.Handle, EM_LINEINDEX, Row, 0); end;
procedure SetMemoRowCol(M : TMemo; Row, Col : Integer); begin M.SelStart := SendMessage(M.Handle, EM_LINEINDEX, Row, 0) + Col; end;
Mener at have hørt, at TMemoen har en del funktionalitet som Borland ikke implementerede; derfor alle de kald Perform og SendMessage.
Nu ved jeg ikke hvordan du prøver at bruge Memo1.SelStart := 0; Men det gør det du beder om! Eller også beder du om noget andet end det du beder om ? :)
Jeg har tænkt mig at bruge en listbox, når data er blevet indtastet, så jeg stopper spørgsmålet. Tak for denne gang med jeres kommentarer og svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.