Solved

Keeping a window always at the bottom

Posted on 2001-06-18
5
170 Views
Last Modified: 2010-05-02
I have an MDI application and a background form called frmBackground which I would like to be on the background at all times. My problem is: whenever I do Ctrl-Tab to move through the open windows of the app, only the window with focus is visible(which means is ahead of the background form). Every other form goes behind the background form and becomes invisible. How do I keep the background form at the bottom of the ZOrder at all times when I do Ctrl-Tab through the other forms?

Musleh
0
Comment
Question by:mfarid1
  • 2
  • 2
5 Comments
 
LVL 5

Expert Comment

by:gbaren
ID: 6204127
User the SetWindowPos() API with HWND_BOTTOM for second parameter. You'll need to call it every time you switch, though. I am not sure how HWND_DESKTOP works, try it.

Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (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
Public Const HWND_BOTTOM = 1
Public Const HWND_DESKTOP = 0
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOREDRAW = &H8
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H4


lReturn = SetWindowPos(form1.hWnd, HWND_DESKTOP, 0,0,0,0,SWP_NOMOVE+SWP_NOSIZE+SWP_NOREDRAW+SWP_NOZORDER+SWP_NOACTIVATE)

0
 
LVL 3

Accepted Solution

by:
TheAnswerMan earned 100 total points
ID: 6204250
In every Form_Activate..

place this code

frmBackground.ZOrder Forms.Count - 2
0
 
LVL 3

Expert Comment

by:TheAnswerMan
ID: 6204272
hmm actually.. just this..

frmBackground.ZOrder 1
0
 
LVL 5

Expert Comment

by:gbaren
ID: 6204480
TAM,

What's the idea of locking the question? You should know better!

0
 

Author Comment

by:mfarid1
ID: 6206875
Thanks. The solution klugy but worked.
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Suggested Solutions

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

831 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