Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диалог Поиск\замена.Запускаем с "толкача", Маленькие тайны.МФС. 
:(
    Опции темы
Coocky
Дата 4.11.2004, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



МФС предоставляет нам кучу стандартных файлов диалога-выбор шрифта,цвета,печати,поиска и замены.Со всеми легко работать...кроме последнего.Но я вас научу smile
Для того чтобы диалог поиска и замены заработал, нужно проделать следующие мероприятия:

Зарегистрировать сообщение FINDMSGSTRING с помощью функции RegisterWindowMessage. Сообщение FINDMSGSTRING посылает диалог Поиска и Замены в том случае, если пользователь нажал на одну из кнопок на нем. Если вы хотите реагировать на FINDMSGSTRING, вам понадобится зарегистрировать его в системе с помощью функции:

UINT RegisterWindowMessage( LPCTSTR lpString);
Она регистрирует сообщение в системе.Если всё проходит удачно, то тогда возвращается идентификатор сообщения от 0xC000 до 0xFFFF, иначе 0.
lpString - имя сообщения.


После этого нужно внести это сообщение в карту сообщений приложения. Это делается с помощью макроса

ON_REGISTERED_MESSAGE( nMessageVariable, memberFxn )

Он определяет какая функция будет обрабатывать наше сообщение.
nMessageVariable - идентификатор сообщения.
memberFxn - имя функции.


Определить функцию для обработки этого сообщения.

Шаг 1:

UINT WM_FINDREPLACE = ::RegisterWindowMessage(FINDMSGSTRING);

Шаг 2:
Добавляем макрос в карту сообщений.Пример:

BEGIN_MESSAGE_MAP(CEDITORDlg, CDialog)
//{{AFX_MSG_MAP(CEDITORDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnFindText)
ON_REGISTERED_MESSAGE( WM_FINDREPLACE, OnFindReplace )
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Ну и естественно описать функцию свою OnFindReplace() в которой и реализуем СВОЙ алгоритм поиска smile Да,да-свой,никто за вас искать не будет smile
Да кстати.Кол-во и вид кнопок на диалоге,устанавливаем в свойствах при создании файла.А вот с нажатие кнопок работаем не через сообщения,а через вызов функций данного класса,которые возвращают значение,если была нажата какя-то кнопка smile см.МСДН
CFindReplaceDialog smile

Это сообщение отредактировал(а) Coocky - 4.11.2004, 23:02


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.