Einzelnen Beitrag anzeigen

Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#6

Re: dem Gerade Aktivem Edit einen Text zuweisen

  Alt 27. Aug 2003, 11:41
Aber das mit dem Screen.ActiveControl funktioniert nur dann, wenn das Setzten des Textes nicht in dem OnClick eines Buttons passieren muss.

Denn wenn der Button angeklickt wird, dann ist er das aktive Control... und Spielchen wie GetFocus und Screen.ActiveControl.Handle usw., alle geben Dir das Handle das Buttons zurück. Das Ergebnis ist immer das gleiche, egal welche Version der Handle-Ermittlung ich nutze: Der Text des Buttons wird geändert...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var hWnd: THandle;
    MessageText: PChar;
begin
  hWnd := GetFocus;
  // hWnd := Screen.ActiveControl.Handle;
  MessageText := 'Voll der Text...';
  SendMessage(hWnd, WM_SETTEXT, 0, Integer(MessageText));
end;
Willst Du denn den Text in Deinem Programm setzten, oder soll das in einem anderen Programm passieren? Wenn du in deinem Programm bleibst, dann könntest du im "OnEnter"-Event deiner Edits einen Globalen Merker mit dem Handle des Controls füllen, dann würde es gehen und du könntest auf Knopfdruck etwas in das Feld schreiben, das zuletzt aktiv war.
  Mit Zitat antworten Zitat