Simular a vírgula através do ponto do teclado numérico no Delphi
{ Na seção "private" do Form principal acrescente: } procedure AppMsg(var Msg: TMsg; var Handled: Boolean); { Na seção "implementation" acrescente (troque TForm1 para o nome do seu form principal): } procedure TForm1.AppMsg(var Msg: TMsg; var Handled: Boolean); begin if Msg.Message = WM_KEYDOWN then if Msg.wParam = 110 then Msg.wParam := 188; end; { No evento "OnCreate" do form principal, coloque: } Application.OnMessage := AppMsg; { Uma segunda alternativa (José Geraldo - ES): Coloque o código abaixo no evento OnKeyPress do componente onde se quer a conversão (Edit, DBEdit, etc). Neste caso a conversão funcionará apenas neste componente (óbvio). } if Key = '.' then Key = DecimalSeparator;
Na primeira alternativa, sempre que for pressionado o ponto do teclado numérico (da direita do teclado), este será convertido para vírgula, independentemente do controle que estiver em foco. Já na segunda, o ponto pode ser de qualquer lugar do teclado.