Заставка

Программирование на старых и современных языках, а так-же дизайн

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



VS6.0, MFC, ListBox

Сообщений 1 страница 3 из 3

1

1. Создадим проект Dialog Based.
2. Уберём всё, кроме 3D controls, а заголовок окна пусть будет MFC ListBox Demo
https://i.ibb.co/hZGXkk8/VS60-MFC-LISTBOX1-11-42-13-07-2021-min.jpg

3. Так должен выглядеть интерфейс:
https://i.ibb.co/LNsmZ90/VS60-MFC-LISTBOX2-12-02-13-07-2021-min.jpg

4. А так должны выглядеть member:
https://i.ibb.co/p0z8CGs/VS60-MFC-LISTBOX3-12-03-13-07-2021-min.jpg

Сам код:

Код:
void CMFC_LSTBOXDlg::OnBtnAdd() 
{
  // Срабатывает при нажатие на кнопку Add
  CString data; // Переменная куда будут класть данные из текстового поля, для добавление в listbox, при нажатие на кнопку Add
  m_edText.GetWindowText(data); // Считывает текст из поля и записывает в переменную data
  m_lstData.AddString(data); // Добавляет текст из переменной data в listbox
  m_edText.SetWindowText(""); // Очищает текстовое поле.
}

void CMFC_LSTBOXDlg::OnBtnRemove() 
{
  // Срабатывает при нажатие на кнопку Remove
  int index = m_lstData.GetCurSel(); // Получает выделенный index из listbox
  m_lstData.DeleteString(index); // Удаляет item из listbox
}

void CMFC_LSTBOXDlg::OnSelchangeLstData() 
{
  // Срабатывает при нажатие на listbox, точнее на выбор item в listbox
  int index = m_lstData.GetCurSel(); // Получает выделенный index из listbox
  CString data;  // Переменная для передачи item из listbox
  m_lstData.GetText(index, data); // Получает текст из index, записывает в data
  m_edText.SetWindowText(data);  // Записывает в поле
}

0

2

Результат работы нашей программы:
https://i.ibb.co/MSH8dDt/VS60-MFC-LISTBOX-RESULT-13-21-13-07-2021-min.jpg

0

3

Улучшим наш код:

Код:
void CMFC_LSTBOXDlg::OnBtnAdd() 
{
  // Срабатывает при нажатие на кнопку Add
  // Если в поле меньше 3х символов то ничего не делаем
  if(m_edText.GetWindowTextLength() < 3) return;

  CString data; // Переменная куда будут класть данные из текстового поля, для добавление в listbox, при нажатие на кнопку Add
  m_edText.GetWindowText(data); // Считывает текст из поля и записывает в переменную data
  m_lstData.AddString(data); // Добавляет текст из переменной data в listbox
  m_edText.SetWindowText(""); // Очищает текстовое поле.
}

0