2013-04-06 19 views
5

Có cách chương trình của tôi bắt đầu:Tôi nên làm gì để WS_MAXIMIZE hoạt động?

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

     mapEditor.Run(); 

     return 0; 
    } 

và 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); 
} 

Cửa sổ sẽ không bao giờ bắt đầu tối đa. Tại sao?

"Có vẻ như bài đăng của bạn chủ yếu là mã; vui lòng thêm một số chi tiết khác". "Có vẻ như bài đăng của bạn chủ yếu là mã; vui lòng thêm một số chi tiết khác". Làm xong!

+0

Đoạn cuối cùng SO có phàn nàn không? Tôi không biết nó đã làm điều đó: p – chris

+0

Vâng ... Tôi tìm thấy nhiều SO phàn nàn rất bực bội! –

+0

@chris, có rất nhiều thử nghiệm tự động mà SO áp dụng để cố gắng đặt giới hạn thấp hơn về chất lượng câu hỏi. Trong trường hợp này, tôi nghĩ nó phản tác dụng. –

Trả lời

5

Bạn đang chuyển thông số thứ hai sai đến ShowWindow. Tham số thứ hai được coi là giá trị SW_..., không phải là giá trị WS_..., như được giải thích trong the documentation.

+0

Wow! Cảm ơn bạn. Điều gây sốc hơn nữa là tôi thấy nhiều người báo cáo cùng một vấn đề mà không nhận được giải pháp. –

+0

@ MickaelBergeronNéron Khi thất bại, hãy đọc tài liệu. (Các tài liệu là khá rõ ràng về chủ đề. Ngạc nhiên nó không bao giờ xảy ra với bạn để kiểm tra xem nó.) –

+0

Tôi đã kiểm tra nó. Tôi chỉ không nhận thấy sự hoán đổi bằng chữ cái. –

Các vấn đề liên quan