Bonjour,
Ca dépend ce que tu cherches à faire :
Si c'est pour envoyer le caractère '(' via le message WM_CHAR, la fonction Ord('(') fonctionne :
SendMessage(Edit1.Handle,WM_CHAR,Ord('('),0);
Si c'est pour une utilisation dans l'événement OnKeyDown (ou OnKeyUp) d'un control, l'évènement envoie en paramètre l'état des touches Shift, Ctrl et Alt. Donc si tu veux savoir si l'utilisateur à appuyé sur '(', tu testes Ord('5') et le paramètre Shift :
1 2 3 4 5 6 7 8 9 10 11 12
| procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
ord('5') : begin
if (ssShift in Shift) then
ShowMessage('Touche 5')
else
ShowMessage('Touche (');
end;
end;
end; |
Enfin, si c'est pour utiliser le message WM_KEYDOWN, tu utilises Ord('5') :
PostMessage(Edit2.Handle,WM_KEYDOWN,Ord('5'),0);
Avec WM_KEYDOWN, c'est pour envoyer '5' que tu es embêté (au même titre que d'envoyer un caractère en majuscule avec ce message, c'est pas gagné ...)
En espérant avoir répondu à ta question.
Eb.
Partager