www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 69 - Диалоговое окно для поиска в CEditView

Мы с Вами будем использовать AppWizard и Class Wizard по полной программе. Основные моменты я покажу картинками, но .... все картинками показать не могу. Будьте внимательны. Я использую VC++ 5.0, если у Вас VC++ 6.0 в диалоговых окнах есть некоторые отличия. Так что ....

В прошлом шаге мы с Вами создали поиск. Теперь пора приготовить диалоговое окно для ввода строки поиска. Берите предыдущий проект и вперед.

Переходим на вкладку Resource и выбираем папку диалогового окна Dialog , там у нас одно диалоговое окно IDD_ABOUTBOX. Щелните правой кнопкой мыши на папке Dialog и выберите пункт меню Insert Dialog. За это у Вас появится диалоговое окно. Первое, что сделаем, поменяем у него имя. Правой кнопкой мыши на диалоговом окне появится Dialog Properties в нем нам нужна вкладка General и поле Caption, именно в нем и задается название окна. Введите - "Поиск", или еще чего по Вашему усмотрению. Закройте просмотр свойств. Там в левом углу маленький крестик.

Разметите строку редактирования из набора элементов управления Controls и кнопки, все идентификаторы оставляем по умолчанию. Кнопки и поле редактирования можно двигать по Вашему усмотрению. Вы должны сделать примерно так.

step69_1.gif (7109 b)

После создания диалогового окна и расположения элементов управления для создания нового класса можно сделать двойной шелчок на панели диалогового окна. По нему будет создан класс на основе данного диалогового окна. Появится диалоговое окно Create new Class , здесь нужно согласиться :-).

step69_2.gif (6618 b)

Что такое New Class уже описывалось ранее. Только есть некоторая хитрость. Можно разместить заголовочный файл H и файл реализации CPP в отдельных файлах, но нам это не нужно. Наше диалоговое окно должно быть доступно из класса потомка CEditView. Поэтому необходимо воспользоваться кнопкой Change для выбора места расположения кода класса. Как на рисунке ниже.

step69_3.gif (15643 b)

После всех приготовлений мы можем связать элемент управления диалогового окна используя механизм DXX с переменной, только сначала её нужно создать. Запускайте ClassWizard, выбирайте вкладку Member Variables. Идентификатор строки редактирования будет иметь имя IDC_EDIT1 свяжем его с переменной типа CString. Это мы уже делали, но на всякий случай кнопка Add Variable. Имя переменной дадим m_Search.

Вот и всё. Теперь нам нужно изменить нашу функцию поиска сделанную в прошлом шаге.

///////////////////////////////////////////////////////////
// CMyEditView message handlers

void CMyEditView::OnSearch() 
{
	// TODO: Add your command handler code here
	CSearhDlg cd(this);
	if (cd.DoModal()==IDOK)
	{
		FindText(cd.m_Search,FALSE);
	}
}
///////////////////////////////////////////////////////////
// CSearhDlg dialog
И еще один момент. Не ищите пустую строку или обрабатывайте ошибку.


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz