Voici une procédure pas trés complexe, qui m'as demandé une belle journée tout de même juste à cause de pouvoir changé l'image du bureau avec une image en .jpg !
cette procédure utilise plusieur procédure intéréssante, dont la convertion bmp vers jpg et l'ajout d'objet !
bonne pioche !
Source / Exemple :
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_SENDWININICHANGE = &H2
Private Const SPIF_UPDATEINIFILE = &H1
Public Function Change_bureau_image(le_fichier$)
If LCase$(Right$(le_fichier$, 4)) = ".jpg" Then
a$ = left_moins$(le_fichier$, 4) + ".bmp"
Jpg_to_bmp le_fichier$, a$ ', FENia.Picture1
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, a$, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE
Kill a$
Else
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, le_fichier$, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE
End If
End Function
Public Function left_moins(chaine$, nombre_de_caractere_en_moins_a_enlever_a_droite&) As String
If chaine$ = "" Then Exit Function
left_moins = Left$(chaine$, Len(chaine$) - nombre_de_caractere_en_moins_a_enlever_a_droite&)
End Function
Public Function right_moins(chaine$, nombre_de_caractere_en_moins_a_enlever_a_gauche&) As String
If chaine$ = "" Then Exit Function
right_moins = Right$(chaine$, Len(chaine$) - nombre_de_caractere_en_moins_a_enlever_a_gauche&)
End Function
Public Sub Jpg_to_bmp(fichier_source$, fichier_destination$)
' il est impossbile de la même façon d'utiliser SavePicture pour faire un Bmp_to_jpg
' voir module z_Bmp_to_jpg
'-------- je selectionne une form charger, n'importe laquelle ---------
Dim ma_form As Form, Form_selectioné As Boolean
For Each ma_form In VB.Forms: Form_selectioné = True: Exit For: Next ma_form
If Form_selectioné = False Then MsgBox "Il faut au moins une Form charger pour pouvoir utiliser la procédure Jpg_to_BMP !"
'---------------------------------------------------------------------
'---- je créer un nouveau objet picture pour pouvoir m'en servir------
Dim picture_temp As VB.PictureBox
Objet_add picture_temp, PictureBox_, ma_form, 120, 600, 1335, 285, False
'---------------------------------------------------------------------
picture_temp.Picture = LoadPicture(fichier_source$)
SavePicture picture_temp.Picture, fichier_destination$
Objet_remove picture_temp, ma_form
End Sub
et la suite des procédure là :
http://www.vbfrance.com/codes/CREATION-SUPPRESSION-DYNAMIQUE-8217-OBJETS-TEXTBOX-LISTBOX-COMBOBOX_54717.aspx
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.