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


Автор: DESert 10.5.2006, 19:23
Привет всем!
Такая проблема: есть у меня ListBox, хочу вывести на него обычным способом (т.е. AddString() ) строку. Загвозка заключается в том, что вывод совершается через функцию, которая находится в отдельном файле *.cpp... И ничего не получается...
помогите плиз... 

Автор: Earnest 10.5.2006, 19:43
Так что у тебя не получается? AddString вызвать? 

Автор: DESert 10.5.2006, 19:53
да... я плохо объянил...
есть файл *.cpp , созданный VC... в нем обработчик события нажатой клавиши, где Addstring работает... в этом же обработчике вызывается функция типа void, которая находится в другом файле (*.cpp, созданный мной) и вот в этой функции Addstring не работает.
Как я понимаю, нужно прописать переменную типа СListBox и связанную с тем ListBox'ом, который на форме. Но не знаю как это сделать... 

Автор: Earnest 11.5.2006, 14:16
Неважно, где находится функция, в которой вызывается CListBox::AddString, важно чтобы AddString вызывался для правильного контрола. 
Цитата(DESert @  10.5.2006,  20:53 Найти цитируемый пост)
в этом же обработчике вызывается функция типа void, которая находится в другом файле 

Передай туда указатель на ListBox:

Код

// эта функция может находиться где угодно
void MyFunction(CListBox& lb)
{
   lb.AddString(_T("BBB"));
   ...
}

// а это код твоего диалога
void CMyDialog::DoDataExchange (CDataExchange* pDX)
{
   ...
   DDX_Control(pDX,IDC_MYLISTBOX,m_MyListBox);
}

void CMyDialog::OnButtonClick()
{
   m_MyListBox.AddString(_T("AAA"));   
   ...
   MyFunction(m_MyListBox);
   ...
}
 

Автор: DESert 11.5.2006, 20:54
Спасибо!!!! 

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