PBM_SETMARQUEE nie działa na ProgressBarze

0

Jeszcze raz ja, znowu z pytaniem o ProgressBar - czemu

SendMessage( hProgressBar, PBM_SETMARQUEE, TRUE, 0 );

nie działa? Program w ogóle na to nie reaguje... Oto kod:

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,
	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 );
	
	SendMessage( hProgressBar, PBM_SETMARQUEE, TRUE, 0 ); //to w ogóle nie działa
	
1

brakuje w kontrolce stylu PBS_MARQUEE.

0

No tak, ale ja chciałbym, aby pasek działał normalnie i dopiero gdy będzie miał już 100%, PBM_SETMARQUEE "aktywował się". A gdy dodam styl ten na początku, przy tworzeniu kontrolki, nie mogę poprawnie ustawić na pasku wartości...
http://4programmers.net/Forum/C_i_C++/248091-ustawianie_wartosci_progressbara_nie_dziala?p=1117781#id1117781

2

Nie nazwałbym tego normalnym działaniem ale... zmień styl w trakcie działania aplikacji funkcja SetWindowLongPtr z parametrem GWL_STYLE.

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