Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Visual C++. MFC
Урок 21. Продолжаем работать с CComboBox

Для начала давайте передадим некоторое значение из нашего ComboBox'а в главное окно программы. Переданное значение появится в заголовке главного окна. Для этого внесите в обработчик меню (того самого, при вызове которого появляется наш диалог) следующие изменения:

void CMyMainWnd::OnMyMenuDialog(){
 
     CDlg dlg;
 
     dlg.m_sName=m_sName;
 
     if(dlg.DoModal()==IDCANCEL) //если нажали на cancel,
 
         return;                 //то выходим
 
     m_sName=dlg.m_sName;
 
     SetWindowText(m_sName);
 
 }

Теперь осталось только добавить в класс CMyMainWnd переменную m_sName типа CString:

public:
 
     CString m_sName;
 
     ...

Теперь при запуске программы выбранное нами значение из ComboBox'а будет появляться в заголовке нашего окна:

<Окно с заголовком

Рассмотрим теперь операции с элементами ComboBox'а. Основные из них - это добавление в конец списка (AddString, рассмотрена на прошлом уроке), вставки (InsertString), удаления (DeleteString) и нахождения нужной строки (FindString). Их использование ясно из следующего примера:

BOOL CDlg::OnInitDialog()
 
 {
 
     ...
 
     m_cbComboBox.AddString("Ушку");
 
     //вставка строки на первое место (нумерация с нуля!)
 
     m_cbComboBox.InsertString(1,"Новая строка");
 
     //удаление строки номер ноль (нумерация с нуля!)
 
     m_cbComboBox.DeleteString(0);
 
     //ищем строку Victor
 
     //Если она есть, то ее номер запишется в k
 
     int k=m_cbComboBox.FindString(0, "Victor");
 
     if(k==CB_ERR)   //Если такой строки нет, то k будет равно CB_ERR
 
         AfxMessageBox("Сторока не найдена!");
 
     else{
 
         CString s;
 
         s.Format("Строка найдена на %d-м месте.",k);
 
         AfxMessageBox(s);
 
     }
 
     ...
 
 }

Из важных функций стоит ещё, пожалуй, упомянуть ResetContent, которая служит для удаления из ComboBox'а всех его элементов. Пример ее использования:

...
 
 m_cbComboBox.ResetContent();
 
 ...


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS