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


Автор: 13dreams 6.8.2010, 10:13
Допустим, имеется большое количество каких-то элементов управления. В данном случае кнопок.

Над каждой нужно выполнить действие

Код

CRect tr[1000];
...
    m_Btn1.GetWindowRect(&(tr[0]));
        ScreenToClient(&(tr[0]));


можно ли как-то эту операцию загнать в цикл или придётся писать кучу строчек?

Автор: Earnest 6.8.2010, 12:26
Конечно можно, кто мешает-то? Только кнопки тоже нужно в массиве держать, а не поштучно как у тебя (m_Btn1), или на худой конец, их идентификаторы.

Автор: Dem_max 7.8.2010, 16:49
Код

    m_Btn[i].GetWindowRect(&(tr[i]));
        ScreenToClient(&(tr[i]));

Автор: 13dreams 8.8.2010, 13:26
А как сам массив кнопок правильно создать?

я пытался так

Код

CButton buttons[10];
buttons[1]=m_Btn1;
...


afxwin.h(1936) :error C2248: CObject::operator =: невозможно обратиться к private член, объявленному в классе "CObject"...


Автор: 586 8.8.2010, 17:11
Код
CButton *buttons[10];
buttons[0]=&m_Btn1;

Автор: Earnest 9.8.2010, 10:40
А зачем тебе вообще m_Btn1 и т.д.? Объяви сразу массив кнопок CButton m_Btn[сколько из там у тебя].

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