![]() |
|
![]() ![]() ![]() |
|
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
МФС предоставляет нам кучу стандартных файлов диалога-выбор шрифта,цвета,печати,поиска и замены.Со всеми легко работать...кроме последнего.Но я вас научу
![]() Для того чтобы диалог поиска и замены заработал, нужно проделать следующие мероприятия: Зарегистрировать сообщение 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() в которой и реализуем СВОЙ алгоритм поиска ![]() ![]() Да кстати.Кол-во и вид кнопок на диалоге,устанавливаем в свойствах при создании файла.А вот с нажатие кнопок работаем не через сообщения,а через вызов функций данного класса,которые возвращают значение,если была нажата какя-то кнопка ![]() CFindReplaceDialog ![]() Это сообщение отредактировал(а) Coocky - 4.11.2004, 23:02 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |