TEdit, comment mettre le texte à droite ?

cousingaulois Messages postés 1 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 10 avril 2003 - 10 avril 2003 à 17:12
Jean44 Messages postés 26 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 juin 2003 - 16 avril 2003 à 13:25
Comment faire pour que le texte d'un composant TEdit soit centré à droite ? c vachement important merci de votre aide :big)

2 réponses

Jean44 Messages postés 26 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 juin 2003
10 avril 2003 à 18:23
Salut,
Une petite astuce que j'avais utilisée :
Placer un TEdit invisible sur la fiche et TStaticText visible auquel on donne l'apparence d'un TEdit (Color clWindow et BorderStyle sbsSunken) avec la propriété Alignment = taRightJustify (ce que tu cherches).
L'événement OnClick du TStaticText est programmé pour rendre visible le TEdit (exactement au-dessus du TStaticText) et y placer le texte du TStaticText.
L'évenement OnExit du TEdit est programmé pour faire l'inverse.
Bon un peu lourdingue, mais tu vois le principe de la manip ?
:)
0
Jean44 Messages postés 26 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 juin 2003
16 avril 2003 à 13:25
En cherchant dans le SDK Windows, il apparaît que seuls les
éditeurs multilignes peuvent avoir une justification pour leur
texte ( ES_LEFT, ES_CENTER, ES_RIGHT).

On peut donc simuler un TEdit avec justification à droite, en
utilisant un TMemo pour peu que :

-1 Il soit taillé de sorte qu'une seule ligne soit visible.
-2 Sa propriété MaxLength soit fixée pour éviter un retour à
la ligne automatique (qui cacherait
le contenu de la ligne) propre aux TMemo
-3 Intercepter toute frappe de touche ENTER (là aussi pour
éviter le retour à la ligne), etc

Pour ce point, activer KeyPreview à True au niveau de la fiche
recevant le pseudo TEdit (Memo1) et ajouter ce gestionnaire
d'évenement pour le OnKeyDown de la TForm.

procedure TFMain.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Memo1.Focused and (Key = VK_RETURN) then
      Key := $0000;
end;
0
Rejoignez-nous