Поиск в CRichEdit

Форум для программистов

Сообщение TRicK [BZ] » Ср окт 08, 2003 3:36 am

чето не могу разобраться как пользоваться CRichEditCtrl::FindText.
фот пример моего (нерабочего): кода :

LPCSTR lpcstr = (LPCTSTR)(dlgF->GetFindString());
FINDTEXTEX ft;
memset( (void *)&ft, 0, sizeof(FINDTEXTEX) );
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText = _T( (LPSTR) lpcstr );

long n = m_redit.FindText( FR_WHOLEWORD, (FINDTEXTEX *)&ft );

if ( n != -1L )
{
m_redit.SetSel( ft.chrgText );
}

упорно возвращает -1
Visual 7 Net, Winda XP SP1
TRicK [BZ]
Капитан
 
Сообщений: 265
Зарегистрирован: Чт дек 05, 2002 2:09 pm
Откуда: Одесса
Пункты репутации: 0

Сообщение unlogic » Ср окт 08, 2003 5:29 am

LPCSTR lpcstr = (LPCTSTR)(dlgF->GetFindString());
FINDTEXTEX ft;
memset( (void *)&ft, 0, sizeof(FINDTEXTEX) );
>ft.chrg.cpMin = -1;
>ft.chrg.cpMax = 0;
ft.lpstrText = _T( (LPSTR) lpcstr );

long n = m_redit.FindText( FR_WHOLEWORD, (FINDTEXTEX *)&ft ); ?ft - что такое? Может здесь ft.lpstrText

>if ( n< 0 )
{
m_redit.SetSel( ft.chrgText );
}
unlogic
Сержант
 
Сообщений: 26
Зарегистрирован: Вс май 25, 2003 9:00 pm
Пункты репутации: 0

Сообщение TRicK [BZ] » Ср окт 08, 2003 6:28 am

усе нашел на одном буржуйском форуме .. блин ... нада было так
m_redit.FindText( FR_WHOLEWORD | FR_DOWN , (FINDTEXTEX *)&ft );

из мсдн:

dwFlags
Flags for the match criteria. Can be zero or more of the following values:
FR_MATCHCASE Indicates that the search is case sensitive.
FR_WHOLEWORD Indicates that the word boundaries should be considered in the search.

а нащет того что без FR_DOWN для поиска вниз и 0 для вверх не пашет - ни слова! блин ... поубивал бы ...
может кому то поможет ... )
TRicK [BZ]
Капитан
 
Сообщений: 265
Зарегистрирован: Чт дек 05, 2002 2:09 pm
Откуда: Одесса
Пункты репутации: 0

Сообщение HumVee » Ср июн 16, 2004 6:32 pm

А по точнее можно? Ато у меня такая лажа: не ищется фраза вверх по тексту. Ставишь FR_DOWN, ищет вниз, не ставишь - вообще не ищет(в смысле выдаёт -1).
Последний раз редактировалось HumVee Ср июн 16, 2004 6:32 pm, всего редактировалось 1 раз.
HumVee
Призывник
 
Сообщений: 2
Зарегистрирован: Ср июн 16, 2004 6:27 pm
Пункты репутации: 0

Сообщение HumVee » Ср июн 16, 2004 6:48 pm

Я нашёл... Может кому понадобится:
.
.
.
If the user chooses to search upward, we use the range from the start of the selection to the beginning of the text in the control. That's why we only modify the value of cpMax to 0. In the case of upward search, cpMin contains the character index of the last character in the search range and cpMax the character index of the first char in the search range. It's the inverse of the downward search.
.
.
.
HumVee
Призывник
 
Сообщений: 2
Зарегистрирован: Ср июн 16, 2004 6:27 pm
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron