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-us/library/windows/desktop/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