|
[Résolu] L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Stagiaire WDF
Inscrit: 10/11/2006 12:04
Post(s): 4
|
Bonjour, Je commence à tester la version Express de WD 10; je suis bien content de toutes les fonctionnalités qui permettent d'accélérer le développement des IHM. Par contre, je ne trouve pas beaucoup des infos pour accéder aux APIs externes; je suis en train d'utiliser une API externe pour visualiser fichiers PDF; en Visual basic c'est simple :
Private Sub Command1_Click()
Dim pdf_doc As Long
Dim pdf_page As Long
pdf_doc = FPDF_LoadDocument("c:\pdf\documents\mydoc.pdf", "")
If pdf_doc = 0 Then
MsgBox "Cann't load document."
Exit Sub
End If
pdf_page = FPDF_LoadPage(pdf_doc, 0)
FPDF_RenderPage Picture1.hDC, pdf_page, 0, 0, 400, 500, 1, 0
FPDF_ClosePage pdf_page
FPDF_CloseDocument pdf_doc
End Sub
Mes débuts en windev :
ChargeDLL("fpdfview.dll")
pdf_doc est un entier = AppelDLL32("fpdfview.dll","FPDF_LoadDocument",sDocument, Null)
pdf_NoPages est un entier = AppelDLL32("fpdfview.dll", "FPDF_GetPageCount", pdf_doc)
Info(pdf_NoPages) //ça marche, donc le doc est bien LOAD
pdf_page est un entier = AppelDLL32("fpdfview.dll", "FPDF_LoadPage", pdf_doc,"0")
le problème est d’interpréter cette ligne de VB :
FPDF_RenderPage Picture1.hDC, pdf_page, 0, 0, 400, 500, 1, 0
en windev :
pdf_render est un entier = AppelDLL32("fpdfview.dll", "FPDF_RenderPage",IMG_Image1..Valeur,pdf_page,0,0,400,500,1,0)
Probleme avec le parapettre : IMG_Image1..Valeur Comme représenter le handle du bitmat VB Picture1.hDC en windev ? Merci de vos réponses.
Contribution le : 10/11/2006 12:28
Edité par drcharly93 sur 10/11/2006 15:28:55
|
|
|
Re: L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
Bonjour,
Voici la fonction qu'il vous faut :
SysRecupereDC( Handle( Picture1) )
Bon dév.,
Totof
Contribution le : 10/11/2006 13:41
|
|
|
Re: L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Stagiaire WDF
Inscrit: 10/11/2006 12:04
Post(s): 4
|
En effet, C'est ce qu'il fallait ! Merci beacoup !
Contribution le : 10/11/2006 14:46
|
|
|
Re: L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Particularité du passage de paramètre aux apis en WLangage. Tout paramètre de type <Out> doivent être passés via leurs adresses ainsi que les variables autres que celles de type numérique.
sDocument est une chaine = "test.pdf"
f_doc est un entier = AppelDLL32("fpdfview.dll","FPDF_LoadDocument",&sDocument, Null)
Pour passer l'adresse d'une variable on la préfixe du & commerciale exemple &sDocument pour les paramètres chaine en type 'In' on peut aussi au lieu de passer l'adresse passer directement la chaine en la terminant par un caract(0) exemple
sDocument est une chaine = "test.pdf" + Caract(0)
f_doc est un entier = AppelDLL32("fpdfview.dll","FPDF_LoadDocument",&Document, Null)
pour récupérer le HDC d'un champs via Windev appliquer la méthode décrit par Totof A savoir
nHDC est un entier
sChampImage est une chaine
sChampImage = "Image1"
nHDC = SysRecupereDC(Handle(sChampImage))
Contribution le : 10/11/2006 15:28
|
|
|
Re: L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Stagiaire WDF
Inscrit: 10/11/2006 12:04
Post(s): 4
|
Citation : drcharly93 a écrit: Bonjour,
Particularité du passage de paramètre aux apis en WLangage. Tout paramètre de type <Out> doivent être passés via leurs adresses ainsi que les variables autres que celles de type numérique. ... Pour passer l'adresse d'une variable on la préfixe du & commerciale exemple &sDocument ... pour les paramètres chaine en type 'In' on peut aussi au lieu de passer l'adresse passer directement la chaine en la terminant par un caract(0) exemple
Merci de ces complémentes d'information drcharly93. Mais je n'ai pas bien compris à quoi ça sert l'ajout du symbole "&" ou du caract(0). Cela permet d'identifier si c'est un paramètre OUT ou IN, qu'est ce que ça veut dire ? en tout cas cela n'a rien changué à mon affichage des docs...
Contribution le : 10/11/2006 23:22
|
|
|
Re: L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Certaines apis n'accèpte pas directement de leurs passer les variables en tant que chaine de caractère, pour ce faire il est préférable de les passer par adresse
Les variables de <IN> sont des variables de l'on envoi à l'api les variables de <OUT> sont des paramètres qui retournent des valeurs et celles ci ne peuvent pas en WLangage est envoyés directement mais doivent être passés par adresse pour quelles puissent renvoyer une valeur. pour passer une variable par adresse il suffit de préfixer la variable d'un '&'
Contribution le : 12/11/2006 23:27
|
|
|
Re: [Résolu] L'équivalent de Picture1.hDC (VBasic) en WD 10 ? |
|
Stagiaire WDF
Inscrit: 10/11/2006 12:04
Post(s): 4
|
Je vais certainement étudier plus sur ce sujet car je vais intégrer pas mal de fonctions natives de CAPICOM... merci encore pour les infos et je pense qu'à bientôt sur ce forum.
Contribution le : 13/11/2006 11:23
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|