Utilisateur anonyme
-
15 août 2005 à 13:19
Utilisateur anonyme -
15 août 2005 à 14:33
Je suis entrain de faire un jeu de carte avec la cart32.dll, mais j'ai un problème d'affichage des que je change de form. ma routine fonctionne, mais les cartes ne s'affichent pas.
en faite si je veux que des cartes s'affiche au démarrage de la form, elles ne s'affichent pas, si par contre je mets la même routine derriere un bouton commande, ca marche.
je pense que le probleme viens du focus de la form qui s'ouvre.
voici ma routine pour afficher la carte dans une picturebox:
"z" est le numéro de ma picturebox, "carte" est le numéro de la carte à afficher.
Cela marche uniquement si ca se trouve derriere un bouton dans la même form.
de plus j'ai remarqué aussi que si une fen^tre s'ouvre au dessus de la form avec les carte affichées, celles ci disparaissent.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 août 2005 à 13:33
C'est plutôt dû à un problème de raffraichissement : si tu place le
code dans le Form_Load de ta feuille, il me semble que la fenêtre ne
possède pas encore de DC rattaché, du coup, tu as beau faire un
Form1.hDC, le hDC renvoyé ne sera pas le bon.
Je te conseille plutôt de gérer l'affichage des cartes dans l'événement
Pain des picturesboxes, ainsi tu n'auras plus de problèmes de
raffraichissement.
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Merci, mais comment je fais pour utiliser l'évenement pain, car le code que j'utilise, je l'ai récupérer, et je ne comprend pas trop le fonctionnement de cette dll. tout ce que je sais, c'est que:
affiche la carte que je veux, (qui est très pratique d'ailleur dans une boucle next...for pour remplir toutes une série de picture box).
Où dois-je faire la modification, dans le module ou simplement dans le code pour afficher la carte?
autre chose voici le module que j'utilise pour utiliser la cart32.dll
'Déclaration des fonctions utilisées
Declare Function cdtInit Lib "Cards32.Dll" (dx As Long, dy As Long) As Long
Declare Function cdtDraw Lib "Cards32.Dll" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal iCard As Long, ByVal iDraw As Long, ByVal BkGrnd As Long) As Long
Declare Function cdtDrawExt Lib "Cards32.Dll" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal iCard As Long, ByVal iDraw As Long, ByVal BkGrnd As Long) As Long
Declare Function cdtAnimate Lib "Cards32.Dll" (ByVal hDC As Long, ByVal iCardBack As Long, ByVal x As Long, ByVal y As Long, ByVal iState As Long) As Long
Declare Function cdtTerm Lib "Cards32.Dll" () As Long
'Déclaration des constantes utilisées
Global Const Cards_Recto = 0
Global Const Cards_Verso = 1
Global Const Cards_IvyBlue = 59
Global Const Cards_Select = 2
Global Const Cards_CardHand = 65
Global Const Cards_Black = 53
Global Const Cards_Beach = 64
Global Const Cards_Plaid = 54
Global Const Cards_Castle = 63
Global Const Cards_Weave = 55
Global Const Cards_Shell = 62
Global Const Cards_Robot = 56
Global Const Cards_FishBlue = 61
Global Const Cards_Roses = 57
Global Const Cards_FishCyan = 60
Global Const Cards_IvyBlack = 58