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

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


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

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



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

Visual C++. MFC
Урок 20. Класс CComboBox

На этом уроке мы с вами посмотрим основные свойства и методы класса CComboBox. Разумеется, этот класс представляет из себя обычный ComboBox.

Для того, что бы не путаться с кодом от предыдущих уроков, создайте простое окошко (см. урок 3), и добавьте в него меню MyMenu с подменю Dialog (урок 14). При сохранении дайте ему имя resource.rc:

Меню

После этого подсоедините ClassWizard (урок 17) и создайте диалоговое окно (см. урок 18), и сделайте, чтобы это окно показывалось при вызове меню Dialog. Разместите в нашем диалоге элемент ComboBox:

Диалог

После такой подготовительной работы приступаем непосредственно к ComboBox. Для начала посмотрим, что надо сделать, чтобы при появлении диалогового окна в ComboBox'е уже появился некоторый список. Для этого нам сначала надо проделать некоторые предварительные шаги.

Для того, чтобы работать с любым элементом, в том числе и с ComboBox, мы должны задать ему некоторую переменную. Для этого используется такое средство, как ClassWizard. Вызовите его (Ctrl+W) и перейдите на вкладку Member Variables. Обратите внимание, что в строке с идентификатором нашего ComboBox'а (IDC_COMBO1) ничего нет:

ClassWizard

Нажмите на кнопку Add Variable. В появившемся окне Add Member Variable добавьте имя переменной (у нас это m_cbComboBox) и в категории (Category) установите значение Control:

Добавление переменной

Нажмите OK. Теперь в строке ClassWizard для идентификатора IDC_COMBO1 появится переменная m_cbComboBox типа CComboBox:

ClassWizard

Теперь нам надо написать заготовку для кода, который, который будет выполнятся при инициализации диалога. Для этого опять вызовите ClassWizard (если вы его уже закрыли), перейдите в нем на вкладку MessageMaps, выберите класс CDlg в Class name, в списке Object IDs выберите CDlg, и в списке сообщение выберите WM_INITDIALOG:

Сообщение WM_INITDIALOG

После этого нажмите в этом же диалоговом окне на кнопку Add Function и затем на Edit Code. В появившемся окне кода введите следующий текст:

BOOL CDlg::OnInitDialog()
 
 {
 
     CDialog::OnInitDialog();
 
     // TODO: Add extra initialization here
 
     m_cbComboBox.AddString("Igor");
 
     m_cbComboBox.AddString("Otto");
 
     m_cbComboBox.AddString("Ушку");
 
     return TRUE;
 
     ...

Теперь можете запустить приложение, зайти в меню и убедится, что в ComboBox'е есть три значения. Правда ComboBox выглядит не вполне привлекательным:

ComboBox

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

Измененный ComboBox

После этого ваш ComboBox должен быть уже более привычных размеров.



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

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




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



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


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