Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WIN API] Okienko się nie pokazuje

Ostatnio zmodyfikowano 2012-06-10 11:52
Autor Wiadomość
Likassono
Temat założony przez niniejszego użytkownika
[WIN API] Okienko się nie pokazuje
» 2012-06-10 11:39:55
Witam, stworzyłem sobie programik który jak na razie ma wyświetlać okienko, ale jest problem, po skompilowaniu i uruchomieniu program istnieje w procesach, ale okienka nie widać na ekranie ;<
Dokładnie przestudiowałem mój kod i porównałem go z tym z kursu, są prawie identyczne. Gdy do mojego programu wklejam kod z kursu wszystko ładnie śmiga...


Tutaj daję wam kod:
C/C++
#include <windows.h>

LPSTR ClassName = "App Class";
LPSTR WindowName = "Happy Two Friends";
WNDCLASSEX wc;
HWND HWindow;
int WindowW = 800;
int WindowH = 600;
MSG Message;
LRESULT CALLBACK WindowProcess( HWND HWindow, UINT msg, WPARAM wParam, LPARAM lParam );

int Msg( LPSTR Text, HWND HHoa = NULL, LPSTR Tittle = "INFORMATION" )
{
    return MessageBox( HHoa, Text, Tittle, MB_OK || MB_APPLMODAL );
}

int WINAPI WinMain( HINSTANCE HInstance, HINSTANCE HPInstance, LPSTR CmdLine, int CmdShow )
{
    wc.cbSize = sizeof( WNDCLASSEX );
    wc.style = 0;
    wc.lpfnWndProc = WindowProcess;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = HInstance;
    wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
    wc.hCursor = LoadCursor( NULL, IDC_ARROW );
    wc.hbrBackground =( HBRUSH )( COLOR_WINDOW + 1 );
    wc.lpszMenuName = NULL;
    wc.lpszClassName = ClassName;
    wc.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
    if( !RegisterClassEx( & wc ) )
    {
        Msg( "Something went wrong, program will exit" );
        return 1;
    }
    HWindow = CreateWindowEx( WS_EX_CLIENTEDGE, ClassName, WindowName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WindowW, WindowH, NULL, NULL, HInstance, NULL );
    if( HWindow = NULL )
    {
        Msg( "Something went wrong, program will exit" );
        return 1;
    }
    ShowWindow( HWindow, CmdShow );
    UpdateWindow( HWindow );
    while( GetMessage( & Message, NULL, 0, 0 ) )
    {
        TranslateMessage( & Message );
        DispatchMessage( & Message );
    }
    return Message.wParam;
}
LRESULT CALLBACK WindowProcess( HWND HWindow, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
    case WM_CLOSE:
        DestroyWindow( HWindow );
        break;
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
        default:
        return DefWindowProc( HWindow, msg, wParam, lParam );
    }
    return 0;
}
P-58157
SeaMonster131
» 2012-06-10 11:47:56
Zamień
if( HWindow = NULL )
 na
if( HWindow == NULL )
.
P-58159
Likassono
Temat założony przez niniejszego użytkownika
» 2012-06-10 11:52:31
Jak mogłem przeoczyć tak prosty do wypatrzenia błąd? Dziękuję za pomoc, przepraszam za fatygę, temat zamykam, narazie! ;P
P-58160
« 1 »
  Strona 1 z 1