Resulta que estoy haciendo una aplicación donde la telca '+' tiene un comportamiento especial, (incrementar un spinedit) pero no funciona correctamente.
Puse keypreview en true
con el foco en un TEdit, pulso '+'
En el FormKeyDown consulto por la tecla pulsada, si es un '+' le asigno 0 (para que no se procese en el TEdit) y sin embargo sale un + en el TEdit! a pesar que estoy diciendo Key = 0;
Qué podrá ser? hice una mini aplicación de ejemplo...
Gracias
Código Delphi
[-]
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 286
ClientWidth = 426
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
KeyPreview = True
OldCreateOrder = False
OnKeyDown = FormKeyDown
PixelsPerInch = 96
TextHeight = 13
object Edit1: TEdit
Left = 96
Top = 72
Width = 121
Height = 21
TabOrder = 0
Text = 'Edit1'
end
end
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key=107) or (Key=87) then begin Key := 0;
end;
end;