Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#1

Perform(WM_NEXTDLGCTL in Frames

  Alt 1. Nov 2016, 18:14
Moin...

ich bräuchte mal eure Hilfe...

Gegeben:
1. Die GUI ist organisiert in Frames welche im Tabs liegen.
2. Diverse Frames werden in einem Formcontainer dargestellt. (Modal)

Nun wollte ich das "mit ENTER zum nächsten Feld" in den nackigen Frames implementieren.
Perform(WM_NEXTDLGCTL, 0, 0); Da tut sich nix weil im Frame der Handler der Message nicht implementiert ist...

Dann habe ich die Message implementiert. (geklaut aus CustomForm)
Delphi-Quellcode:
procedure TfrBase.SetNextControl(var Message: TWMNextDlgCtl);
begin
  if Message.Handle then
  begin
    Windows.SetFocus(Message.CtlFocus);
  end
  else
  begin
    SelectNext(???, not BOOL(Message.CtlFocus), True); // wie komme an das Active Control?
  end;
end;
Macht das überhaupt einen Sinn das selbst zu implementieren oder statt dessen eine Form als Container zu benutzen? Geht das vieleicht einfacher?

Danke...
  Mit Zitat antworten Zitat