Hallo Zusammen,
Wer also jemals ein Memofeld hat, und die Enter-Tasten unterscheiden will/muß, hier die Lösung.
Klasse ableiten
Delphi-Quellcode:
uses
Windows, STDCTRLS, Messages;
type
TTextfeldKomponente = Class (TMemo)
public
NumPadEnter: boolean; // true, wenn enter auf dem Nummernblock gedrückt wird.
procedure WndProc(var Msg: TMessage); override;
end;
implementation
procedure TTextfeldKomponente.WndProc(var Msg: TMessage);
begin
if msg.msg = WM_KEYDOWN then
if TWMKEYDOWN(msg).CharCode = VK_RETURN then
NumPadEnter := (TWMKEYDOWN(msg).KeyData and $1000000 <> 0);
inherited;
end;
end.
und dann kann im KeyDown des aufrufenden Formulars beispielsweise stehen:
Delphi-Quellcode:
case key of
VK_RETURN:
begin
if tf.NumPadEnter then
begin
// mach was, wenn enter auf dem Nummernblock gedrückt wurde...
Viel Spaß damit!
Marco