24. juni 2002 - 22:37
Der er
5 kommentarer og 1 løsning
Memo, drag/drop til linie under musen
Hvordan får jeg fat i linie nummeret i en memo under musen/cursoren UDEN memo'en har haft focus. Jeg prøver på at drag/droppe noget tekst fra en listbox til en memo. Jeg ved godt hvordan man fanger linie nummeret, jeg kan bare ikke gøre det uden memo'en har haft focus først. Det er det jeg gerne vil undgå. Stoney
Annonceindlæg fra Bluecircle
Ved det ikke, men har du kastet et blik på CaretPos() ellers så brug SynEdit i stedet for, den kan det du gerne vil plus ALT det andet.
altså : Jeg skal heste et eksempel sammen til dig der fortæller dig hvilken linje musen er hen over i en TMemo ?
Ja, jeg skal bruge linie nummeret musen er over uden der har været klikket/skrevet i memo'et Stoney
her er noget det passer næsten. Men nu har du noget at gå videre med : procedure TForm1.FormCreate(Sender: TObject); var i : Integer; begin memo1.Clear; for i:= 0 to 25 do Memo1.Lines.Add(IntToStr(i)); end; function TextExtent(const aDC : HDC; const Text: string): TSize; begin Result.cX := 0; Result.cY := 0; Windows.GetTextExtentPoint32(aDC, pChar(Text), Length(Text), Result); end; function TextWidth(const aDC : HDC; const Text: string): Integer; begin Result := TextExtent(aDC, Text).cX; end; function TextHeight(const aDC : HDC; const Text: string): Integer; begin Result := TextExtent(aDC, Text).cY; end; procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var HesteMuleHaar : Integer; aDC : HDC; begin aDc := GetDc(Memo1.Handle); HesteMuleHaar := TextHeight(aDc, 'Wg'); Caption := Format('(x, y, HEST) = (%d, %d, %d)', [X,Y, round(y / HesteMuleHaar)]); end; Jens B
det er da ok på 16 minutter ? Og så dagen efter at have hested igennem ! Jens B
jens>> respect !!! Du er sejere end gode gamle TAROK Stoney
Kurser inden for grundlæggende programmering