Hi Everyone,
I am using Microsoft Access 2010 software. I would like to change the background picture in every form of my database using vba code ((programmatically).
I found this vba code example http://access.mvps.org/access/api/api0043.htm and the code has be adapted slightly as follows: -
In my form to call the sub routine procedure: -
But my question is: if I want to add a command button, which an user will click and a file dialog box appears, which allows the user to browse to the directory path to select picture image and insert it into the form background, what is the vba code to add to the On Click event of the form?
Thank you in advance
I am using Microsoft Access 2010 software. I would like to change the background picture in every form of my database using vba code ((programmatically).
I found this vba code example http://access.mvps.org/access/api/api0043.htm and the code has be adapted slightly as follows: -
Code:
Private Const sImageFile As String = "yourImage.bmp" ' image to use for form backgrounds
Private Const sIconFile As String = "yourIcon.ico"
' This code was originally written by Klaus Probst.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Klaus Probst
'
'// Place all this in a module
Public Declare Function LoadImage Lib "user32" _
Alias "LoadImageA" _
(ByVal hInst As Long, _
ByVal lpsz As String, _
ByVal un1 As Long, _
ByVal n1 As Long, _
ByVal n2 As Long, _
ByVal un2 As Long) _
As Long
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
LParam As Any) _
As Long
Public Const WM_GETICON = &H7F
Public Const WM_SETICON = &H80
Public Const ICON_SMALL = 0
Public Const ICON_BIG = 1
'// LoadImage() image types
Public Const IMAGE_BITMAP = 0
Public Const IMAGE_ICON = 1
Public Const IMAGE_CURSOR = 2
Public Const IMAGE_ENHMETAFILE = 3
'// LoadImage() flags
Public Const LR_DEFAULTCOLOR = &H0
Public Const LR_MONOCHROME = &H1
Public Const LR_COLOR = &H2
Public Const LR_COPYRETURNORG = &H4
Public Const LR_COPYDELETEORG = &H8
Public Const LR_LOADFROMFILE = &H10
Public Const LR_LOADTRANSPARENT = &H20
Public Const LR_DEFAULTSIZE = &H40
Public Const LR_LOADMAP3DCOLORS = &H1000
Public Const LR_CREATEDIBHeader = &H2000
Public Const LR_COPYFROMRESOURCE = &H4000
Public Const LR_SHARED = &H8000
Public Function SetFormIcon(hwnd As Long, IconPath As String) As Boolean
Dim hIcon As Long
hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
'// wParam = 0; Setting small icon. wParam = 1; setting large icon
If hIcon <> 0 Then
Call SendMessage(hwnd, WM_SETICON, 0, ByVal hIcon)
SetFormIcon = True
End If
End Function
Public Sub LoadBackground(frm As Access.Form)
If Len(Dir(CurrentProject.path & "\" & sImageFile)) > 0 Then
frm.PictureTiling = True
frm.Picture = CurrentProject.path & "\" & sImageFile
End If
SetFormIcon frm.hwnd, CurrentProject.path & "\" & sIconFile
End Sub
In my form to call the sub routine procedure: -
Code:
Private Sub Form_Load()
' loads background image and form icon from external file in app folder
LoadBackground Me
End Sub
But my question is: if I want to add a command button, which an user will click and a file dialog box appears, which allows the user to browse to the directory path to select picture image and insert it into the form background, what is the vba code to add to the On Click event of the form?
Thank you in advance