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.NET Discussion :

Police embarqué Windows Forms


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Points : 28
    Points
    28
    Par défaut Police embarqué Windows Forms
    Salut je cherche a ajouter une police dans mon appli Windows Forms de manière a ce quelle soit embarqué avec l'application, je l'ai ajouté dans les ressources comment faire pour l'utiliser ?

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Merci pour les liens mais c'est pour du C# et moi j'utilise VB je pense que ça doit pas être très différent mais je n'arrive pas a mettre ca en place j'ai essayé ça : http://zerosandtheone.com/blogs/vb/a...plication.aspx et çà ne fonctionne pas non plus

    n'aurais tu pas un exemple qui fonctionne merci

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    En fouillant sur le net j'ai réusi à faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        Private fntCollect As System.Drawing.Text.PrivateFontCollection = New System.Drawing.Text.PrivateFontCollection()
        Private Sub FontToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles FontToolStripMenuItem.Click
            'Label3.Font = GetFont()
            LoadFontFromResource()
            Label3.Font = New Font(fntCollect.Families(0), 12)
        End Sub
        ' depuis une ressource (ressource nommée times - pour times new roman)
        Private Sub LoadFontFromResource()
            Try
                Dim fontMemPointer As IntPtr = Marshal.AllocCoTaskMem(My.Resources.times.Length)
                Marshal.Copy(My.Resources.times, 0, fontMemPointer, My.Resources.times.Length)
                fntCollect.AddMemoryFont(fontMemPointer, My.Resources.times.Length)
                Marshal.FreeCoTaskMem(fontMemPointer)
            Catch ex As Exception
     
            End Try
        End Sub
        ' depuis un fichier
        Function GetFont() As Font
            Dim privateFonts As System.Drawing.Text.PrivateFontCollection = New System.Drawing.Text.PrivateFontCollection()
            privateFonts.AddFontFile("C:\Windows\Fonts\Times.ttf")
            Return New Font(privateFonts.Families(0), 12)
        End Function
    Fonctionne sous vista.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    Merci pour ta réponse mais ça ne fonctionne pas seul la méthode getfont() fonctionne mais ça na pas de grand intérêt puis-quelle ce sert d'une police disponible sur la machine.
    Je te montre mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
     
            ' Dim cac As String = toto.AbsolutePath & "./resources/#GoodDog"
            LoadFontFromResource()
            'Me.Label1.Font = New System.Drawing.Font(cac, 180.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Label1.Font =  New Font(fntCollect.Families(0), 120)
        End Sub
        Private fntCollect As System.Drawing.Text.PrivateFontCollection = New System.Drawing.Text.PrivateFontCollection()
     
        ' depuis une ressource (ressource nommée times - pour times new roman)
        Private Sub LoadFontFromResource()
            Try
                Dim fontMemPointer As IntPtr = Marshal.AllocCoTaskMem(My.Resources.ImpactLabelReversed.Length)
                Marshal.Copy(My.Resources.ImpactLabelReversed, 0, fontMemPointer, My.Resources.ImpactLabelReversed.Length)
                fntCollect.AddMemoryFont(fontMemPointer, My.Resources.ImpactLabelReversed.Length)
                Marshal.FreeCoTaskMem(fontMemPointer)
            Catch ex As Exception
     
            End Try
        End Sub
        ' depuis un fichier
        Function GetFont() As System.Drawing.Font
            Dim privateFonts As System.Drawing.Text.PrivateFontCollection = New System.Drawing.Text.PrivateFontCollection()
            privateFonts.AddFontFile("C:\Users\utilisateur\Documents\Visual Studio 2013\Projects\Font\Font\Resources\ImpactLabelReversed.ttf")
            Return New System.Drawing.Font(privateFonts.Families(0), 12)
        End Function

  6. #6
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Force est de constaté que bon nombre de débutants foncent tête baissée dans un projet sans même avoir pris le tps d apprendre les spécificité du langage dotnet !

    Exemples en c# peut etre mais il existe des convertisseurs dotnet et notamment c#<-->vbnet

    C'est de l'IL le dotnet et il possède cette faculté de conversion.

    A+

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par mikadev Voir le message
    Merci pour ta réponse mais ça ne fonctionne pas seul la méthode getfont() fonctionne mais ça na pas de grand intérêt puis-quelle ce sert d'une police disponible sur la machine.
    L'intérêt est que tu demandais la traduction des liens qui avais été présentés, ou un équivalent. J'ai donc présenté les 2.
    Ensuite je ne savais pas quelle police tu utilises, j'ai donc fait un exemple avec une police existante afin de pouvoir tester. (tu peux aussi livrer ta police avec ton appli)
    Ces exemples sont des pistes de travail.

    Citation Envoyé par rv26t Voir le message
    Fonctionne sous vista.
    Sous quel environnement developpes tu ?
    Et qu'est ce qui ne fonctionne pas ? (Je ne vois pas ta machine, je ne peux donc pas deviner.)
    Comment as-tu chargé ta police dans les ressources du projet ? (j'ai utilisé ajouter un fichier et choisi times.ttf pour l'exemple qui est la polise times new roman pour test
    Ou cela bloque-t-il ?
    Quel est le message d'erreur ?
    ...
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    @rv26t j'utilise Windows 7 et 8, et les polices qui s'affiche sont celle par défaut et non celle que j'ai choisi, j'ai effectué la même démarche que la tienne et j'ai chargé les ressources en tant que fichier, il n'y a pas de message d'erreur le police ne s'affiche tous simplement pas c'est la police par défaut qui s'affiche.

    @wallace1 soit gentil et ne te sens pas obligé de répondre merci.

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par mikadev Voir le message
    @rv26t j'utilise Windows 7 et 8, et les polices qui s'affiche sont celle par défaut et non celle que j'ai choisi, j'ai effectué la même démarche que la tienne et j'ai chargé les ressources en tant que fichier, il n'y a pas de message d'erreur le police ne s'affiche tous simplement pas.

    @wallace1 soit gentil et ne te sens pas obligé de répondre merci.
    Moi je suis pas du genre gentil, quand on demande de l'aide il faut savoir accepter et reconnaître qu'on ne comprends pas ce que les autres veulent t'expliquer. Il existe d'autres façons d'expliquer les choses et c'est ce que j'ai tenté de faire à 2 reprises ! Pour ma part l''effort je l'ai fais.

    Cependant tu pourrais au moins répondre correctement à rv26t car les réponses du genre ; ça marche pas, il n'y a pas de message d'erreur, ça ne s'affiche tous simplement pas,..etc.... : dénote un manque certains d'investissement de ta part !

    Si tu n'accepte pas l'aide qu'on t'apporte alors je pense que tu ne devrais pas traîner ici et retourner dans tes bouquins pour apprendre les bases !

    A bon entendeur.

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Il fait beau, c'est l'été, les oiseaux chantent,

    Effectivement dans mes recherches j'avais vu que la méthode était pour vista, pas au dessus, c'est pour cela que je le précisais.
    Comme il y a un try catch, as-tu mis un messagebox.show(ex.message)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    sinon l'erreur est trappé mais rien n'est indiqué.

    Après il faut faire des recherches avec google, indiquer les termes en anglais et mettre vb.net pour essayer de cibler. Puis faire des tests avec ce que l'on trouve. (comme je n'ai pas ton environnement de travail, difficile de tester)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    Non il n'y a pas d'erreur même en essayant d'afficher le message dans le catch.
    Je fait toujours des recherches Google avant de venir poser mes questions sur les forums.
    Je met des capture d'écran :
    Nom : test1.png
Affichages : 967
Taille : 25,3 Ko
    Nom : test2.png
Affichages : 977
Taille : 34,2 Ko
    on peut voir pour le label1 la police ne change pas de celle par défaut (le label2 utilise la police par défaut) sauf la taille.

Discussions similaires

  1. [VB.NET] Partager un dataset entre 2 windows forms ???
    Par kissskoool dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/07/2005, 11h34
  2. [Font] utiliser une même police sur Windows et sur Linux ?
    Par iubito dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 10/05/2005, 16h41
  3. [debutant VC++ et C++] Windows form et OPENFILENAME
    Par Le Scandinave dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2005, 15h31
  4. [C#] windows form et ComboBox
    Par telynor dans le forum Windows Forms
    Réponses: 9
    Dernier message: 12/11/2004, 18h17
  5. [VB.NET] windows form traits
    Par DG JohnJohn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 15h05

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