24. juli 2006 - 01:22Der er
16 kommentarer og 1 løsning
memo klik
Hej
Hvordan gør man sådan, at det registreres, hvilken linje i en memo der trykkes på? Målet er, at jeg skal kunne trykke på en linje i en memo, og så til en anden memo hentes teksten på det linjenummer, der blev trykket på, fra en fil.
procedure TfrmMain.Memo1Click(Sender: TObject); var Line: Integer; begin with (Sender as TMemo) do begin Line := Perform(EM_LINEFROMCHAR, SelStart, 0); SelStart := Perform(EM_LINEINDEX, Line, 0); SelLength := Length(Lines[Line]); end; end;
det var nu ikke helt sådan jeg ville have det, men jeg har rettet lidt i det, så jeg næsten har det jeg vil have:
procedure TForm1.Memo1Click(Sender: TObject); var Line: Integer; begin with (Sender as TMemo) do begin Line := Perform(EM_LINEFROMCHAR, SelStart, 0); memo2.Lines[line]:='hej'; //SelStart := Perform(EM_LINEINDEX, Line, 0); //SelLength := Length(Lines[Line]); end; end;
hvordan gør jeg nu sådan, at når jeg trykker et sted i memo1, så begynder skrivemarkøren ikke at blinke?
nej, jeg skal netop ikke skrive, og derfor gider jeg ikke se på skrivemarkøren blinke. Jeg skal have en memo med nogle linjer, og så skal jeg kunne trykke på en linje, hvorefter der kommer noget frem i en anden memo, men uden at skrivemarkøren er aktiv i første memo.
Der må da være sådan en indstilling i Object inspector.
Du bør læse om hvad du kan med debuggeren for den er til stor hjælp. Men hvis du vil se om en kode bliver udført kan du gøre det enkelt ved at klikke ude til høje (helt ude til højre) for linien således at linien bliver rød, du har nu indsat et break point.
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.