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

VBA Discussion :

Exposer fonctions GDIPlus non intégrées à clGDIPlus


Sujet :

VBA

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Exposer fonctions GDIPlus non intégrées à clGDIPlus
    Bonjour à tous,

    Le travail extraordinaire de Arkham46 m'a convaincu d'utiliser sa librairie clGDiPlus!

    je cherche donc à utiliser des fonctions de gdiplus qui existent déjà en VBA sur la base de gdi32 à savoir faire un dégradé de couleurs en triangle

    Je suis donc tombé sur les articles de purebasic sur ce même site:
    https://purebasic.developpez.com/tut...ientBrush.html

    Ils parlent en particulier de :
    GdipCreatePathGradientFromPath
    GdipSetPathGradientSurroundColorsWithCount

    que je cherche à intégrer en modifiant clGDIPlus

    cependant alors que ces fonctions existent (cf https://referencesource.microsoft.co...adientBrush.cs)
    VBA me renvoie une erreur en me disant qu'il ne connaît pas la fonction!

    Quelqu'un aurait une idée ?

    Merci d'avance

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Un élément de réponse
    Voilà, j'ai trouvé je croyais avoir trouvé comment solutionner cette erreur: l'appel se fait en Byref
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Declare Function GdipCreatePathGradientFromPath Lib "gdiplus" (ByVal Path As Long, ByRef PathGradientBrush As Long) As Long
    Ensuite il faut faire comme dans le projet
    https://github.com/tannerhelland/pd2...rc/GDIPlus.bas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function GetGDIPlusPathBrushHandle(ByVal hGraphicsPath As Long) As Long
        GdipCreatePathGradientFromPath hGraphicsPath, GetGDIPlusPathBrushHandle
    End Function
    et on termine avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lPathGradientBrush = GetGDIPlusPathBrushHandle(lPath)
    Reste maintenant à trouver les bons paramètres de GdipSetPathGradientSurroundColorsWithCount !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut La solution, enfin!
    Bon en fait ce que j'ai écrit au-dessus est faux. pas complètement vrai

    C'est la notion de pointeur qui me troublait mais GdiPlus accepte gentiment les variables passées en paramètre comme Arkham46 l'a fait.
    Par rapport au pointage il faut bien faire la manipulation du dessus et faire en plus attention à ce qui est écrit en dessous si vous avez un excel 64bit

    Et là cela marche!!!


    La notion de Byref reste pour les types définis par l'utilisateur comme POINTAPI mais cela l'interpréteur va se plaindre tout seul si on oublie

    La solution? tout simplement définir aussi la fonction en version 64bits avec des LongPtr et là miracle! l'autocomplètement des paramètres de l'API existe enfin...

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2006, 13h59
  2. Réponses: 2
    Dernier message: 23/01/2006, 18h07
  3. [ADO]Fonction nz non reconnue
    Par FRINDEL dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/01/2006, 17h23
  4. [RAR] Fonction rar_open non définie
    Par laulau75 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/11/2005, 12h19
  5. fonction utilisateur non reconue par sql server 2000
    Par ouedmouss dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/09/2005, 07h46

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