Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OCX - LABEL VERTICAL....


Information sur la source

Catégorie :Control Classé sous : label, orienté, angle, vertical, rotation Niveau : Débutant Date de création : 06/10/2003 Date de mise à jour : 26/05/2008 09:39:34 Vu / téléchargé: 3 540 / 934

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Ce composant fait suite a une demande sur le forum.
Il permet d'avoir un label qui possede un parametre qui permette de definir l'angle d'ecriture de celui-ci.
 

Source

  • ' 07 / 10 / 2003 - Modification de la technique de rotation. Toutes les polices sont désormais compatibles.
  • ' 06 / 10 / 2003 - Compatibilité avec le controle "classique" :
  • ' . Caption est désormais la propriété par defaut
  • ' . Ajout des proprietes concernant la police. ( Bold, Size, Name....)
  • ' . Ajout d'evenements (Change, Click...)
  • ' 06 / 10 / 2003 - ajout de la transparence
' 07 / 10 / 2003 - Modification de la technique de rotation. Toutes les polices sont désormais compatibles.
' 06 / 10 / 2003 - Compatibilité avec le controle "classique" :
'    .    Caption est désormais la propriété par defaut
'    .    Ajout des proprietes concernant la police. ( Bold, Size, Name....)
'    .    Ajout d'evenements (Change, Click...)
' 06 / 10 / 2003 - ajout de la transparence

Conclusion

La rotation est nottament l'une des amelioration que j'apporte en ce moment sur mes controles XP V2.....
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de pcpunch le 06/10/2003 17:10:23

franchement top!!! je cherché ca depuis qq temps j'utiliser une api pour dessiner le text a l angle voulu mais ca c parfais!!!
Encore merci!!! 10/10

signaler à un administrateur
Commentaire de pcpunch le 06/10/2003 17:18:39

Apres verification pour etre parfait ton ocx devrait pouvoir conserver la transparence ? est ce possible..

Car pour moi il est inutile car je m en sert pour faire un petit editeur d image!!! don cbesoin de la transparence???

signaler à un administrateur
Commentaire de PROGRAMMIX le 06/10/2003 20:20:30

Vois-tu, Renfield, je n'ai rien contre les OCX mais ceux-ci n'étanche pas ma soif d'apprendre. Donc, pourrait-on profiter des sources de ton OCX ?

Est-il possible de réaliser quelque chose du genre avec un flexgrid, un peu comme Excel le permet avec son alignement dans le format de cellule ?  J'aurais besoin de ce genre de truc pour une ou deux applications...

signaler à un administrateur
Commentaire de Renfield le 06/10/2003 21:35:05 administrateur CS

> PcPunch :  tu devrais réutiliser la fonction TournerTexte. Pour la transparence, oriente toi vers l'API SetBkMode

>Programmix : qu'entends tu par "profiter des sources de mon OCX ?". je n'ai de plus pas bien saisi ta requête quant aux FlexGrid.....

signaler à un administrateur
Commentaire de Renfield le 06/10/2003 21:47:31 administrateur CS

les controles possedent desormais un affichage avec transparence.

signaler à un administrateur
Commentaire de PROGRAMMIX le 06/10/2003 23:17:00

"Profiter des sources de l'OCX"
Pardon, en fait, c'est du contrôle dont je veux parler (mais c'est toi qui utilise le terme d'OCX dans ton titre).
Si le contrôle a été réalisé via VB, j'aimerais pouvoir étudier le code-source de celui-ci pour comparer par exemple avec une source que j'avais mise aussi sur le site en mars 2003 "IMPRIMER DU TEXTE QUI TOURNE" http://www.vbfrance.com/code.aspx?ID=6342 (histoire de voir si tu utilises la même technique ou une autre).
Ceci dit, je viens de relire ton desscriptif (que j'avais survolée rapidement) et je m'en vais aller voir ta source "Ecrire dans ton les sens" qui, me semble-t-il, est à l'origine de ton contrôle...

"Faire la même chose avec un flexgrid"
Prenons l'exemple suivant, je dois présenter un cahier de présences sous forme d'un tableau où dans la colonne A se trouverait les dates du mois et dans la ligne 1 le nom des personnes écrit de manière à occuper un minimum de largeur.  Pour réaliser cela, je pensais utiliser un flexgrid mais ce dernier, d'après mes connaissances actuelles, ne permet pas de pouvoir orienter le texte des cellules de telle manière que celui-ci se présente verticalement et non plus horizontalement.

Voilà pour l'explication de mon message...

signaler à un administrateur
Commentaire de pcpunch le 06/10/2003 23:21:54

Bravo pour la transparence, mais pour vraiment remplacer le label de crosoft tu devrai aussi mettre la possibilité de changer le fontsize en mode lecture.
Si tu le modifie pour avoir les fonctions de base du label alors moi j adopte le tiens, car la rotation est franchement top!!!

Encore Bravo...

signaler à un administrateur
Commentaire de Renfield le 06/10/2003 23:37:58 administrateur CS

les sources du controles sont dispo !! (voir fichier .Ctl)

en ce qui concerne le flexgrid, se serait possible, je pense, a condition de pouvoir specifier que tu veux dessiner toi meme ta cellule.

Au boulot, on utilisait le controle Spread, qui permettait de definir un type de cellule perso, que l'on s'amusait soit-même a dessiner.....
mais je ne connais pas le FlexGrid..... Peut être que tu pourrqis te contenter de labels au dessus du dit Tableau.

Dans la source, j'ai bridé les angles de rotation, mais il est possible d'utiliser n'importe quel angle.....

signaler à un administrateur
Commentaire de Renfield le 07/10/2003 00:02:23 administrateur CS

Voila, encore une mise a jour d'importance ;-)

signaler à un administrateur
Commentaire de patcui le 07/10/2003 09:21:41

Salut,

Ton contrôle est très bien!
J'ai trouvé un gros bug! Essai d'utiliser la polie MS Sans Sérif et tu verras le bug!
Ton contrôle ne fonctionnement plus!!!

J'ai déjà eu le problème pour faire une barre de titre orientable et je me suis aperçu que cela venait de la police utilisée. La fonction API permettant de dessiner verticalement ne supporte que les polices de type True Type!

Si tu trouve le moyen de le faire avec n'importe quelles polices ou d'afficher que les polices True Type dans la propriété Font , je suis preneur : moi je n'y suis pas arrivé!

A+,
Patrice

signaler à un administrateur
Commentaire de Renfield le 07/10/2003 10:04:34 administrateur CS

Je te remercie patcui, j'avais remarqué ce travers ;-)
certaines polices plantent meme carrement le composant...
je vais tacher de regler ca ;-)

signaler à un administrateur
Commentaire de Renfield le 07/10/2003 12:03:29 administrateur CS

et voila toutes les polices maintenant compatibles...

signaler à un administrateur
Commentaire de pcpunch le 07/10/2003 13:20:35

Chapeau bas, 10/10 mm + pour la qualité et surtout le suivi de ce composant qui pour moi tous bug regler!! sera d'une aide immense!!

merci!!! et bravo

signaler à un administrateur
Commentaire de max12 le 08/10/2003 02:14:52 administrateur CS

Pas mal c'est sur, dommage que sa puisse pas faire en 45 mais bon c'est bien ;)

@+

signaler à un administrateur
Commentaire de Renfield le 08/10/2003 10:11:40 administrateur CS

J'avais, dans une pre-release, laissé un angle de rotation libre.
Je l'ai dans un premier temps supprimé, car j'etais embete avec le placement. (la flemme, oui, je sais !!) Mais ce controle n'etait au depart qu'une reponse au Forum.

Puis la technique de rotation a completement changé. un angle libre, voire meme 4 angles suplémentaires (45 et consors) seraient implémentables, mais c'est relativement galère a faire.

Ca veux pas dire que je le ferais pas, mais c'est bien loin dans ma liste des choses a faire !!!!!

Allez, bonne continuation !

signaler à un administrateur
Commentaire de pcpunch le 23/08/2004 00:49:56

SLt reinfield!!!

j'ai un petit prob avec ce formidable ocx.

En effet je comptai m'en servir pour un editeur de pochette CD pour ecrire le texte des arrete du boitier 90°.

Mais lorsque j'envoie ton label avec un print sur une picturebox il me le replace a l'horizontale, idem avec un print vers l'imprimante!!!

Je suis donc bloqué y aurait-il un moyen d'arriver a resoudre mon bléme, sachant que j'ecrit ce texte verticale sur une picture box avec image de fond derriére!!!

Enfin si qq a une solution a mon probléme, elle serait la bienvenue!!!

Ps: sinon ce controle est supperbe, mis a part ce probléme d'envoie vers une image du label.... re 10/10

Bravo...

signaler à un administrateur
Commentaire de Renfield le 23/08/2004 02:38:40 administrateur CS

l'on m'a déjà rapporté ce travers..... je ne me souviens pas exactement de tous les détails, mais un BitBlt a partir du Use'rcontrol me semble envisageable....

sous reserve d'y inclure :

Public Property Get hDc() As Long: hDc = UserControl.hDc: End Property

tu pourrais egalement voir a regarder le contenu du module_rotation... dans le quel se trouve les fonctions utilisées ici.... esperant que cela puisse t'aider quelques peu.....



il faudrait en fait

signaler à un administrateur
Commentaire de feuillou le 31/08/2004 14:26:23

Salut Renfield,
je travail en C# sur visual studio et je debute grave!! J'aimerais aussi pouvoir realiser une rotation a 90 degre d'un label.... Sais tu si ta source me conviendra? (c peut etre une question con mais je me rend pas bien compte...)

Feuillou

signaler à un administrateur
Commentaire de Renfield le 31/08/2004 14:34:58 administrateur CS

je fait ici joujou avec les tableaux de bits....

désolé, je sais pas ce qui est dispo en C# pour ces taches....

signaler à un administrateur
Commentaire de feuillou le 31/08/2004 14:45:21

Tant pis, je desespere pas...
en tout cas merci d'avoir repondu si vite...

Feuillou

signaler à un administrateur
Commentaire de davidauche le 04/10/2004 10:11:51

Bravo chef!,
ta source est super bien!!!, sauf quand on utilise le style transparent avec des polices lisser, il reste qlq pixels du backcolor à l'entour du text (surtout quand les deux couleurs (backcolor, forecolor) sont tres différentes).
pour le placement avec les angles 45 ..., il y a les api getcharabcwidths, GetTextExtentPoint32, GetCharacterPlacement avec un peu 2 calculs mathématiques, peut etre resoudre le probleme!!?
9.5 / 10 en attendant si possible la mise a jour (2 l'entour) pour met 10/10 :p

signaler à un administrateur
Commentaire de davidauche le 11/10/2004 22:49:52

Salut,
J’ai résolu ce truc avec un code beaucoup plus simple que celui-ci. Mon ocx permet d’afficher les textes dans tous les angles possibles (de 0° à 360°) sans les bugs de l’entour ni de l’emplacement. Vous trouvez cette ocx sur cette adresse :
http://www.vbfrance.com/code.aspx?ID=26755

Ta source reste bien aussi, sauf elle est un peu limité et compliquer pour moi au niveau code ;) :p.
Alors cher Renfird, tu peux enlever la tache de rotation et le placement de ta liste des taches ;), c’est déjà fait maintenant.
A++ et merci a vous.

signaler à un administrateur
Commentaire de astuceur le 29/08/2005 10:24:55

impec je cherchais depuis longtemps

signaler à un administrateur
Commentaire de bouv le 10/08/2006 17:57:03

Hum, j'étais passé à côté de cette source. Il ne manque qu'une propriété Alignment et c'est impec. Surement dans la V2 ;-)

++

signaler à un administrateur
Commentaire de Renfield le 10/08/2006 18:09:12 administrateur CS

Salut mister Bouv

En utilisant DrawText en lieu et place de TextOut, on peut greffer très facilement l'alignement, en utilisant DT_CENTER DT_LEFT et DT_RIGHT...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

label vertical [ par bob10 ] Salut tt le monde, j'aurais voulu savoir s'il était possible d'avoir un label vetical soit à 90° bob le teigneux</font id=' rotation d'un label [ par flo94 ] BonjourExiste-il un moyen( ou un site en parlant) de faire faire une rotation à 90° d'un label ?Le but étant de présenter des labels verticalement.Mer label vertical avec VB 5.0 [ par prof_orthographe ] je souhaite placer des étiquettes (labels) en bordure d'un tableau de nombres.Est-il possible d'écrire du texte verticalement dans ces labels (comme o Rotation 90° d'un label en VB6 [ par stemous ] BonjourEn VB6, peut-on faire tourner un label de 90&#176;?&nbsp;Comment?Mer&#231;i de vos r&#233;ponses&nbsp; caption vertical d'un label [ par joflo ] bonsoir a tousune question a 1 €est il possible de mettre le texte verticalement d'un label merci Rotation d'un textbox ou d'un label [ par stlaural ] Bonjour,&nbsp; voici ma question.en VB.Net je voudrais afficher du text dans un textbox, un label ou tous objet qui puisse afficher du texte. Le probl Rotation d'un objet en 3D [ par Choumoumou ] Bonjour à tous !Je programme pour un projet 3D et je reste bloqué là-dessus :mon personnage est une suite de vecteurs qui prend la forme d'un objet (c Rotation image axe vertical [ par renocmoa ] Bonjour,je recherche une piste pour pouvoir tourner une image suivant un axe vertical, un peu comme la difference entre une porte fermée et entre-ouve Sauvegarde image apres rotation [ par alihome ] Bonjour à tous,J'ai trouver un code pour faire une rotation de mon image dans une picturebox et je souhaiterais pouvoir l'enregistrer par la suite ''à Rotation d'un label sur un userform [ par ticrain ] Bonjour les ptis loupsJe programme en vba excelBonjour est il possible de faire pivoter un label de quelques degrés sur un userform?Merci pour votre a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,045 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.