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 WantReturns funktioniert nicht wie erwartet (https://www.delphipraxis.net/215018-wantreturns-funktioniert-nicht-wie-erwartet.html)

haentschman 23. Apr 2024 13:32

WantReturns funktioniert nicht wie erwartet
 
Hallöle...8-)

Ich habe 2 identische Frames für RichEdit. Einer hat ein TDBRichedit mit Datasource, der andere ein TRichEdit mit TStream. Beide liegen auf separten Panels als Parent.

Alle beide haben "WantReturns = True". Das DBRichEdit verhält sich wie in der Hilfe erwähnt...Zeilenvorschub bei ENTER. Der andere springt zum nächsten Control...:roll:
PS: Mit CTRL-ENTER macht der auch einen Zeilenvorschub...so wie "WantReturns = False" :gruebel:
PS: Keine Anweisung mit "WantReturns" im QT.
PS: Beide stammen von TCustomMemo ab wo "WantReturns" implementiert ist.

Mir gehen die Ideen aus...wo muß ich schauen? :gruebel:

Danke.

DeddyH 23. Apr 2024 13:55

AW: WantReturns funktioniert nicht wie erwartet
 
Hast Du irgendwo ein WM_NEXTDLGCTL im Code? Das hat man zu Urzeiten ja mal benutzt, um mit ENTER ins nächste Control zu springen, statt einfach TAB zu drücken.

haentschman 23. Apr 2024 13:57

AW: WantReturns funktioniert nicht wie erwartet
 
...du sagst es. 8-) Manchmal muß man nur darüber reden. :P

In der BasisForm:
Delphi-Quellcode:
procedure TfoBase.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Assigned(Self.ActiveControl) then
  begin
    if (Key = #13) and (not ((Self.ActiveControl.Parent is TcxCustomMemo) or
                             (Self.ActiveControl is TDBRichEdit) or
                             (Self.ActiveControl is TRichEdit) // hat gefehlt :-(
                             )) then
    begin
      Perform(WM_NEXTDLGCTL, 0, 0);
      Key := #0;
    end;
  end;
end;
Danke fürs Zuhören. :wink:

Zitat:

statt einfach TAB zu drücken.
Manche User sind auf die ENTER in Masken fixiert. :wink:

Uwe Raabe 23. Apr 2024 14:02

AW: WantReturns funktioniert nicht wie erwartet
 
Wäre es nicht einfacher und flexibler auf TCustomMemo zu prüfen und dessen WantReturns auszuwerten?

haentschman 23. Apr 2024 14:07

AW: WantReturns funktioniert nicht wie erwartet
 
:P mach ich...

Zitat:

TCustomMemo zu prüfen und dessen WantReturns auszuwerten?
...ist protected. "Auf protected...konnte nicht zugegriffen werden." Erst im TDBRichEdit und TRichEdit public...:cry:

himitsu 23. Apr 2024 15:51

AW: WantReturns funktioniert nicht wie erwartet
 
Egal ... es ist drin.

Wenn es TCustomMemo ISt, kannst du einfach "hart" nach TMemo() oder TRichEdit() casten (vollkommen egal) und dort die Public-Implementation nutzen.
Oder so wie immer, ein
Delphi-Quellcode:
type TCustomMemoAccess = class(TCustomMemo);
drüber in deine Unit und darunter dann "hart" nach TCustomMemoAccess() casten ... nun ist das Protected fast wie Public.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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