s.a
richedite yazilan yazinın(text olarak) ustune mouse ile gelince yazinin altinda, daha once clipboarda yapistirdigim yazi ciksin istiyorum nasil yapabilirim.
richeditmousemove nasil bir komut yazmam lazim. asagidaki komut ile yazilari caption da cikardim. ama ben yazilarin hemen altinda istiyorum.
yapmak istedigim ornek burada. yardimci olursaniz sevinirim.
http://www.islamharfleri.com/risale/ris ... _6_01.html
procedure TForm1.richedit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
iCharIndex, iLineIndex, iCharOffset, i, j: Integer;
Pt: TPoint;
s: string;
begin
with TRichEdit(Sender) do
begin
Pt := Point(X, Y);
iCharIndex := Perform(Messages.EM_CHARFROMPOS, 0, Integer(@Pt));
if iCharIndex < 0 then Exit;
iLineIndex := Perform(EM_EXLINEFROMCHAR, 0, iCharIndex);
iCharOffset := iCharIndex - Perform(EM_LINEINDEX, iLineIndex, 0);
if Lines.Count - 1 < iLineIndex then Exit;
s := Lines[iLineIndex];
i := iCharOffset + 1;
while (i > 0) and (s <> ' ') do Dec(i);
j := iCharOffset + 1;
while (j <= Length(s)) and (s[j] <> ' ') do Inc(j);
Caption := Copy(s, i, j - i);
end;
end;
richedit mousemove
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: richedit mousemove
Richedit bulunduğun satırın altında belirsin istiyorsan hint ile yapman daha kolay ve mantıklı...Örnek uygulamada olduğu olması için bir satır boşluk olması icab edecektir.Yanılmıyorsam sen bir hint çıksın istiyorsun...
aşağıdaki örneği incele....
aşağıdaki örneği incele....
Kod: Tümünü seç
With (Sender as TRichEdit) do
Begin
ShowHint:=true;
Hint:=Lines.Strings[Perform(EM_LINEFROMCHAR,SelStart,0)] ;
End;
Re: richedit mousemove
aslinda tam yazi seklinde istiyordum hint iyi olmuyor. veya hint yerine label kullanabilirmiyim bilmiyorum.
label kullanirsam acaba o satirin altina nasil taşırım.
label kullanirsam acaba o satirin altina nasil taşırım.
Re: richedit mousemove
Şöyle olabilir alttaki satırları bir aşağı kaydırıp arada kalan yere formatlı bir şekilde mesela rengi değişik bir satır halinde ekleyip silebilirsin...Ama satır sayısı çoook fazla olursa yavaşlama belirgin olacaktır. Buda bir fikirdir yani...
Yada cursorun bulunduğu yere göre bir tane label create edebilirsin...

Re: richedit mousemove
şu label i tam olarak nasil satirin ustune veya altina getirebilirim ugrastim ama yapamadim.
hinti getirdim label gelmiyor.
hinti getirdim label gelmiyor.
Re: richedit mousemove
canvas.textout u kullanabilirmiyim bu proje icin ve nasil kullanirim.