Member 13168529 Ответов: 1

Как автоматически анимировать индикатор выполнения при создании диалогового окна в mfc


У меня есть диалоговое окно, разработанное в моем приложении mfc с контролем индикатора выполнения. Также есть функция импорта папок. Я хочу показать диалоговое окно с анимированным индикатором выполнения, который будет показывать, сколько времени осталось после открытия диалогового окна (без какого-либо onButtonclick).

Я пишу функцию, которая делает это, но проблема в том, что я должен вызвать событие (например, щелчок кнопки), связанное с классом диалогового окна, чтобы показать анимированный индикатор выполнения. Как я мог это сделать??

Если я напишу этот код в функции onInitDialog, он будет отображать не анимацию, а последнее состояние индикатора выполнения (то есть onInitDoalog отображает диалоговое окно, когда оно возвращает true).

Что я уже пробовал:

Я также попытался создать функцию в классе диалогового окна :
void viewProgrssBar();


и в этой функции:
for ( int pp=0; pp<expp.size(); pp++){
		
		string fnm = expp.at(pp).substr(expp.at(pp).find_last_of("/")+1,expp.at(pp).size());
		CWnd *label = GetDlgItem(IDC_STATIC1);

		wstring w = wstring(fnm.begin(), fnm.end());
		 m_importProgress.StepIt();
		
    
	label->SetWindowText(w.c_str());
}

и вызов этой функции сразу после того, как я объявлю объект класса dialog box со ссылкой на это диалоговое окно

1 Ответов

Рейтинг:
2

forest-321

Для его реализации вам, вероятно,следует использовать события wm_timer или поток.


Member 13168529

Я хочу избежать резьбы