aha.
die delphi-hilfe erzählt mal wieder dünnpfiff
caretPos gibt nicht die pixel-koordinaten des carets zurück, sondern die spalte und die zeile...
da heißt es dann: umrechnen.
hier mal mein (getesteter) code:
Delphi-Quellcode:
if key = '.' then
begin
form2.left := form1.Left + richedit1.Left +
richedit.CaretPos.x * form1.canvas.TextWidth('W') +
(form1.width - form1.ClientWidth); //abziehen des fensterrahmens
form2.top := form1.top + richedit.top +
richedit.caretpos.y * form1.canvas.Textheight('W') +
(form1.height - form1.ClientHeight); //abzeihen des fensterrahmen
form2.show;
end;
form2 ist das fenster, welches aufklappt, wenn man . eingibt
nachtrag: form1.canvas angefügt (damit du es besser siehst
). du müsstest dem canvas noch die schriftart den memo's geben, damit es die text-größe richtig ausgibt...
hoffe, dass dir das hilft,
Aenogym