Re: CformView: set size at startup
On 12 Aug., 21:46, "ScottMcP [MVP]" <scott...@mvps.org> wrote:
On Aug 12, 10:03 am, mfc <mfcp...@googlemail.com> wrote:
Hi
could someone tell me how is it possible to set the size of the
cmainframe window to 800x480 pixel?
I`ve tried a few methods, but nothing works....
CMIAppView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
//get dialog based units
int nXpx = 533, nYpx =295;
CRect rect(0, 0, nXpx, nYpx);
MapDialogRect(m_hWnd, &rect);
int nXdbu = rect.right;
int nYdbu = rect.bottom;
//calulcation
int heigth = 480;
int width = 800;
CRect m_rc( 0, 0, ((width * nXpx) / nXdbu), ((heigth * nYpx) /
nYdbu));
//MapDialogRect: dialog box units are required by the rect imput
if(::MapDialogRect(m_hWnd, &m_rc))
{
GetParentFrame()->RecalcLayout();
ResizeParentToFit();}
MoveWindow(m_rc);
}
In the end, it would be great to set the window at the specfic screen
position 0,0 with the size 800x480 pixel. Using ScreenToClient won`t
work because the window-handle is not valid at this time...
I hope someone have an idea!
best regards
Hans
To set the size of the mainframe you should be writing code in
CMainFrame::OnCreate. I don't understand what your code here is
trying to do, but you should not be concerned at all with dialog
units. Why do you want your window at a fixed dimension? It will be
annoingly small on high resolution screens.- Zitierten Text ausblenden -
- Zitierten Text anzeigen -
I`m working on a embedded device with an 800x480 screen; but I also
want to develop some GUIs at my home computer, where the screen
resolution is much higher. If I will get there an image size of
800x480, too - then I have the same aspect ratio (that would be
perfect).
Is the code above ok, if I write it in the OnCreate method?