' 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
Télécharger le zip
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
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???
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...
> 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.....
les controles possedent desormais un affichage avec transparence.
"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...
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...
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.....
Voila, encore une mise a jour d'importance ;-)
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
Je te remercie patcui, j'avais remarqué ce travers ;-)certaines polices plantent meme carrement le composant...je vais tacher de regler ca ;-)
et voila toutes les polices maintenant compatibles...
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
Pas mal c'est sur, dommage que sa puisse pas faire en 45 mais bon c'est bien ;)@+
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 !
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/10Bravo...
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 Propertytu 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
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
je fait ici joujou avec les tableaux de bits....désolé, je sais pas ce qui est dispo en C# pour ces taches....
Tant pis, je desespere pas...en tout cas merci d'avoir repondu si vite...Feuillou
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
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=26755Ta 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.
impec je cherchais depuis longtemps
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 ;-)++
Salut mister BouvEn 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...
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 871 772 membres 78 nouveaux aujourd'hui 16 146 membres club