• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Combobox

  • Автор темы Irisha
  • Дата начала
I

Irisha

Здравствуйте! Проект VS2008 MFC Application. На одном диалоге имеется несколько Edit-ов, на другом имеется Combobox. Как из edit-ов одного окна добавить строки в combobox другого окна? Диалоги создавались с помощью редактора ресурсов. С контролами связаны переменные, если переменной типа Value передать строку, то все в порядке и она появляется в контроле, а если эту же строку - переменной типа Control (AddString) то список не заполняется(((
 
V

vol4ek88

Создаем приложение MFC App, убираем галочку "использовать библиотеки с поддержкой юникода", остальные настройки на Ваше усмотрение. Добавим на форму Edit. Добавим мастером переменную edit и обработчик нажатия клавиши OK. Теперь к ресурсам добавим второй Dialog. Щелкаем по нему правой кнопкой мыши -> Добавить класс (назовем его dial). Добавим на форму ComboBox и переменную ему combo. Теперь переходим в окно классов, находим там dial и щелкаем по нему правой кнопкой мыши -> Добавить -> Переменную. Добавляем CString (в списке переменных у меня (VS2010) ее нет, поэтому пишем ручками) имя переменной stroka. Опять идем в окно классов, находим dial, щелчок правой кнопкой мыши -> Мастер классов -> Виртуальные Функции -> Добавить функцию -> в левом списке ищем OnInitDialog. Жмем на кнопку добавить функцию - применить - окей.

Если все правильно сделано, к проекту добавится два файла dial.cpp и dial.h
Открываем файл имя_проекта_Dlg.cpp



в начало файла добавим
C++:
 #include "dial.h"

в файл dial.cpp в ф-цию OnInitDialog (она в самом низу)

C++:
BOOL dial::OnInitDialog()
{
CDialogEx::OnInitDialog();

combo.AddString(stroka); // вот эту вот строку

return TRUE; 

}


ну и наконец обработчик кнопки OK главного окна (имя_проекта_Dlg.cpp)


C++:
dial cd;
edit.GetWindowTextA(cd.stroka);
cd.DoModal();
{

}


ну вот и все. Посоветую Вам вместо этого использовать запись данных в файл (например INI). Этим Вы еще и решите проблему сохранения настроек приложения. (по желанию).
 
I

Irisha

спасибо огромное!!! буду пробовать...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!