Ustawianie wartości ProgressBara nie działa

0

Gdy chcę przestawić wartość ProgressBara na 100 (wartość maksymalną) pasek postępu wypełnia się tylko do tego miejsca:
user image
Kod wygląda tak:

INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof( INITCOMMONCONTROLSEX );
icc.dwICC = ICC_BAR_CLASSES; // toolbary, statusbary i tooltipy
InitCommonControlsEx( & icc );

HWND hLoading;

hLoading = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Ładowanie. Proszę czekać.", WS_VISIBLE,
    CW_USEDEFAULT, /* x */
    CW_USEDEFAULT, /* y */
    300, /* width */
    100, /* height */
    NULL,NULL,hInstance,NULL);

    HWND hProgressBar = CreateWindowEx( 0, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE | PBS_MARQUEE,
    10, 10, 270, 20, hLoading, NULL, hInstance, NULL );

    HWND hStatus = CreateWindowEx( 0, "STATIC", "Ładuję", WS_CHILD | WS_VISIBLE |
    SS_LEFT, 10, 40, 270, 30, hLoading, NULL, hInstance, NULL );

    SendMessage( hProgressBar, PBM_SETRANGE, 0,( LPARAM ) MAKELONG( 0, 100 ) );
    SendMessage( hProgressBar, PBM_SETPOS,( WPARAM ) 100, 0 );

Co ciekawe, gdy odznaczę opcję "Wspieraj tematy XP" w ustawieniach projektu pasek normalnie się wypełnia. Używam DevC++.

0

Dla mnie WinApi to czarna magia, mnóstwo niezrozumiałych skrótów itd, właściwie to nie rozumiem po co się w tym bawić, skoro istnieje np. Qt. Ale przechodząc do rzeczy:
Trochę pogooglowałem i znalazłem coś takiego:
https://msdn.microsoft.com/en[...]esktop/bb760846(v=vs.85).aspx
Jest napisane, że domyślnie wartość range jest ustawiona na 0-100, więc nie powinieneś mieć problemu, ale spróbować nigdy nie zaszkodzi.

2

wywal PBS_MARQUEE

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