views:

805

answers:

3

Hi,

I want to create full screen topmost (screen saver) window with MFC? How to create such full screen window in MFC? I tried to create win32 application and i am able to create fullscreen top most window but i want to create using MFC so later i can put different MFC controls on that window?

Please help me.

Thanks, Jim.

+1  A: 

You should be able to adapt the example code here to do what you want:

MSDN: Initializing a dialog box

Jon Seigel
This example will definitely work for me. but for that i will have to write WndProc method. can i use WndProc with MFC dialog based application? How?
Jim
ok i got it. WndPRoc is wrapped up in MFC framework. MFC application works on Message Mapping. so i will have write code into onInitDialog routine.Am i correct?
Jim
That's correct. Do all your initialization in `OnInitDialog()`.
Jon Seigel
A: 

I think removing the border from the dialog resource and showing the window as maximized (ShowWindow(SW_SHOWMAXIMIZED)) should do the job.

As for topmost use the System Modal style in the dialog resource.

djeidot
A: 

I do it with a Dialog Box app. In the resource editor properties for the dialog resource, set Border=None and Title Bar=False to eliminate all border elements. In OnInitDialog, use the following to resize the dialog to the entire desktop:

CRect rcDesktop;
rcDesktop.left = GetSystemMetrics(SM_XVIRTUALSCREEN);
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXVIRTUALSCREEN);
rcDesktop.top = GetSystemMetrics(SM_YVIRTUALSCREEN);
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYVIRTUALSCREEN);
MoveWindow(rcDesktop, FALSE);

This code works on multiple monitors, unlike maximizing the window.

No need to worry about making the window topmost, Windows will display it on a dedicated desktop with no other windows present.

Mark Ransom