Solved

Bring Form to Front

Posted on 2008-10-21
9
1,494 Views
Last Modified: 2013-11-28
I have a form that is launched from another form.  The first thing it does when it comes up is bring up a file browser so that the user can select an Excel workbook.  The user is then supposed to work with the launched form to interact with the Excel workbook.  However, in most cases the Excel workbook completely covers the launched form.  So the user never sees it to know that there is anything to do.

Is there a way to bring the launched form back on top of the Excel workbook?  I don't want my launched form to become a topmost form that always stays on top.  I just want it to pop to the front.
0
Comment
Question by:dastrw
9 Comments
 
LVL 8

Expert Comment

by:Bradley Haynes
ID: 22770292
Use the form load event in VBA to load form on top.
0
 
LVL 2

Author Comment

by:dastrw
ID: 22770386
Could you give me some sample code?
0
 
LVL 7

Expert Comment

by:FER_G
ID: 22770657
You must use the "SetWindowPos API"

Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_ONTOP = -1
Private Const flags = SWP_NOMOVE Or SWP_NOSIZE

SetWindowPos frm1.hwnd, HWND_ONTOP, 0&, 0&, 0&, 0&, flags

So when you call the form (frm1) then, you call the "SetWindowPos API" and the form will allways be on top

FerG
Saludos
--
Ing. Fernando D. Giletta
San Fco. Cba. Argentina.
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 2

Author Comment

by:dastrw
ID: 22770698
I already saw that comment.  I don't want the window to always be on top.  That will be annoying for the user.  I just want the form to come to the front.
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
ID: 22771098
dastrw

Try using the AppActivate command:
http://msdn.microsoft.com/en-us/library/dyz95fhy(VS.80).aspx

dastrw
0
 
LVL 2

Author Closing Comment

by:dastrw
ID: 31508441
This is exactly what I needed.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22771608
;-)
0
 
LVL 2

Author Comment

by:dastrw
ID: 22771716
There is just a minor problem with the AppActivate method:  If I manually bring up the launched form then just it shows up in front of my Excel workbook.  If I use the AppActivate command then the entire Access application comes up in front of the Excel workbook.  It would be nice if I could get AppActivate to just show the launched form, but the launched form doesn't have its own individual menu name as far as Windows is concerned.  This is just nit-picking though.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22772703
Yeah,
This is probably about as simple as it gets without using complicated API Code.

Jeff
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question