Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
void CMeinView::SetSize( int width, int height )
{
int counter = 0; //- nur 5 Versuche!
CRect rectMain, rectClient;
for ( GetClientRect( rectClient );
( counter < 5 ) && ( rectClient.Width() != width || rectClient.Height() != height );
++counter, GetClientRect( rectClient ) )
{
TRACE( "rectClient: %d, %d\n", rectClient.Width(), rectClient.Height() );
GetParent()->GetWindowRect( rectMain );
int borderwidth = rectMain.Width() - rectClient.Width();
int borderheight = rectMain.Height() - rectClient.Height();
GetParent()->MoveWindow( rectMain.left, rectMain.top, width + borderwidth, height + borderheight );
((CFrameWnd*)GetParent())->RecalcLayout();
}
}
Cool. Die habe ich noch nie benutzt. Muss ich mir merken.AdjustWindowRect
RECT rect;
// gewünschte linke obere Ecke von Clientarea
rect.left = 100;
rect.top = 100;
// gewünschte rechte untere Ecke von Clientarea
rect.right = 200;
rect.bottom = 200;
// welchen Style hat das Fenster?
DWORD dwStyle = WS_OVERLAPPED;
// hat es ein Menü?
BOOL bMenu = FALSE;
int iResult = AdjustWindowRect( &rect, dwStyle, bMenu );
if ( iResult == 0 )
{
// hat nicht geklappt
MessageBox( 0, "Fehler bei AdjustWindowRect()", "Au ha!", MB_ICONERROR );
}
else
{
// rect enthält jetzt die benötigte Fenstergrösse und kann zum Positionieren verwendet werden
SetWindowPos( hwndVonMeinemFenster,
0,
rect.left, rect.top,
rect.right - rect.left, rect.bottom - rect.top,
SWP_NOZORDER );
}