Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi SetFocus versagt nach ButtonClick (https://www.delphipraxis.net/20338-setfocus-versagt-nach-buttonclick.html)

mirage228 16. Apr 2004 08:54


SetFocus versagt nach ButtonClick
 
Hallo,

Ich habe folgendes Problem.

Ich habe einen Button erstellt, der einen Text in RichEdit einfügt. Das klappt auch soweit. Nun sollte der Cursor danach wieder ins RichEdit.

Ich habe schon SetFocus() mit Show() und Update() etc. versucht, aber es klappt nicht. der Cursor springt nicht zurück in das RichEdit. Bei dem RxRichEdit sprang der zwar mit SendMessage(WM_SETFOCUS) zurück ins Edit, aber das Edit reagierte danach nicht mehr auf Tastatureingaben :shock:

Gibt es eine Lösung für mein Problem? Und wenn ja, wie lautet sie?

mfG
mirage228

s14 16. Apr 2004 09:00

Re: SetFocus versagt nach ButtonClick
 
Hallo,
ich kann das gerade nicht nachvollziehen, bie mir funktioniert folgender Code im ButtonClick Ereignis:

Delphi-Quellcode:
  Richedit1.Lines.Add('Text');
  Richedit1.SetFocus;

himitsu 16. Apr 2004 09:00

Re: SetFocus versagt nach ButtonClick
 
versuch mal
Delphi-Quellcode:
{Form1.}ActiveControl := RichEdit1;
Aber wenn auch die Cursorposition im Editfeld wieder angesprungen werden soll, so mußt du diese vorher auch noch speichern.
z.B.:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Var P: Integer;

  Begin
    P := RichEdit1.SelStart;

    ...

    ActiveControl := RichEdit1;
    RichEdit1.SelStart := P;
  End;

Sharky 16. Apr 2004 09:02

Re: SetFocus versagt nach ButtonClick
 
Hai mirage228,

bei mit geht das ohne Probleme:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  RichEdit1.Lines.Add('Dies ist ein Test');
  RichEdit1.SetFocus;
end;

s14 16. Apr 2004 09:05

Re: SetFocus versagt nach ButtonClick
 
@Sharky sag ich doch 8)

Aber kann es an der Delphiversion liegen?
Ich sehe gerade er benutzt Delphi 8 :?:

himitsu 16. Apr 2004 09:09

Re: SetFocus versagt nach ButtonClick
 
@s14,
das denk' ich mal nicht, Borland wird doch keine neuen Fehler einbauen :zwinker:

@mirage228
Show() und Update() bringt eh nichts, das macht ja nichts in dieser Richtung.

mirage228 16. Apr 2004 09:48

Re: SetFocus versagt nach ButtonClick
 
Hi,

der Code von euch funktioninert einwandfrei, wenn ich ein Buttton und ein normales RichEdit auf einer Form habe.

Mein Button befindet sich aber auf einem Panel innerhalb eines PageControls. Das Panel wurde mittels "CreateParented" von einem Plugin erstellt, genauso, wie die Buttons auch.
Der Button Handler ist vom Plugin und greift per Interface auf den Editor zu und Fügt den Text bei Cursor-Position ein und ruft danach SetFocus() vom Interface auf, welches das SetFocus vom RxRichEdit kapselt.

Bei meiner Situation funktionieren eure Codes so leider nicht. :-(

Weiss einer bei meiner Situation rat?

mfG
mirage228

P.S.: Für das Projekt verwende ich Delphi 7 Professional.

himitsu 16. Apr 2004 09:58

Re: SetFocus versagt nach ButtonClick
 
Bist du auch sicher, dass SetFocus vom Interface aufgerufen wird?

mirage228 16. Apr 2004 10:05

Re: SetFocus versagt nach ButtonClick
 
Zitat:

Zitat von himitsu
Bist du auch sicher, dass SetFocus vom Interface aufgerufen wird?

Ja, SetFocus wird aufgerufen.

Hat aber keine Wirkung :-(

EDIT: Wenn ich einen Haltepunkt vor SetFocus setze funktioniert es, sonst nicht?!?! :wiejetzt:

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz