Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: поиск CRichEditCtrl  (Прочитано 6868 раз)
0 Пользователей и 1 Гость смотрят эту тему.
GrekoFF
Гость
« : 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. Что не так?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #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 » Записан

GrekoFF
Гость
« Ответ #2 : 28-03-2006 07:12 » new

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++ » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 28-03-2006 16:06 » 

ft.lpstrText ==(char*)((const char*)word);
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines