À Gilles Tourreau - Label vertical (suite)

Le
Annie
M'avez-vous oublié ???? J'ai besoin de votre aide pour finaliser ce
problème!!!!!

J'ai déjà plusieurs livres de lus mais il y a tellement des choses à retenir
qu'on en perds des bouts! Alors j'essaie d'apprendre ce qui est le plus utile
pour moi pour l'instant!!! Veuillez m'en excuser!!!

J'apprends quelquechose de très intéressant avec vous qui va me servir
beaucoup dans le futur! Mais ce n'est pas évident!!

J'ai réussi à créer cette nouvelle classe avec une certaine difficulté et il
n'y a pas d'erreur! Sauf que le contrôle ne fait plus ce qu'il faisait
auparavant! Je ne vois que les 2-4 premières lettres selon l'alignement
choisit! Pour les autres alignements, je ne vois plus rien de mon texte!

Que faire ? Je vous envoi le code de la classe :


Public Class LabelVertical
Inherits Label


Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs)
Using sf As StringFormat = New StringFormat()
If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

pe.Graphics.RotateTransform(-90)
pe.Graphics.TranslateTransform(-Height, 0)

Using sb As System.Drawing.SolidBrush = New SolidBrush(ForeColor)
pe.Graphics.DrawString(Text, Font, sb, ClientRectangle, sf)
End Using
End Using
End Sub
End Class


Est-ce correct? Où est mon problème?

Merci!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12184701
Le Thu, 04 Oct 2007 14:53:01 +0200, Annie

M'avez-vous oublié ???? J'ai besoin de votre aide pour finaliser ce
problème!!!!!

J'ai déjà plusieurs livres de lus mais il y a tellement des choses à
retenir
qu'on en perds des bouts! Alors j'essaie d'apprendre ce qui est le plus
utile
pour moi pour l'instant!!! Veuillez m'en excuser!!!

J'apprends quelquechose de très intéressant avec vous qui va me servir
beaucoup dans le futur! Mais ce n'est pas évident!!

J'ai réussi à créer cette nouvelle classe avec une certaine difficulté
et il
n'y a pas d'erreur! Sauf que le contrôle ne fait plus ce qu'il faisait
auparavant! Je ne vois que les 2-4 premières lettres selon l'alignement
choisit! Pour les autres alignements, je ne vois plus rien de mon texte!

Que faire ? Je vous envoi le code de la classe :


Public Class LabelVertical
Inherits Label


Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs)
Using sf As StringFormat = New StringFormat()
If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

pe.Graphics.RotateTransform(-90)
pe.Graphics.TranslateTransform(-Height, 0)

Using sb As System.Drawing.SolidBrush = New
SolidBrush(ForeColor)
pe.Graphics.DrawString(Text, Font, sb, ClientRectangle,
sf)
End Using
End Using
End Sub
End Class


Est-ce correct? Où est mon problème?

Merci!





Je vous ai répondu dans un autre post !

"Solution corrigée et testée :

If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

PS : Evitez de poster plusieurs fois la même demande dans un forum..."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Annie
Le #12184691
Il y a quelquechose que je ne comprends pas !!!!!
J'ai toujours le même problème !!!
Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?????

Qu'est ce que je ne fais pas de correct ?

Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une compilation
de la classe à faire (j'en doute) ?
J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôle à nouveau. Mais
qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai rajouté
(dans la boîte à outil) ?

Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le contrôle
fonctionne correctement ???

J'apprends et c'est très utile pour moi !!!

Merci de votre bonne compréhension, mais j'ai l'habitude de faire les choses
très simplement, c'est pourquoi c'est tout nouveau pour moi!!!

"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 14:53:01 +0200, Annie

> M'avez-vous oublié ???? J'ai besoin de votre aide pour finaliser ce
> problème!!!!!
>
> J'ai déjà plusieurs livres de lus mais il y a tellement des choses à
> retenir
> qu'on en perds des bouts! Alors j'essaie d'apprendre ce qui est le plus
> utile
> pour moi pour l'instant!!! Veuillez m'en excuser!!!
>
> J'apprends quelquechose de très intéressant avec vous qui va me servir
> beaucoup dans le futur! Mais ce n'est pas évident!!
>
> J'ai réussi à créer cette nouvelle classe avec une certaine difficulté
> et il
> n'y a pas d'erreur! Sauf que le contrôle ne fait plus ce qu'il faisait
> auparavant! Je ne vois que les 2-4 premières lettres selon l'alignement
> choisit! Pour les autres alignements, je ne vois plus rien de mon texte!
>
> Que faire ? Je vous envoi le code de la classe :
>
>
> Public Class LabelVertical
> Inherits Label
>
>
> Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs)
> Using sf As StringFormat = New StringFormat()
> If TextAlign = ContentAlignment.TopCenter Then
> sf.Alignment = StringAlignment.Far
> sf.LineAlignment = StringAlignment.Center
> ElseIf TextAlign = ContentAlignment.TopLeft Then
> sf.Alignment = StringAlignment.Far
> sf.LineAlignment = StringAlignment.Near
> ElseIf TextAlign = ContentAlignment.TopRight Then
> sf.Alignment = StringAlignment.Far
> sf.LineAlignment = StringAlignment.Far
> ElseIf TextAlign = ContentAlignment.MiddleLeft Then
> sf.Alignment = StringAlignment.Center
> sf.LineAlignment = StringAlignment.Far
> ElseIf TextAlign = ContentAlignment.MiddleCenter Then
> sf.Alignment = StringAlignment.Center
> sf.LineAlignment = StringAlignment.Near
> ElseIf TextAlign = ContentAlignment.MiddleRight Then
> sf.Alignment = StringAlignment.Center
> sf.LineAlignment = StringAlignment.Far
> ElseIf TextAlign = ContentAlignment.BottomLeft Then
> sf.Alignment = StringAlignment.Near
> sf.LineAlignment = StringAlignment.Far
> ElseIf TextAlign = ContentAlignment.BottomCenter Then
> sf.Alignment = StringAlignment.Near
> sf.LineAlignment = StringAlignment.Near
> ElseIf TextAlign = ContentAlignment.BottomRight Then
> sf.Alignment = StringAlignment.Near
> sf.LineAlignment = StringAlignment.Far
> End If
>
> pe.Graphics.RotateTransform(-90)
> pe.Graphics.TranslateTransform(-Height, 0)
>
> Using sb As System.Drawing.SolidBrush = New
> SolidBrush(ForeColor)
> pe.Graphics.DrawString(Text, Font, sb, ClientRectangle,
> sf)
> End Using
> End Using
> End Sub
> End Class
>
>
> Est-ce correct? Où est mon problème?
>
> Merci!
>
>

Je vous ai répondu dans un autre post !

"Solution corrigée et testée :

If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

PS : Evitez de poster plusieurs fois la même demande dans un forum..."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Gilles TOURREAU
Le #12184681
Le Thu, 04 Oct 2007 18:52:04 +0200, Annie

Il y a quelquechose que je ne comprends pas !!!!!
J'ai toujours le même problème !!!
Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?????

Qu'est ce que je ne fais pas de correct ?

Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une
compilation
de la classe à faire (j'en doute) ?
J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôle à nouveau.
Mais
qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai rajouté
(dans la boîte à outil) ?

Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le contrôle
fonctionne correctement ???

J'apprends et c'est très utile pour moi !!!

Merci de votre bonne compréhension, mais j'ai l'habitude de faire les
choses
très simplement, c'est pourquoi c'est tout nouveau pour moi!!!



Il faut être sûr que votre projet qui contient le contrôle se compile...
Après VS se chargera de le "réactualiser"

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Annie
Le #12184671
Rien à faire, j'ai toujours les mêmes problèmes !!!
Pouvez-vous me mettre sur internet un exemple !
Cela serait plus simple pour moi de comprendre ce qui "cloche" !!!

Merci!

"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 18:52:04 +0200, Annie

> Il y a quelquechose que je ne comprends pas !!!!!
> J'ai toujours le même problème !!!
> Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?????
>
> Qu'est ce que je ne fais pas de correct ?
>
> Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une
> compilation
> de la classe à faire (j'en doute) ?
> J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôle à nouveau.
> Mais
> qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai rajouté
> (dans la boîte à outil) ?
>
> Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le contrôle
> fonctionne correctement ???
>
> J'apprends et c'est très utile pour moi !!!
>
> Merci de votre bonne compréhension, mais j'ai l'habitude de faire les
> choses
> très simplement, c'est pourquoi c'est tout nouveau pour moi!!!

Il faut être sûr que votre projet qui contient le contrôle se compile...
Après VS se chargera de le "réactualiser"

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Gilles TOURREAU
Le #12184661
Le Thu, 04 Oct 2007 19:29:03 +0200, Annie

Rien à faire, j'ai toujours les mêmes problèmes !!!
Pouvez-vous me mettre sur internet un exemple !
Cela serait plus simple pour moi de comprendre ce qui "cloche" !!!

Merci!

"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 18:52:04 +0200, Annie

> Il y a quelquechose que je ne comprends pas !!!!!
> J'ai toujours le même problème !!!
> Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?????
>
> Qu'est ce que je ne fais pas de correct ?
>
> Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une
> compilation
> de la classe à faire (j'en doute) ?
> J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôle à
nouveau.
> Mais
> qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai
rajouté
> (dans la boîte à outil) ?
>
> Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le
contrôle
> fonctionne correctement ???
>
> J'apprends et c'est très utile pour moi !!!
>
> Merci de votre bonne compréhension, mais j'ai l'habitude de faire les
> choses
> très simplement, c'est pourquoi c'est tout nouveau pour moi!!!

Il faut être sûr que votre projet qui contient le contrôle se compile...
Après VS se chargera de le "réactualiser"

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Le mieux étant de créer une autre solution pour voir ce qui cloche :

- Créez une nouvelle solution
- Ajoutez un projet de type bibliothèque
- Mettez votre classe Label dedans
- Compilez (et assurez vous que ca compile bien)
- Ajoutez un projet de type application Windows
- Ajoutez votre contrôle dans la fenêtre déjà crée par VS 2005

Dites-moi si cela fonctionne...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Annie
Le #12184611
Non! toujours le même problème!!!!
Mais j'ai remarqué que si j'agrandit (en épaisseur) le contrôle (en étant
TOP ...), le texte s'en va vers la droite. Il faut que j'agrandisse à environ
à plus de 400 pour voir ce résultat. Mais si je le mets à 20, je ne vois que
2 lettres (à TOP), les autres (Middle et RIGHT) ne fonctionne pas, je ne vois
rien!

Il va falloir que vous m'envoyer un exemple sur Internet!!!!
C'est la meilleure solution pour finaliser le tout!

Merci!


"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 19:29:03 +0200, Annie

> Rien à faire, j'ai toujours les mêmes problèmes !!!
> Pouvez-vous me mettre sur internet un exemple !
> Cela serait plus simple pour moi de comprendre ce qui "cloche" !!!
>
> Merci!
>
> "Gilles TOURREAU" wrote:
>
>> Le Thu, 04 Oct 2007 18:52:04 +0200, Annie
>> >>
>> > Il y a quelquechose que je ne comprends pas !!!!!
>> > J'ai toujours le même problème !!!
>> > Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?????
>> >
>> > Qu'est ce que je ne fais pas de correct ?
>> >
>> > Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une
>> > compilation
>> > de la classe à faire (j'en doute) ?
>> > J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôle à
>> nouveau.
>> > Mais
>> > qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai
>> rajouté
>> > (dans la boîte à outil) ?
>> >
>> > Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le
>> contrôle
>> > fonctionne correctement ???
>> >
>> > J'apprends et c'est très utile pour moi !!!
>> >
>> > Merci de votre bonne compréhension, mais j'ai l'habitude de faire les
>> > choses
>> > très simplement, c'est pourquoi c'est tout nouveau pour moi!!!
>>
>> Il faut être sûr que votre projet qui contient le contrôle se compile...
>> Après VS se chargera de le "réactualiser"
>>
>> Cordialement
>>
>> --
>> Gilles TOURREAU
>>
>>
>> S.A.R.L. P.O.S
>> Le spécialiste en motoculture depuis + de 30 ans !
>> http://www.pos.fr
>>

Le mieux étant de créer une autre solution pour voir ce qui cloche :

- Créez une nouvelle solution
- Ajoutez un projet de type bibliothèque
- Mettez votre classe Label dedans
- Compilez (et assurez vous que ca compile bien)
- Ajoutez un projet de type application Windows
- Ajoutez votre contrôle dans la fenêtre déjà crée par VS 2005

Dites-moi si cela fonctionne...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Gilles TOURREAU
Le #12184601
Le Fri, 05 Oct 2007 15:24:00 +0200, Annie

Non! toujours le même problème!!!!
Mais j'ai remarqué que si j'agrandit (en épaisseur) le contrôle (en étant
TOP ...), le texte s'en va vers la droite. Il faut que j'agrandisse à
environ
à plus de 400 pour voir ce résultat. Mais si je le mets à 20, je ne vois
que
2 lettres (à TOP), les autres (Middle et RIGHT) ne fonctionne pas, je ne
vois
rien!

Il va falloir que vous m'envoyer un exemple sur Internet!!!!
C'est la meilleure solution pour finaliser le tout!

Merci!



Envoyez-moi votre e-mail à :

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
jerome crevecoeur
Le #12184591
Salutations Annie,

"Il va falloir que "
Loin de moi l'idée d'être inopportun mais Gilles comme les autres
contributeurs de ce forum est un bénévole qui a le mérite d'avoir u ne
patience énorme.

Il a poussé la démarche jusqu'à prendre en compte votre problème comme
le sien et c'est tout à son honneur.

Ce message est juste pour souligner encore son dévouement extrême à la
bonne cause.

Cordialement

Annie a écrit :
Non! toujours le même problème!!!!
Mais j'ai remarqué que si j'agrandit (en épaisseur) le contrôle ( en étant
TOP ...), le texte s'en va vers la droite. Il faut que j'agrandisse à environ
à plus de 400 pour voir ce résultat. Mais si je le mets à 20, je ne vois que
2 lettres (à TOP), les autres (Middle et RIGHT) ne fonctionne pas, je ne vois
rien!

Il va falloir que vous m'envoyer un exemple sur Internet!!!!
C'est la meilleure solution pour finaliser le tout!

Merci!


"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 19:29:03 +0200, Annie

Rien à faire, j'ai toujours les mêmes problèmes !!!
Pouvez-vous me mettre sur internet un exemple !
Cela serait plus simple pour moi de comprendre ce qui "cloche" !!!

Merci!

"Gilles TOURREAU" wrote:

Le Thu, 04 Oct 2007 18:52:04 +0200, Annie

Il y a quelquechose que je ne comprends pas !!!!!
J'ai toujours le même problème !!!
Je ne vois que 2 caractères et aucun "TextAlign" ne fonctionne ?? ???

Qu'est ce que je ne fais pas de correct ?

Quand j'ai changé le code que vous m'avez envoyé, y-a-t-il une
compilation
de la classe à faire (j'en doute) ?
J'ai détruit l'ancien "contrôle" et j'ai rajouté le contrôl e à


nouveau.
Mais
qu'est ce qui me dit que c'est encore l'ancien contrôle que j'ai


rajouté
(dans la boîte à outil) ?

Vous dites que vous l'avex testé ! Qu'avez-vous fait pour que le


contrôle
fonctionne correctement ???

J'apprends et c'est très utile pour moi !!!

Merci de votre bonne compréhension, mais j'ai l'habitude de faire les
choses
très simplement, c'est pourquoi c'est tout nouveau pour moi!!!


Il faut être sûr que votre projet qui contient le contrôle se compile...
Après VS se chargera de le "réactualiser"

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr





Le mieux étant de créer une autre solution pour voir ce qui cloche :

- Créez une nouvelle solution
- Ajoutez un projet de type bibliothèque
- Mettez votre classe Label dedans
- Compilez (et assurez vous que ca compile bien)
- Ajoutez un projet de type application Windows
- Ajoutez votre contrôle dans la fenêtre déjà crée par VS 20 05

Dites-moi si cela fonctionne...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr





Gilles TOURREAU
Le #12184581
Le Fri, 05 Oct 2007 15:24:00 +0200, Annie

Non! toujours le même problème!!!!
Mais j'ai remarqué que si j'agrandit (en épaisseur) le contrôle (en étant
TOP ...), le texte s'en va vers la droite. Il faut que j'agrandisse à
environ
à plus de 400 pour voir ce résultat. Mais si je le mets à 20, je ne vois
que
2 lettres (à TOP), les autres (Middle et RIGHT) ne fonctionne pas, je ne
vois
rien!

Il va falloir que vous m'envoyer un exemple sur Internet!!!!
C'est la meilleure solution pour finaliser le tout!

Merci!




Veuillez m'excusez mais en retestant la classe, c'est vrai que cela ne
fonctionne pas dans les Label "Rectangulaire"... J'avais testé avec un
Label presque "Carré"...
En fait il faut retourner le rectangle dans lequel dessiner (j'avais
oublié !) :

Voici le code correct qui devrait fonctionner dans OnPaint() :

Dim r As Rectangle

r = New Rectangle(ClientRectangle.Y, ClientRectangle.X,
ClientRectangle.Height, ClientRectangle.Width)

Using sf As StringFormat = New StringFormat()
If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

pe.Graphics.RotateTransform(-90)
pe.Graphics.TranslateTransform(-Height, 0)

Using sb As System.Drawing.SolidBrush = New
SolidBrush(ForeColor)
pe.Graphics.DrawString(Text, Font, sb, r, sf)
End Using
End Using


Cordialement


--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Annie
Le #12184571
Victoire!!!, Youppi!!!!, HOURRA!!!!, Yes Sir!!!!!

Ça fonctionne très bien, je suis vraiment très contente!
Un gros MERCI à Gilles!!!!

À M. Jérome, il faut comprendre que j'ai déjà aidé quelqu'un de la même
façon mais cela s'est étendu sur quelques semaines! J'ai demeuré patiente et
la personne en question était très contente! C'était de fabriquer un
"Déploiement d'un programme avec MS Access!!! J'ai étudié et travaillé très
fort pour monter un excellent "SetUp" et j'ai su en faire profiter quelqu'un
d'autres et tous les autres qui étaient à l'écoute de nos conversations!!!!

Alors je remercie grandement M. Tourreau pour l'aide qu'il m'a apporté!
J'appelle cela "un retour d'ascenseur" M. Jérome!!!!!

Ce contrôle va servir à bien du monde, je l'espère!!!

Et encore une fois MERCI!!!!!

"Gilles TOURREAU" wrote:

Le Fri, 05 Oct 2007 15:24:00 +0200, Annie

> Non! toujours le même problème!!!!
> Mais j'ai remarqué que si j'agrandit (en épaisseur) le contrôle (en étant
> TOP ...), le texte s'en va vers la droite. Il faut que j'agrandisse à
> environ
> à plus de 400 pour voir ce résultat. Mais si je le mets à 20, je ne vois
> que
> 2 lettres (à TOP), les autres (Middle et RIGHT) ne fonctionne pas, je ne
> vois
> rien!
>
> Il va falloir que vous m'envoyer un exemple sur Internet!!!!
> C'est la meilleure solution pour finaliser le tout!
>
> Merci!
>

Veuillez m'excusez mais en retestant la classe, c'est vrai que cela ne
fonctionne pas dans les Label "Rectangulaire"... J'avais testé avec un
Label presque "Carré"...
En fait il faut retourner le rectangle dans lequel dessiner (j'avais
oublié !) :

Voici le code correct qui devrait fonctionner dans OnPaint() :

Dim r As Rectangle

r = New Rectangle(ClientRectangle.Y, ClientRectangle.X,
ClientRectangle.Height, ClientRectangle.Width)

Using sf As StringFormat = New StringFormat()
If TextAlign = ContentAlignment.TopCenter Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.TopLeft Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.TopRight Then
sf.Alignment = StringAlignment.Far
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.MiddleLeft Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.MiddleCenter Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.MiddleRight Then
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Far
ElseIf TextAlign = ContentAlignment.BottomLeft Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
ElseIf TextAlign = ContentAlignment.BottomCenter Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Center
ElseIf TextAlign = ContentAlignment.BottomRight Then
sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Far
End If

pe.Graphics.RotateTransform(-90)
pe.Graphics.TranslateTransform(-Height, 0)

Using sb As System.Drawing.SolidBrush = New
SolidBrush(ForeColor)
pe.Graphics.DrawString(Text, Font, sb, r, sf)
End Using
End Using


Cordialement


--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Publicité
Poster une réponse
Anonyme