Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
21. Okt 2018
Habe die Lösung gefunden.
procedure TTPPlan2.WMGetDlgCode(var Message: TWMGetDlgCode);
begin
inherited;
Message.Result:=Message.Result or DLGC_WANTARROWS;
end;
Und schon kommen auch VK_LEFT, VK_RIGHT, VK_DOWN und VK_UP bei WMKeyDown an ;-)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
21. Okt 2018
Ist mir bekannt.
Nur stellt sich mir die Frage, welche ich abfangen muss, damit ich die o.g. Tasten an meinem Control ankommen. WndProc, WMChar, WMKeyDown kommen nur an, wenn ich irgendwelche anderen Tasten drücke. Obwohl form.ActiveControl auf meinem Control steht.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
21. Okt 2018
Versuche ich ja. Bei einigen Problemen hat mir das in der Vergangenheit auch schon weitergeholfen, so dass ich die Fragen gar nicht erst hier stellen musste.
Hierbei ist jedoch nicht ganz so einfach, da manches über Windows-Botschaften passiert. Und somit nicht direkt aus dem Code auslesbar ist. Da ich da nicht unbedingt so viel Erfahrung habe, frage ich hier halt mal.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
21. Okt 2018
Danke, das scheint schon mal zu funktionieren. Beim Klick auf meine Komponente wird o.g. procedure ausgeführt. Beim erneuten KLick ebenfalls, doch nun ist Focused True.
Jetzt sollten alle KeyPress-Ereignisse auch an meine Komponente gehen (Form keyPreview = False).
Tun sie auch ;-) bis auf Pfeiltasten VK_Left, VK_Right, VK_Top und VK_Down. Diese aktivieren sofort das nächste bzw. vohergehende...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
20. Okt 2018
Nein, keine Fehlermeldung. Einfach nur keinen Focus. D.h. Der Fokus bleibt auf eine andere Control.
Das könnte natürlich sein. Wobei es ja von TWinControl abstammt. Und das sollte über diese Funktionalität verfügen.
Außerdem: Mit der Tab-Taste kann ich den Focus ja auf mein Control bringen. Ich möchte aber auch, dass es den Focus erhält, wenn ich es mit der Maus anklicke.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
20. Okt 2018
Hatte ich eigentlich auch gedacht. Funktioniert nur leider nicht.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Hobbycoder,
20. Okt 2018
Hi,
ich habe mir eine Komponente erstellt, die auf TCustomPanel basiert. Wie kann ich es anstellen, dass die Komponente per MouseDown auch den Focus erhält. Mit Tab komme ich hin und kann KeyPress auswerten. Aber wenn ein anderes Control aktiv ist und ich meines anklicke, erhält es nicht automaisch den Focus.