Einzelnen Beitrag anzeigen

Art

Registriert seit: 14. Okt 2004
Ort: Neuwied
7 Beiträge
 
#7

Re: Markiertes Wort übernehmen

  Alt 15. Okt 2004, 08:34
Ich habe dich so verstanden, dass dein Programm im Hintergrund leuft, und du willst einen markierenden Text aus einer fremden Anwendung kriegen.
Wenn du eine Markierung aus deinem Programm bekommen willst, geht es glaube ich noch leichter.

Bei den Eingabefelder (TEdit) und ihre Erben (TRichEdit usw.) gibt es zwei Eigenschaften 'SelStart' und 'SelLength', bei einigen sogar 'SelText'.


Bsp.:

Code:
Var
  Mark: String;
     i: Integer;
begin
  for i:=0 to MyForm.ComponentCount-1 do
    if myForm.Components[i] is TEdit then with MyForm.Components[i] as TEdit do
      if Focused then Mark:=Copy(Text,SelStart,SelLength);
end;
oder aus im Moment laufendem Programm

Code:
procedure TSDIAppForm.EditSearch1Execute(Sender: TObject);
Begin
  if ResTxt.SelLength>0 then //ResTxt ist ein TRichText
    FindDialog.FindText:=Trim(Copy(ResTxt.SelText,1,length(ResTxt.SelText)));
  FindDialog.Execute;
end;
  Mit Zitat antworten Zitat