C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 251 - Инициализация данных и события в DialogBar / MFC шаг за шагом / Visual C++

Шаг 251 - Инициализация данных и события в DialogBar

Итак, DialogBar у нас есть, только вот список и полоску редактирования надо бы какими-то данными инициализировать. Надо. Вот только как ??? Давайте возмем созданный Вами проект и попробуем проинициализировать элементы на DialogBar.

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	......
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	m_wBar.Create(this,IDD_DIALOG1,CBRS_TOP,ID_MY_BAR); 

	CEdit *pEd = (CEdit*) m_wBar.GetDlgItem(IDC_EDIT1);
	pEd->SetWindowText("Edits");
	
	return 0;
}

Мы воспользовались функцией GetDlgItem() для получения доступа к элементу по его идентификатору.

	HWND GetDlgItem( int nID ) const;

И нам пришлось привести типы указателей к указателю на класс. Как сделать реакцию на кнопку в DialogBar ? Для этого можно воспользоваться Class Wizard. На картинке вы увидите идентифкаторы элементов и возможность привязать к ним события.

251.gif (11236 b)

При вызове ClassWizard для диалога, который отражается в DialogBar, у Вас спросят нужно ли создавать новый класс. Нужно ответить нет. Зачем его создавать то ??? Просто нужно указать где будет производиться обработка данного события. Я, например, сделал это в CMainFrame как на рисунке. А вот код.

void CMainFrame::OnButton1() 
{
	AfxMessageBox("Click");	
}

Запустите приложение и Вы увидите, что у Вас кнопка активная и что в поле редактирования внесена надпись.


| |
Автор Каев Артем.
[AD]