Einzelnen Beitrag anzeigen

Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#13

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10: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.
  Mit Zitat antworten Zitat