Шаг 68 - Поиск в CEditView

Создание проекта

Вам нужно создать проект, как в "Шаг 64 - AppWizard и текстовый редактор". После компиляции и сборки проект должен выглядеть вот так.

64_2.gif (5327 b)

Открывайте вкладку Resource окна просмотра проекта, в ней Menu и создайте пункты меню, как ниже на рисунке.

68_1.gif (3266 b)

Теперь нам нужно наши пункты меню связать с функциями в классе вида. Идем к ClassWizard. Нам нужна вкладка MessageMap. В ClassName найти и выбрать класс вида, в Object ID нужно найти наш идентификатор меню. Выбрать команду в окне Message и нажать кнопку Add Function что приведет к созданию функции связанной с этим пунктом меню в классе вида.

68_2.gif (21690 b)

Если вы всё сделали правильно в файле реализации вида должны появиться такие строки.

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

void CMyEditView::OnFind()
{
// TODO: Add your command handler code here
}

Создаем код

void CMyEditView::OnFind() 
{
if (FindText("hello",TRUE)) AfxMessageBox("Yes :-)");
else AfxMessageBox("None :-(");
}

Описание

Мы воспользуемся функцией FindText, она очень простая. Это и хорошо.

BOOL FindText( LPCTSTR lpszFind, BOOL bNext = TRUE, BOOL bCase = TRUE );
// поиск вперед (TRUE) назад (FALSE)
// учитывать регистр

А вот так это работает. Внимательнее при поиске. Курсор может быть ниже.

68_3.gif (3299 b)

Шпаргалка

Используй возможности элементов управления.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.