
Good news, everyone!
Дело в том, что в стандартной версии класса TMRUListEh поиск выполняется не по всей строке, а только от ее начала. Для того, чтобы поиск выполнялся по всей строке нужно немного покопаться в потрошках модуля ToolCtrlsEh.
Функция TMRUListEh.FilterItemsTo строка 3471:
//Стандартная версия. Поиск выполняется только от начала строки
if CaseSensitive then Accept := (AnsiCompareStr(Copy(Items[i], 1, Length(MaskText)), MaskText) = 0) else Accept := (AnsiCompareText(Copy(Items[i], 1, Length(MaskText)), MaskText) = 0);
//Новая версия. Поиск выполняется по всей строке
if CaseSensitive then Accept := (AnsiPos(MaskText, Items[i]) > 0) else Accept := (AnsiPos(AnsiUpperCase(MaskText), AnsiUpperCase(Items[i])) > 0);
© By Farnsworth