TEdit, comment mettre le texte à droite ?

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

2 réponses

Messages postés
26
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
27 juin 2003

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 ?
:)
Messages postés
26
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
27 juin 2003

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;