Comment utiliser cards.dll en vbnet 2010 [Résolu]

Signaler
Messages postés
16
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
22 juin 2012
-
Messages postés
16
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
22 juin 2012
-
Bonsoir
j'ai longtemps cherché sans succès la façon d'utiliser les images des cartes se trouvant dans cards.dll, mais à part quelques programmes en VB6 je n'ai rien trouvé d'equivalent en VB2010. Et donc je sèche lamentablement.
Y aurait-il quelqu'un qui pourrait me donner quelques idées pour extraire ces petites images ?
Merci d'avance à ceux qui voudront bien me donner un coup de main.

3 réponses


Bonjour,

cards.dll devant se trouver aux côtés de l'exécutable, voici un exemple qui affiche une dame de coeur sur ton formulaire selon la taille et la position voulue :
Option Strict On
Public Class Form1
    Declare Function cdtInit Lib "cards.dll" (ByRef width As Integer, _
                                          ByRef height As Integer) As Boolean
    Declare Function cdtDrawExt Lib "cards.dll" (ByVal hdc As IntPtr, _
                                                 ByVal x As Integer, _
                                                 ByVal y As Integer, _
                                                 ByVal dx As Integer, _
                                                 ByVal dy As Integer, _
                                                 ByVal card As Integer, _
                                                 ByVal suit As Integer, _
                                                 ByVal color As Integer) As Boolean
    Declare Sub cdtTerm Lib "cards.dll" ()
    'valeur peut prendre de 0 à 12 (as,2,3, ....,roi)
    'ici je veux afficher une dame (11)
    Dim m_Valeur As Integer = 11
    'couleur peut prendre 0 à 3 (trèfle, carreau, coeur, pique)
    'ici je veux du coeur (2)
    Dim m_Couleur As Integer = 2

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cdtInit(71, 96)
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        cdtTerm()
    End Sub

    Private Sub Me_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Try
            Dim hdc As IntPtr = e.Graphics.GetHdc()
            e.Graphics.ReleaseHdc()
            'ceci est la formule du calcul de la carte
            Dim Carte As Integer = m_Valeur * 4 + m_Couleur
            'cdtDrawExt(hdc_fenetre, postion x, position y, largeur carte, _
            '           hauteur carte, carte, dos=1/face = 0, fond)
            cdtDrawExt(hdc, 100, 50, 71, 96, Carte, 0, 0)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Si tu as le code VB6, tu peux essayer de le traduire.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
16
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
22 juin 2012

Bonjour
Merci pour ce code qui correspond en tous points à ce que je voulais.
J'espère pouvoir enfin réaliser ce jeu de cartes qui traine dans ma tête depuis fort longtemps.