AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Markierter Text in TField

Ein Thema von se0man · begonnen am 3. Mai 2004 · letzter Beitrag vom 1. Jun 2004
Antwort Antwort
Seite 2 von 2     12   
Muetze1
(Gast)

n/a Beiträge
 
#11

Re: Markierter Text in TField

  Alt 1. Jun 2004, 11:23
Moin!

Sorry, die Nachricht heisst EM_REPLACESEL um die Selektion zu ersetzen. Nähere Info's dazu in der MSDN..

MfG
Muetze1
  Mit Zitat antworten Zitat
se0man

Registriert seit: 8. Mär 2004
51 Beiträge
 
#12

Re: Markierter Text in TField

  Alt 1. Jun 2004, 13:15
hey,

thxxx !!

Genau das was ich benötigte!

...manche Probleme lösen sich ja fast von selbst

ciao
-se0man
  Mit Zitat antworten Zitat
se0man

Registriert seit: 8. Mär 2004
51 Beiträge
 
#13

Re: Markierter Text in TField

  Alt 1. Jun 2004, 14:28

Jetzt noch eine kleine Frage:
Ist es nötig, den markierten Text mit '' zu ersetzen,
um ihn zu löschen, oder gibt es noch so etwas in der Richtung EM_DELETESEL,
(was es ja nicht gibt... )??


-se0man
  Mit Zitat antworten Zitat
se0man

Registriert seit: 8. Mär 2004
51 Beiträge
 
#14

Re: Markierter Text in TField

  Alt 1. Jun 2004, 14:50
Ich muss mich verbessern:

Es ist nämlich nicht nur 'nicht nötig',
sondern vielmehr 'nicht möglich' das mit EM_REPLACESEL
zu machen. Das verursacht eine AV.

Irgendwelche Ideen??

-se0man
  Mit Zitat antworten Zitat
se0man

Registriert seit: 8. Mär 2004
51 Beiträge
 
#15

Re: Markierter Text in TField

  Alt 1. Jun 2004, 14:53
OK, ich hab es:
Nennt sich WM_CLEAR.

thx, trotzdem.
-se0man
  Mit Zitat antworten Zitat
se0man

Registriert seit: 8. Mär 2004
51 Beiträge
 
#16

Re: Markierter Text in TField

  Alt 1. Jun 2004, 15:01
Nun, an dieser Stelle mach ich dann mal eine kleine Zusammenfassung,
dieses Threads, also Cut, Copy and Paste in einem Field.

Code:
procedure Tform1.Cut;
begin
  // markierten Text kopieren
  Clipboard.AsText := GetDBGridSelText;
  // markierten Text löschen
  SendMessage(GetWindow(DBGrid.Handle,GW_CHILD),WM_CLEAR,0,0);
end;

procedure Tform1.Copy;
begin
  // markierten Text kopieren
  Clipboard.AsText := GetDBGridSelText;
end;

procedure Tform1.Paste;
var
  cardinalClipbrdText: Cardinal;
begin
  // an aktueller Position einfügen
  cardinalClipbrdText := Cardinal(Clipboard.AsText); // kopierten Text als Cardinal in Variable
  SendMessage(GetWindow(DBGrid.Handle,GW_CHILD),EM_REPLACESEL,1,cardinalClipbrdText); // Text an aktueller Position ausgeben
end;

function Tform1.GetDBGridSelText: String;
var
  cardinalWnd,
  cardinalSelStart,
  cardinalSelEnd
    : Cardinal;
  strBuffer
    : String;
begin
  cardinalWnd := GetWindow(DBGrid.Handle,GW_CHILD);
  SendMessage(cardinalWnd,EM_GETSEL,Integer(@cardinalSelStart),Integer(@cardinalSelEnd));
  SetLength(strBuffer,SendMessage(cardinalWnd,WM_GETTEXTLENGTH,0,0)+1);
  SendMessage(cardinalWnd,WM_GETTEXT,Length(strBuffer),Integer(@strBuffer[1]));
  Result := Copy(strBuffer,cardinalSelStart+1,cardinalSelEnd-cardinalSelStart);
end;
thx
-se0man
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz