mam pytanie, w jaki sposob ustawic kursor edycji w Trichedit, chodzi mi o pozycje x,y , dzieki funkcji TRichEdit.CaretPos mozna pobrac ta pozycje niestety jest ona tylko do odczytu, funkcja SelStart tez sie nie da bo jest ona podawana jako pozycja znaku w ciagu calego TRich Edita .Mozliwe ze cos przegapilem, prosze o pomoc
eee nie chce mi sie szukać ostatecznie możesz zliczać ilość znaku w linijkach i na podstawie tego ustawiać SelStart.
TRichEdit.SetCaretPos(const Value: TPoint); override;
Ladnie to wyglada ale niestety w Delphi 5 NIE MA takiej funkcji :-(
TRichEdit1.CaretPos:= //tu współrzędne jako TPoint
Dziwne...
U mnie komentarz wyświetla podwójnie...
Wlasnie ze tak sie nieda juz pisalem o tym, jest to funkcja tylko do odczytu (Error:Cannot assign to a read-only property), widocznie jest to nastepne niedopatrzenie tworcow komponentu w tej walsnie wersji delphi :-/
Wlasnie wpadlem na pomysl, czy ktos komu dziala funkcja TRichEdit.SetCaretPos o ktorej napisal PieterEr moglby mi wkleic na forum kod zrodlowy (prawdopodobnie znajduje sie ona w unicie StdCtrls)
z tego co widze bedzie to zrobione na sendmessage`ach
procedure TForm1.Button1Click(Sender: TObject);
var
line, col :Integer;
begin
line:=Pred(StrToIntDef(Edit1.Text,2)); //nr linii z Edit1
col:=Pred(StrToIntDef(Edit2.Text,2)); //nr kolumny z Edit2
RichEdit1.SelStart:=(SendMessage(RichEdit1.Handle,EM_LINEINDEX, line,0)+col);
RichEdit1.SetFocus;
end;
PS. Mam Personala więc to własna twórczość, a nie StdCtrls
Ale wpadka...
Tak będzie dobrze (mam nadzieję):
RichEdit1.Selstart:= //tu pozycja
AAAAA!!!
Czemu komentarze wyświetla mi podwójnie?