Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

affichage Label ou TextBox

7 réponses
Avatar
Pascal
Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point d'interrogation
qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours derrière!)
comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la propriété
WordWrap qui permet d'étendre le textbox à la longueur du texte!

Que me conseillez-vous?

Merci d'avance

Pascal

7 réponses

Avatar
François Picalausa
On Nov 22, 10:51 am, "Pascal" wrote:
Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point d'interrogati on
qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours derri ère!)
comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la propr iété
WordWrap qui permet d'étendre le textbox à la longueur du texte!

Que me conseillez-vous?

Merci d'avance

Pascal



Hello,

Un label étant un objet graphique, il repose sur ce layer, qui est de
fait en dessous du layer des contrôles. Il est possible de mettre ce
label dans un picturebox (sans bordure - borderstyle = 0) et d'en
recalculer la taille.

Néanmoins:
- Un grand nombre d'objets disposent d'une propriété tooltiptext qui
sert précisément à cela.
- Pour avoir plus de flexibilité on peut utiliser, sur la form, la
propriété WhatsThisButton : http://support.microsoft.com/kb/142249 et
http://www.smountain.com/resource/VBWinHelp.pdf

Je te conseille donc d'y jeter un oeil pour ne pas devoir réinventer
la roue!

François
Avatar
Pascal
Bonjour,
merci pour ton aide
je vais jeter un petit coup d'oeil à WhatsThisButton

pour ce qui est de ne pas réinventer la roue, le ToolTipText n'est pas
pratique du tout dans le sens ou
je ne veux pas à chaque passage sur un objet avoir un message s'affichant
mais laisser le choix à l'utilisateur, qui en ressent le besoin, avoir une
explicatif de l'utilisation dudit objet

Pascal


"François Picalausa" a écrit dans le message de news:

On Nov 22, 10:51 am, "Pascal" wrote:
Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point d'interrogation
qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours
derrière!)
comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la propriété
WordWrap qui permet d'étendre le textbox à la longueur du texte!

Que me conseillez-vous?

Merci d'avance

Pascal



Hello,

Un label étant un objet graphique, il repose sur ce layer, qui est de
fait en dessous du layer des contrôles. Il est possible de mettre ce
label dans un picturebox (sans bordure - borderstyle = 0) et d'en
recalculer la taille.

Néanmoins:
- Un grand nombre d'objets disposent d'une propriété tooltiptext qui
sert précisément à cela.
- Pour avoir plus de flexibilité on peut utiliser, sur la form, la
propriété WhatsThisButton : http://support.microsoft.com/kb/142249 et
http://www.smountain.com/resource/VBWinHelp.pdf

Je te conseille donc d'y jeter un oeil pour ne pas devoir réinventer
la roue!

François
Avatar
Pascal
rehello,
Finalement je prend l'option du pictureBox qui se rapproche plus de ce que
je veux faire
petite question:
comment redimmensionner le pictureBox automatiquement au WordWrap du label?
par les propriétés Height et Width qui doivent êtres identiques?

merci de répondre

Pascal

"François Picalausa" a écrit dans le message de news:

On Nov 22, 10:51 am, "Pascal" wrote:
Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point d'interrogation
qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours
derrière!)
comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la propriété
WordWrap qui permet d'étendre le textbox à la longueur du texte!

Que me conseillez-vous?

Merci d'avance

Pascal



Hello,

Un label étant un objet graphique, il repose sur ce layer, qui est de
fait en dessous du layer des contrôles. Il est possible de mettre ce
label dans un picturebox (sans bordure - borderstyle = 0) et d'en
recalculer la taille.

Néanmoins:
- Un grand nombre d'objets disposent d'une propriété tooltiptext qui
sert précisément à cela.
- Pour avoir plus de flexibilité on peut utiliser, sur la form, la
propriété WhatsThisButton : http://support.microsoft.com/kb/142249 et
http://www.smountain.com/resource/VBWinHelp.pdf

Je te conseille donc d'y jeter un oeil pour ne pas devoir réinventer
la roue!

François
Avatar
Michel JAPIOT
Bonjour,

Moi pour faire une doc en ligne, j'ai créer un petit site internet, et en
fonction de mon écran VB, je chaine diretement sur la bonne page de doc.

Vois un exemple sur http://logys.free.fr/spip/rubrique.php?id_rubrique

si tu as plusieurs clients qui utilisent le meme logiciel, tu mets à jour à
distance.

Michel



"Pascal" a écrit dans le message de news:

Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point d'interrogation
qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours
derrière!) comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la propriété
WordWrap qui permet d'étendre le textbox à la longueur du texte!

Que me conseillez-vous?

Merci d'avance

Pascal



Avatar
Pascal
hello Michel,
génial et très bien fait du reste merci de l'idée que je retiens pour le
futur.

mais dans le cas ou l'utilisateur possède un NoteBook et n'as pas de
connection, il est privé d'aide
je ne peux prendre le risque.

Pascal

"Michel JAPIOT" a écrit dans le message de news:

Bonjour,

Moi pour faire une doc en ligne, j'ai créer un petit site internet, et en
fonction de mon écran VB, je chaine diretement sur la bonne page de doc.

Vois un exemple sur http://logys.free.fr/spip/rubrique.php?id_rubrique

si tu as plusieurs clients qui utilisent le meme logiciel, tu mets à jour
à distance.

Michel



"Pascal" a écrit dans le message de news:

Bonjour,
dans mon programme, j'intègre une aide pour l'utilisateur.
je n'avait pas envie d'ouvrir une form qui détaille la procédure
d'utilisation en appuyant sur F1 (par exemple)
j'ai donc crée un CmdBouton avec en image de fond un point
d'interrogation qui par Drag and Drop
affiche un label sur l'objet en question
La procédure fonctionne très bien mais Evidemment petit problème!

le label est toujours caché par l'objet (il est affiché toujours
derrière!) comment parer à cela?
j'ai esayé en affichant un textbox mais là je ne retrouve pas la
propriété WordWrap qui permet d'étendre le textbox à la longueur du
texte!

Que me conseillez-vous?

Merci d'avance

Pascal







Avatar
François Picalausa
Hello,

Voici une implémentation possible :
'L'exemple se base sur une form contenant les contrôles suivants:
' un label nommé label1 contenu dans
' un picturebox nommé picture1
' un textbox text1
Private Sub FitToLabel(Text As String, ctl As Control, lbl As Label)
'Définit la largeur maximale du label
Const MaxWidth As Single = 250

'largeur maximale redéfinie en unités de la form
Dim TrueMaxWidth As Single
TrueMaxWidth = Me.ScaleX(MaxWidth, vbPixels, Me.ScaleMode)

'Initialise le label, autosize sur une ligne
lbl.Caption = Text
lbl.WordWrap = False
lbl.AutoSize = True

'Vérifie si la largeur est appropriée
If lbl.Width > TrueMaxWidth Then
lbl.WordWrap = True
lbl.Width = TrueMaxWidth
End If

ctl.Move ctl.Left, ctl.Top, lbl.Width, lbl.Height
End Sub

Private Sub Form_Load()
Picture1.BorderStyle = 0
Label1.Move 0, 0
Label1.BackStyle = 0
Picture1.BackColor = &H80000018
Text1_Change
End Sub

Private Sub Text1_Change()
FitToLabel Text1.Text, Picture1, Label1
End Sub

La taille maximale n'est qu'approximative. Dans le cas d'un texte du
type String(500, "a"), la largeur sera plus importante que la limite.

Il faut aussi faire attention que la picturebox sera limitée à la
form. Il faut donc faire attention à repositionner correctement la
picturebox pour ne pas la faire apparaitre sous une bordure.

François

On Nov 22, 2:55 pm, "Pascal" wrote:
rehello,
Finalement je prend l'option du pictureBox qui se rapproche plus de ce que
je veux faire
petite question:
comment redimmensionner le pictureBox automatiquement au WordWrap du label ?
par les propriétés Height et Width qui doivent êtres identiques?

merci de répondre

Pascal

"François Picalausa" a écrit dans le message de news:

On Nov 22, 10:51 am, "Pascal" wrote:





> Bonjour,
> dans mon programme, j'intègre une aide pour l'utilisateur.
> je n'avait pas envie d'ouvrir une form qui détaille la procédure
> d'utilisation en appuyant sur F1 (par exemple)
> j'ai donc crée un CmdBouton avec en image de fond un point d'interroga tion
> qui par Drag and Drop
> affiche un label sur l'objet en question
> La procédure fonctionne très bien mais Evidemment petit problème!

> le label est toujours caché par l'objet (il est affiché toujours
> derrière!)
> comment parer à cela?
> j'ai esayé en affichant un textbox mais là je ne retrouve pas la pro priété
> WordWrap qui permet d'étendre le textbox à la longueur du texte!

> Que me conseillez-vous?

> Merci d'avance

> Pascal

Hello,

Un label étant un objet graphique, il repose sur ce layer, qui est de
fait en dessous du layer des contrôles. Il est possible de mettre ce
label dans un picturebox (sans bordure - borderstyle = 0) et d'en
recalculer la taille.

Néanmoins:
- Un grand nombre d'objets disposent d'une propriété tooltiptext qui
sert précisément à cela.
- Pour avoir plus de flexibilité on peut utiliser, sur la form, la
propriété WhatsThisButton :http://support.microsoft.com/kb/142249ethtt p://www.smountain.com/resource/VBWinHelp.pdf

Je te conseille donc d'y jeter un oeil pour ne pas devoir réinventer
la roue!

François- Hide quoted text -

- Show quoted text -


Avatar
Pascal
hello,
Merci François, je n'en demandais pas tant

Il faut aussi faire attention que la picturebox sera limitée à la
form. Il faut donc faire attention à repositionner correctement la
picturebox pour ne pas la faire apparaitre sous une bordure.



pour la pictureBox j'avais déjà résolu le problème

mille merci
Pascal

"François Picalausa" a écrit dans le message de news:

Hello,

Voici une implémentation possible :
'L'exemple se base sur une form contenant les contrôles suivants:
' un label nommé label1 contenu dans
' un picturebox nommé picture1
' un textbox text1
Private Sub FitToLabel(Text As String, ctl As Control, lbl As Label)
'Définit la largeur maximale du label
Const MaxWidth As Single = 250

'largeur maximale redéfinie en unités de la form
Dim TrueMaxWidth As Single
TrueMaxWidth = Me.ScaleX(MaxWidth, vbPixels, Me.ScaleMode)

'Initialise le label, autosize sur une ligne
lbl.Caption = Text
lbl.WordWrap = False
lbl.AutoSize = True

'Vérifie si la largeur est appropriée
If lbl.Width > TrueMaxWidth Then
lbl.WordWrap = True
lbl.Width = TrueMaxWidth
End If

ctl.Move ctl.Left, ctl.Top, lbl.Width, lbl.Height
End Sub

Private Sub Form_Load()
Picture1.BorderStyle = 0
Label1.Move 0, 0
Label1.BackStyle = 0
Picture1.BackColor = &H80000018
Text1_Change
End Sub

Private Sub Text1_Change()
FitToLabel Text1.Text, Picture1, Label1
End Sub

La taille maximale n'est qu'approximative. Dans le cas d'un texte du
type String(500, "a"), la largeur sera plus importante que la limite.

Il faut aussi faire attention que la picturebox sera limitée à la
form. Il faut donc faire attention à repositionner correctement la
picturebox pour ne pas la faire apparaitre sous une bordure.

François

On Nov 22, 2:55 pm, "Pascal" wrote:
rehello,
Finalement je prend l'option du pictureBox qui se rapproche plus de ce que
je veux faire
petite question:
comment redimmensionner le pictureBox automatiquement au WordWrap du
label?
par les propriétés Height et Width qui doivent êtres identiques?

merci de répondre

Pascal

"François Picalausa" a écrit dans le message de
news:

On Nov 22, 10:51 am, "Pascal" wrote:





> Bonjour,
> dans mon programme, j'intègre une aide pour l'utilisateur.
> je n'avait pas envie d'ouvrir une form qui détaille la procédure
> d'utilisation en appuyant sur F1 (par exemple)
> j'ai donc crée un CmdBouton avec en image de fond un point
> d'interrogation
> qui par Drag and Drop
> affiche un label sur l'objet en question
> La procédure fonctionne très bien mais Evidemment petit problème!

> le label est toujours caché par l'objet (il est affiché toujours
> derrière!)
> comment parer à cela?
> j'ai esayé en affichant un textbox mais là je ne retrouve pas la
> propriété
> WordWrap qui permet d'étendre le textbox à la longueur du texte!

> Que me conseillez-vous?

> Merci d'avance

> Pascal

Hello,

Un label étant un objet graphique, il repose sur ce layer, qui est de
fait en dessous du layer des contrôles. Il est possible de mettre ce
label dans un picturebox (sans bordure - borderstyle = 0) et d'en
recalculer la taille.

Néanmoins:
- Un grand nombre d'objets disposent d'une propriété tooltiptext qui
sert précisément à cela.
- Pour avoir plus de flexibilité on peut utiliser, sur la form, la
propriété WhatsThisButton
:http://support.microsoft.com/kb/142249ethttp://www.smountain.com/resource/VBWinHelp.pdf

Je te conseille donc d'y jeter un oeil pour ne pas devoir réinventer
la roue!

François- Hide quoted text -

- Show quoted text -