Un label orientable à 360° et etirable v3

Soyez le premier à donner votre avis sur cette source.

Vue 5 707 fois - Téléchargée 757 fois

Description

Voici un Label dont le texte est étirable et orientable à 360° version 3.

Installation:
Installer le composant TOrLabel contenu dans le fichier UOrLabel.PAS

Utilisation:
Comme un label mais avec quelques changements :
- la propriété Font n'existe pas, utilisez OrFont
- OrFont.Orient défini la rotation par pas de 0,1 degré du texte entier
- OrFont.Incline défini la rotation de chaque caractère de la chaine
OrLabel.InclineMode doit être à IM_ADVANCED pour que incline soit utilisé.
IM_ADVANCED et donc incline ne fonctionne pas sous W95,W98 et WMe
- OrFont.Width défini la largeur moyenne d'un caractère. ( NOUVEAU )
Si width=0 alors la taille par défaut est utilisée
- OrLabel.AutoSize fonctionne
- OrLabel ne fonctionne qu'avec des polices TrueType
- Alignement/WordWarp etc n'existent pas...

Remarques:
TOrFont n'est pas descendante de TFont, elle ne peut donc pas être assignée à un autre composant.Font. Mais vous pouvez l'utiliser dans vos propres composants : voir la méthode Paint du TOrLabel pour l'utilisation du TOrFont
TOrFont et TOrLabel fonctionnent avec Delphi5 et Delphi6.
TOrFont et TOrLabel fonctionnent sous W95 W98 WMe WNT4 W2000 ( merci Gysmo ). ( si quelqu'un pouvait essayer WXp svp ). Sous WNT4 le fond du texte est dessiné plus épais que sous W95/98
La propriété incline ne fonctionne pas avec W95,W98 et WMe. donc OrFont et OrLabel.InclineMode sont ignorés dans ce cas
Si vous avez WNT4 ou mieux, alors amusez-vous avec des valeur de Orient et Incline différentes ( voir démo )

Il est quand même dommage que Delphi n'est pas intégré l'orientation dans son TFont. En modifiant directement les fichiers Graphics.pas et Stdctrls.pas il aurait été possible de faire descendre OrFont de Font et OrLabel de label rapidement.

Conclusion :


Bug connu : Autosize ne fonctionne pas correctement en mode étendu si Orient<>Incline

Cette source et quelques autres sur : http://nono40.developpez.com

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Gysmo
Messages postés
216
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
13 décembre 2002
-
C'est cool comme composant!
Ca marche nikel sous W2000Pro.

PS : Je savais pas que l'on pouvais coder en assembleur avec Delphi! Trop balaise.
cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32 -
salut,

sur D4 super (à part quelques petites modifs obligé : SetAutoSize et OnContextPopup)

mais avec D9 si je met un composant orLabel sur la fiche il me met erreur : orLabel1 n'a pas de parent.
voilà je peut ouvrir l'exemple fourni avec le compiler etc. mais pas ajouter un nouveau orLabel :( Domage
speederman_ch
Messages postés
3
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2008
-
Salut, Bonne Année à Tous,

Pour ceux que cela intéresse On Peut Mettre un Composant orLabel sur D9 En Rajoutant une ligne Dans Constructor Create :

constructor TOrLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Parent := TForm(owner);<----
Bmp := TBitmap.Create;
ControlStyle := ControlStyle + [csReplicatable];
Width := 65;
Height := 17;
OrFont := TOrFont.Create; // Création de la fonte utilisée
OrFont.OnChange := OnOrFontChanged;
end;

Et ça Fonctionne

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.