Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
Delphi XE4 Professional
|
AW: Welches Ereignis muß ich tEdit verändern?
30. Nov 2014, 11:36
Hier noch ein "kleines" Beispiel:
Delphi-Quellcode:
function GetActiveWord(rch : TRichedit;x,y: integer): string;
var pos : Integer;
poin : TPoint;
start_pos : Integer;
end_pos : Integer;
c : Char;
txt : string;
txtlen : Integer;
begin
poin.x := x; poin.y := y;
pos := SendMessage(rch.handle, EM_CHARFROMPOS, 0, integer(@poin));
If pos <= 0 Then Exit;
txt := rch.Text;
while (pos > 0) and(txt[pos] in [' 0'..' 9',' a'..' z',' A'..' Z',' _',
' ö',' Ö',' ü',' Ü',' ä',' Ä']) do dec(pos);
start_pos := pos+1;
inc(pos);
while (pos < length(txt)) and(txt[pos] in [' 0'..' 9',' a'..' z',' A'..' Z',' _',
' ö',' Ö',' ü',' Ü',' ä',' Ä']) do inc(pos);
end_pos := pos;
result := copy(txt,start_pos,end_pos-start_pos);
end;
Funktionsaufruf:
Delphi-Quellcode:
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState;
X,Y: Integer);
begin
statusbar1.SimpleText := GetActiveWord(richedit1,x,y);
end;
Aber warum nicht einfach, wenn's auch umständlich geht...
Wie bereits erwähnt: Was hast du eigentlich vor? Willste nur z.B. bei einer Passworteingabe ins PW-Verifizierungsfeld springen???
Jörch Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
|
|
Zitat
|