2013-04-06 21 views
5

C'è anche il mio programma inizia:Cosa devo fare per far funzionare WS_MAXIMIZE?

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd) 
    { 
     MapEditor mapEditor; 

     mapEditor.Run(); 

     return 0; 
    } 

e c'è MapEditor():

MapEditor::MapEditor() 
{ 
    /* Creates the window */ 
    WNDCLASSEX wClass; 
    ZeroMemory(&wClass,sizeof(WNDCLASSEX)); 
    wClass.cbSize=sizeof(WNDCLASSEX); 
    wClass.style=CS_HREDRAW|CS_VREDRAW; 
    wClass.lpfnWndProc=WinProc; 
    wClass.cbClsExtra=NULL; 
    wClass.cbWndExtra=NULL; 
    wClass.hInstance=GetModuleHandle(0); 
    wClass.hIcon=NULL; 
    wClass.hCursor=LoadCursor(NULL,IDC_ARROW); 
    wClass.hbrBackground=(HBRUSH)COLOR_WINDOW; 
    wClass.lpszMenuName=NULL; 
    wClass.lpszClassName="Map Editor"; 
    wClass.hIconSm=NULL; 

    if(!RegisterClassEx(&wClass)) 
    { 
     int nResult=GetLastError(); 

     MessageBox(NULL,"Failed to register window class","Window Class Failed",MB_ICONERROR); 
    } 

    ME_HWnd=CreateWindowEx(NULL, 
      "Map Editor", 
      "Map Editor", 
      WS_OVERLAPPEDWINDOW | WS_MAXIMIZE | WS_VISIBLE, 
      CW_USEDEFAULT, 
      CW_USEDEFAULT, 
      CW_USEDEFAULT, 
      CW_USEDEFAULT, 
      NULL, 
      NULL, 
      GetModuleHandle(0), 
      this); 

    if(!ME_HWnd) 
    { 
     int nResult=GetLastError(); 

     MessageBox(NULL,"Window class creation failed","Window Class Failed",MB_ICONERROR); 
    } 
    ShowWindow(ME_HWnd, WS_MAXIMIZE); 
} 

La finestra non potrà mai iniziare massimizzato. Perché?

"Sembra che il tuo post sia per lo più codice; aggiungi ulteriori dettagli." "Sembra che il tuo post sia per lo più codice, per favore aggiungi altri dettagli." Fatto!

+0

L'ultimo paragrafo si lamentava? Non sapevo che fosse così: p – chris

+0

Sì ... Trovo che molti si lamentino così frustrante! –

+0

@chris, ci sono molti test automatici che SO si applica per provare a mettere un limite inferiore sulla qualità delle domande. In questo caso penso che sia controproducente. –

risposta

5

Si passa il secondo parametro errato a ShowWindow. Il secondo parametro dovrebbe essere un valore SW_..., non un valore WS_..., come spiegato in the documentation.

+0

Wow! Grazie. Ciò che è ancora più scioccante è che ho trovato molte persone che hanno riportato lo stesso problema senza ricevere una soluzione. –

+0

@ MickaelBergeronNéron Quando tutto il resto fallisce, leggere la documentazione. (La documentazione è abbastanza chiara sull'argomento. Sorpreso che non ti sia mai venuto in mente di controllarlo.) –

+0

L'ho controllato. Non ho notato lo scambio di lettere. –

Problemi correlati