Progress Bar PBM_SETPOS

0

Pierwszy raz robię progress bar. Korzystam z WinAPI. I problem mam dziwny.

SendMessage( hProgressBar, PBM_SETPOS,( WPARAM ) 500, 0 ); 

Gdy użyje tej instrukcji wewnątrz WinMain() to działa. Ale jeśli użyje jej poza nią to już nie ma reakcji.

kod programu (uzywałem zmiennych globalnych bo już nie miałem pomysłu dlaczego to nie działa)
http://pastebin.com/k1CDuzSd

0
 
HWND hProgressBar = CreateWindowEx( 0, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE ,
                30, 30, 340, 25, hwnd,( HMENU ) 200, hInstance, NULL );
        //SendMessage( hProgressBar, PBM_SETMARQUEE, TRUE, 0 );
        SendMessage( hProgressBar, PBM_SETRANGE, 0,( LPARAM ) MAKELONG( 0, 1000 ) );

a

HWND hStatic;
HWND hProgressBar;
HFONT hfont;
 

wskazują na coś innego... Skoro masz juz globalny uchyt to po co tworzysz kolejny wewnatrz funkcji WinMain() ? Zrób tak i wszystko będzie działać.

hProgressBar = CreateWindowEx( 0, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE ,
                30, 30, 340, 25, hwnd,( HMENU ) 200, hInstance, NULL );
        //SendMessage( hProgressBar, PBM_SETMARQUEE, TRUE, 0 );
        SendMessage( hProgressBar, PBM_SETRANGE, 0,( LPARAM ) MAKELONG( 0, 1000 ) ); 
0

o faktycznie.... fatalny błąd, czy tam przeoczenie. Już wszystko działa. Dzięki!

Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1