cousingaulois
Messages postés1Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention10 avril 2003
-
10 avril 2003 à 17:12
Jean44
Messages postés26Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 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)
Jean44
Messages postés26Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 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 ?
:)
Jean44
Messages postés26Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 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;