resize userform image to fit on any monitor

T

timspier

I wrote a macro that allows the user to load in an image from a a fil
and then displays that image in a userform. I need the entire image t
be displayed on the monitor regardless of the screen resolution
However, if the original image is larger than the screen resolution
only part of the image is displayed. Of course, one could scroll dow
to see the rest of the image, but this is unacceptable. I realize tha
I can determine the screen resolution of any monitor on which the macr
is used, and I know that I could resize the userform so that the whol
userform is visible regardless of the resolution. The question is, ho
can I resize the original image so that the entire picture will displa
in the userform at any resolution? I don't want the users to have t
resize the image in a different program before opening it in Excel
 
H

halimnurikhwan

Hi Tim,

You can attach picture to ur userform and strecth it.
and u can use API call to do this:
in your userform module:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA"
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam
As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const SC_MAXIMIZE = &HF030&
Const WM_SYSCOMMAND = &H112
Private Sub UserForm_Activate()
dim FrmhWnd as long
FrmhWnd = FindWindow(vbnullstring,me.caption)
SendMessage FrmhWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0
End sub

Thanks,

HAlim


timspier menuliskan:
I wrote a macro that allows the user to load in an image from a a file
and then displays that image in a userform. I need the entire image to
be displayed on the monitor regardless of the screen resolution.
However, if the original image is larger than the screen resolution,
only part of the image is displayed. Of course, one could scroll down
to see the rest of the image, but this is unacceptable. I realize that
I can determine the screen resolution of any monitor on which the macro
is used, and I know that I could resize the userform so that the whole
userform is visible regardless of the resolution. The question is, how
can I resize the original image so that the entire picture will display
in the userform at any resolution? I don't want the users to have to
resize the image in a different program before opening it in Excel.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top