Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Очистка CListBox


Автор: Rickert 15.7.2006, 17:32
В классе даилога описано
Код

...
CListBox m_Choosed;
...

В какой-то момент пытаюсь чистить:
Код

...
for (int i = 0; i < m_Choosed.GetCount(); i++)
    m_Choosed.DeleteString(i);
...

Отчищает криво: если строки 3, например, то убивает первую и третью, а вторую оставляет. smile  

Автор: Romikgy 15.7.2006, 17:39
Код

for (int i = m_Choosed.GetCount()-1; i >=0 ; --)
    m_Choosed.DeleteString(i);
  

Автор: 0x07L 15.7.2006, 18:40
А вообще в таком случае лучше юзать ResetContent 

Автор: GioTraliVali 15.7.2006, 22:50
Цитата(Rcikert @ 15.7.2006,  17:32)
В классе даилога описано
Код

...
CListBox m_Choosed;
...

В какой-то момент пытаюсь чистить:
Код

...
for (int i = 0; i < m_Choosed.GetCount(); i++)
    m_Choosed.DeleteString(i);
...

Отчищает криво: если строки 3, например, то убивает первую и третью, а вторую оставляет. smile

Tak elki palki zelenie slu6ai suda:
Ispolzue6 ResetContent() udaliaet vse elementi s listboxa no esli kak ti xotel to nado delat tak

int count =m_Choosed.GetCount();
a potom tolko zajat v cikl no tak
for(int i = 0 ; i < count ; i++)
{
   m_Choosed.DeleteString(i);
}

A pri tvoem kode on ne udaliaet krivo on pravilno udaliaet. kogda ti puskae6 cikl to v nachale i = 0 i on udaliaet 0 stroky iz 3; t.e bilo 0,1,2 stala 1,2 NO eto vajno kogda ti udalil 0 stroky to 1 stala 0 a vtoraia1,i pri sledushem v xode v cikl on opiat proveriaet kolvo elentov v cikle a ix uje 2 i 6echik "i" = 1 to on udalit 2 element iz listboxa. POniatno!!!!??? 

Автор: takedo 16.7.2006, 21:21
короче, в цикле:
for (int i = 0; i < m_Choosed.GetCount(); i++)
{
    m_Choosed.DeleteString(i);
i=0;/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
}
видимо это все. А если хочешь посмотреть чего происходит, задай в строках перед удалением строка1, строка2, строка3 и т.д. Сам все увидиш в дебагере.
 

Автор: DeadSoul 16.7.2006, 21:49
takedo, во втором посте дан правильный ответ. На фига это флейм + некрасивый и неверный код? 

Автор: Rickert 17.7.2006, 04:49
Romikgy
Спасибо! 

Автор: takedo 17.7.2006, 05:17
DeadSoul, ну да, во втором посте дан правильный код, только был и третий довольно таки увесистый. А на счет неверного кода - это зря, все работает, но не все знают, что так делать можно smile ! Некрасивый - возможно, но оригинальный smile  

Автор: Romikgy 17.7.2006, 08:41
Rcikert, пжалста smile 

Автор: DeadSoul 17.7.2006, 21:56
Цитата(takedo @  17.7.2006,  05:17 Найти цитируемый пост)
DeadSoul, ну да, во втором посте дан правильный код, только был и третий довольно таки увесистый. А на счет неверного кода - это зря, все работает, но не все знают, что так делать можно  ! Некрасивый - возможно, но оригинальный    

Он зациклится при наличие записей:down: 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)