IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6]Centré Texte d'une Textbox Verticalement


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut [VB6]Centré Texte d'une Textbox Verticalement
    Bonjour à tous,

    Est-ce possible de centré le Texte d 'une TextBox Verticalement?
    Si oui comment faire?

    Merci d'avance.

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Une boîte de texte n'est pas faite pour celà.
    Il est toujours possible d'écrire du code pour y parvenir, mais celà sera le résultat d'un long calcul à faire, à chaque modification du texte, en fonction : de la police utilisée (qui modifiera les textwidth et textheight), des dimensions d'affichages (hauteur et largeur de la Textbox), de ce que la textbox est ou non multiligne, etc...
    Si de surcroît, la textbox est dotée de flêches de déroulement vertical, on ne comprend plus l'utilité d'un centrage vertical...

    Mais ta question était : "si oui, comment faire ?"
    La réponse est donc : un calcul en utilisant tous les paramètres et propriétés indiqués ci-dessus.
    Comment faire ce calcul ? A toi de jouer... si tu y tiens à ce point...

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Essaie AutoSize = true

    Extrait de l'aide :
    Pour une zone de texte à plusieurs lignes ne contenant pas de texte, la définition de AutoSize sur True affiche automatiquement le texte sous forme de colonne. La largeur de la colonne de texte est déterminée pour accueillir la lettre la plus large de cette taille des caractères. La hauteur de la colonne de texte est définie pour afficher tout le texte du contrôle TextBox.
    Pas testé, tu dis

    A+

    Edit
    Autant pour moi, j'ai mal lu...

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Il va falloir que je change de version. Avec la mienne (VB5), la propriété Aurosize ne concerne que les contôles Label et PictureBox..

    Au fait : connaît-on la version qu'utilise bb62 ?
    :

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut
    Désolé je n'ai pas trouver Autosize pour les TextBox, j'utilise Visual Basic 6.0.

  6. #6
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    La propriété AutoSize pour un TextBox n'existe qu'avec les composants de Microsoft Forms 2.0 Object Library, librairie issue de MS Office

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    On en apprend des choses avec toi... Mais tu es sûr que VB6 c'est mieux que VBA ?

  8. #8
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par ouskel'n'or
    Mais tu es sûr que VB6 c'est mieux que VBA ?
    Rien n'interdit, si tu possèdes VB6 et Office, de faire appel aux composants de Microsoft Forms 2.0 dans un projet VB

  9. #9
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    pourquoi ne pas utiliser un Richtextbox? je crois qu'il à cette prpriété.

    sinon, il faut que tu prenne une police régulière (je sait plus comment on dit quand chaque caractère fait la même largeur) et que tu calcule combien tu peux mettre de caractères dans une largeur de ton text. ensuite, tu fait un split vbcrlf de ton text et pour chacunes des sous-chaines obtenues, tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machaine(i)=string(" ",int((caractèremax-len(machaine))/2)) & machaine & string(" ",int((caractèremax-len(machaine))/2))

    salut

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Méphisto : on dit police non proportionnelle. En anglais, certains disent aussi True
    Pour le reste : Textwidth et Textheight peuvent être utilisés, mais le calcul (ce ne sera pas simple pour bb62) devra se faire à chaque événement change + voir ce que j'ai dit au tout début.

  11. #11
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut
    Alors j'ai fais un petit truc qui marche impect :

    J'ai créer une PictureBox et à l'intérieur de celle-ci j'ai mis ma TextBox.

    J'ai fais le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Form_Load()
    'la Text1 a son texte et est de la bonne taille,en flat center sans bordure
    ' dans Picture1 3d blanc avec bordure
     
    Picture1.Width = Text1.Width
        Text1.Left = 5  'bordures
        Text1.Top = Picture1.Height / 2 - Text1.Height / 2
    End Sub
    Mais je sais que cela n'est pas la meilleure solution.

    Si quelqu'un à une autre solution il peut me le dire.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire disparaitre un texte dans une textbox
    Par toinou62 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2007, 11h40
  2. Autoriser la saisie d'un text dans une textbox
    Par Lutine dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/07/2007, 10h41
  3. Sauvegarder et charger du texte dans une Textbox
    Par kazylax dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/07/2007, 12h39
  4. Colorer texte dans une textbox
    Par metatron dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 27/09/2006, 18h31
  5. Selectionner le texte d'une textbox
    Par arnolem dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/07/2006, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo