Click here to Skip to main content
11,576,635 members (59,669 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VC8.0
How do I place the dialog at the right bottom in the MFC dialog base?

The position should remain the same when it is used with the other monitors too.

What I mean is, the dialog should be in the right bottom of the window above the taskbar. RIGHTBOTTOM in all the monitors.
Posted 6-Jan-11 19:16pm
Edited 6-Jan-11 21:56pm
v4
Comments
Gokulnath007 at 7-Jan-11 3:46am
   
Thank u...
Dalek Dave at 7-Jan-11 3:33am
   
Edited for Syntax and Readability.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

There is an API to display dialog in center of the screen i.e. CenterWindow() but
I don't know if there is direct API to display it at bottom right corner.
My suggestion is first calculate the screen coordinates

void GetScreenSizeInPixels( SIZE& s)
{
    ZeroMemory( &s, sizeof(SIZE) );
    s.cx = (LONG)::GetSystemMetrics( SM_CXMAXTRACK );
    s.cy = (LONG)::GetSystemMetrics( SM_CYMAXTRACK );
}


Than calculate the Dialog size using GetClientRect and than calculate the position and now use SetWindowPos with property SWP_NOSIZE.


May be this will help you.
  Permalink  
v2
Comments
Gokulnath007 at 7-Jan-11 2:20am
   
Yes.. Great.. Solved it... Thank u..
Shilpi Boosar at 7-Jan-11 2:23am
   
I found that you have eagerness to learn things :) keep it up...
Gokulnath007 at 7-Jan-11 3:49am
   
Shortly I am going to release my article.. Thank u.. Shilpi
Dalek Dave at 7-Jan-11 3:34am
   
Good Answer.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

RECT screen;
::GetWindowRect(::GetDesktopWindow(), &screen);
RECT dlg;
GetWindowRect(&dlg);	
int width = dlg.right - dlg.left ;
int height = dlg.bottom - dlg.top ;	
int xlen = screen.right - width ;
int ylen = screen.bottom - height;
this->MoveWindow(xlen-2,ylen-60,width,height+30,TRUE);
  Permalink  
v2
Comments
Richard MacCutchan at 7-Jan-11 4:13am
   
Added <pre> tags for readability.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 251
1 Abhinav S 170
2 Lucifier Rocks 105
3 DamithSL 95
4 Dave Kreskowiak 80
0 OriginalGriff 705
1 Sergey Alexandrovich Kryukov 626
2 Abhinav S 483
3 F-ES Sitecore 410
4 Suvendu Shekhar Giri 365


Advertise | Privacy | Mobile
Web04 | 2.8.150603.1 | Last Updated 7 Jan 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100