VB6 - Ouvrir une image

Résolu/Fermé
Fenril'Skanenruf - 29 juin 2008 à 23:17
 Fenril'Skanenruf - 1 juil. 2008 à 17:09
Bonjour,

J'ai programmé en vb6 un explorateur d'image avec des Drive, dir et file. J'aimerai faire un command nommé cmdOuvrir où quand l'on clique celaouvre l'image dans l'apercu classique de windows. Enfin je veux dire dans le programme par défaut de quand on fait une execution automatique d'un fichier.
Je possède actuellement un élément d'instance PictureBox nommé Picture1 qui affiche via ce code le fichier sélectionné dans le filelistbox.

Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)


Comment, au clic sur cmdOuvrir faire pour que cela ouvre l'image avec le programme par défaut ?

Merci beaucoup, Groupe-Midgard.com
A voir également:

5 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
30 juin 2008 à 19:26
OoOps je me suis gourré dans la déclaration de l'API.
Voilà donc le code :

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ 
	ByVal hwnd As Long, ByVal lpOperation As String, _ 
	ByVal lpFile As String, ByVal lpParameters As String, _ 
	ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute Me.hWnd, "OPEN", Me.File1.Path & "\" & Me.File1.FileName, "", Me.File1.Path,1
1
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
29 juin 2008 à 23:21
Voir l'API ShellExecute :
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ 
	 ByVal hwnd As Long, ByVal lpOperation As String, _ 
	 ByVal lpFile As String, ByVal lpParameters As String, _ 
	 ByVal lpDirectory As String, _ 
0
Fenril'Skanenruf
29 juin 2008 à 23:43
Bonjour,

Merci de votre réponse mais je commence en VB6 et pouvez-vous svp, m'indiquer la syntaxe à suivre pour ouvrir une image avec cette fonction ? Avec le cheminde l'adresse présenté ci-dessus.

Merci beaucoup.
0
Fenril'Skanenruf
1 juil. 2008 à 10:38
Bonjour, merci de votre réponse.

Mais quand je palce votre code dans le sub click du cmdOuvrir (mon bouton) comme ceci :
Private Sub cmdOuvrir_Click()

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute Me.hwnd, "OPEN", Me.File1.Path & "\" & Me.File1.FileName, "", Me.File1.Path, 1

End Sub

Il me dit ceci : "Seul les commentaires peuvent apparaître après End Sub, End Function, End Property" en surlignant la fonction.

Si je met la fonction tout en haut du projet en dehors de tout sub, il me met ceci :
"Des constantes, chaînes de longueur fixe, tableux, types définis par l'utilisateur et instructions Declare ne sont pas autorisés comme membre Public de module objet".

Où dois-je placer ton code ?
Merci beaucoup.
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
1 juil. 2008 à 11:34
La déclaration de l'API doit être placée dans un module (fichier .bas).
Le reste du code peut être appelé n'importe où
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fenril'Skanenruf
1 juil. 2008 à 17:09
Merci c'est parfait, sujet [Résolu].
Merci pour ton aide éfficace et rapide.
0