Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
поиск CRichEditCtrl
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: поиск CRichEditCtrl (Прочитано 6870 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
GrekoFF
Гость
поиск CRichEditCtrl
«
:
27-03-2006 17:13 »
День добрый.
Помогите разобраться с поиском в CRichEditCtrl.
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText = (LPSTR) word.GetBuffer(word.GetLength());
long n = m_richEdit->FindText(FR_MATCHCASE|FR_WHOLEWORD|FR_DOWN , &ft);
if (n != -1)
m_richEdit->SetSel(ft.chrgText);
Почему m_richEdit->FindText... всегда возвращает -1. Что не так?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: поиск CRichEditCtrl
«
Ответ #1 :
27-03-2006 18:43 »
word - это CString?
и где инициализируется?
вместо
ft.lpstrText = (LPSTR) word.GetBuffer(word.GetLength());
лучче
ft.lpstrText = (const char*) word;
и ещё:
lpstrText - Pointer to the null-terminated string to find.
chrgText - A CHARRANGE structure that specifies the range of characters in which text is found.
«
Последнее редактирование: 27-03-2006 18:46 от Алексей1153
»
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
GrekoFF
Гость
Re: поиск CRichEditCtrl
«
Ответ #2 :
28-03-2006 07:12 »
CString word;
CDlgFind find;
long f;
if (find.DoModal()==IDOK)
{
word=find.m_find; // Edit Box в диалоге
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText = word.GetBuffer(word.GetLength());
f = m_richEdit->FindText(FR_MATCHCASE|FR_WHOLEWORD,&ft);
if (f != -1)
m_richEdit->SetSel(ft.chrgText);
}
При
ft.lpstrText = (const char*) word;
выдает ошибку: cannot convert from 'class CString' to 'char*'
«
Последнее редактирование: 19-12-2007 21:30 от Алексей1153++
»
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: поиск CRichEditCtrl
«
Ответ #3 :
28-03-2006 16:06 »
ft.lpstrText ==(char*)((const char*)word);
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
поиск CRichEditCtrl
Загружается...