Я хочу показать индикатор выполнения операции управления списком заполнения. Есть ли какой-нибудь способ сделать это?
Я должен заполнить элемент управления списком некоторыми данными. для этого я хочу показать индикатор выполнения. То
диалог, созданный для индикатора выполнения, не является модальным.
Что я уже пробовал:
if(!m_statusDlg) { m_statusDlg = new CStatusWindowDlg; m_statusDlg->Create(IDD_STATUS_WINDOW); } //m_statusDlg->Create(IDD_STATUS_WINDOW); m_statusDlg->ShowWindow(SW_SHOW); m_statusDlg->setFileName(m_LDNFileListCtrl.GetItemText(m_LDNFileListCtrl.GetSelectionMark(),0)); m_statusDlg->setGearBoxCount(gearBoxCount); m_statusDlg->UpdateData(false); m_statusDlg->setProgressRange(numGearBoxes); m_statusDlg->setProgressStep(1); for(int i = 0; i < gearCount; ++i) { long int mapLength = 0; CString gear = L""; gear.Format(L"Gear%d",i+1); gearNode->selectSingleNode(gear.AllocSysString(), &GearboxNode); IXMLDOMNamedNodeMapPtr attributeMap = nullptr; GearboxNode->get_attributes(&attributeMap); attributeMap->get_length(&mapLength); BSTR name; BSTR text; BSTR gearBoxName; _bstr_t b(" "); IXMLDOMNodePtr attr = nullptr; attributeMap->get_item(0, &attr); attr->get_text(&gearBoxName); for(int j = 2; j < mapLength; ++j) { m_statusDlg->increaseProgressStep(); attributeMap->get_item(j, &attr); _variant_t var = attr->get_baseName(&name); attr->get_text(&text); CString completeName = L""; completeName = (LPCTSTR)gearBoxName ; completeName = completeName + L" "; completeName = completeName + (LPCTSTR)text; m_selectedGearBoxList.InsertItem(index,completeName); index++; } }Я пробовал резьбу, но она не давала желаемого результата. Индикатор выполнения показывает только начальное состояние, оно не увеличивается.
Michael_Davies
Покажите свой код, никто не может даже попытаться угадать, что не так, не видя кода.
Member 13086649
Спасибо за ответ. Я опубликовал свой код без использования потока.