Компоненты EmergingHelp для Delphi5-7

  • Автор темы zubr
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z

zubr

#1
Хочу представить свои компоненты EmergingHelp.

Компоненты EmergingHelp для Delphi5-7 являются текстовыми компонентами на базе компонентов TEdit и TMemo. К возможностям родительских компонент TEdit и TMemo добавляется возможность получения всплывающей подсказки в виде списка (как в IDE Delphi).

Web: http://res6.narod.ru/emerginghelp.html
Download: http://res6.narod.ru/Emerginghelp.zip
 
Z

zubr

#2
Вышла новая версия компонентов EmergingHelp 1.1

В компонентах EmergingHelp 1.1 по сравнению с предыдущей
версией 1.0 появилось множество дополнительных функциональных
возможностей:
1. Добавились 2 новых компонента TEditEmergingHelpDS и
TMemoEmergingHelpDS с поддержкой баз данных на основе источника
данных DataSource.
2. В компонентах появились новые свойства:
2.1. Для компонента TEditEmergingHelp:
*Свойство UseRestory – обеспечивает создание списка подсказок
при вводе пользователем данных в окно компонента. Запоминает
100 последних вводов.
*Свойство UseCase – в зависимости от состояния данного свойства,
поиск в списке осуществляется с учетом (или без учета) регистра
2.2. Для компонента TEditEmergingHelpDB:
*Свойство UseCase – см. п. 2.1
2.3. Для компонента TMemoEmergingHelp:
*Свойство UseRestory – см. п. 2.1
*Свойство UseCase – см. п. 2.1
2.4. Для компонента TMemoEmergingHelpDB:
*Свойство UseCase – см. п. 2.1
3. В компонентах добавились 3 события:
*Событие OnSelectHelp – возникает при выборе в списке
*Событие OnBeforeEmergingOpen – возникает перед открытием списка
*Событие OnAfterEmergingOpen – возникает после открытия списка
4. В компонентах добавилась возможность перемещения по списку с
помощью клавиатуры клавишами VK_UP, VK_DOWN, VK_HOME, VK_END.
5. В компонентах добавилась возможность перемещения по списку с
помощью скроллинга мыши.
6. Клавиши VK_ESCAPE, VK_TAB закрывают список.
7. Комбинация клавиш Ctrl+Space раскрывает полный список.

Буду благодарен за советы, комментарии, обнаруженные баги.
 
B

Barmutik

#3
А как что б можно бывло подсветить то что пользователь вставлял с помощью списка подсказок?

Ну в смысле .. пользователь вставил .. а потом смотриш на текст и к примеру такие места выделены ну там болдом ну или цветом к примеру...
 
Z

zubr

#4
<!--QuoteBegin-Barmutik+14:12:2004, 11:04 -->
<span class="vbquote">(Barmutik @ 14:12:2004, 11:04 )</span><!--QuoteEBegin-->А как что б можно бывло подсветить то что пользователь вставлял с помощью списка подсказок?

Ну в смысле .. пользователь вставил .. а потом смотриш на текст и к примеру такие места выделены ну там болдом ну или цветом к примеру...[/quote]
Неплохая идея, правда имеет смысл для компонентов ряда TMemoEmergingHelp. Спасибо за совет, в следующей версии учту его. Если вам надо регистрационный код, укажите Email куда скинуть.
 
B

Barmutik

#5
Если уж Вы так восприняли мой совет .. то в качестве расширения предыдущего предложения:

Что бы вставленный элемент можно было раскрасить указав:
1. Цвет фонта
2. Цвет фона
3. Стили фонта
 
Z

zubr

#6
<!--QuoteBegin-Barmutik+14:12:2004, 19:29 -->
<span class="vbquote">(Barmutik @ 14:12:2004, 19:29 )</span><!--QuoteEBegin-->Если уж Вы так восприняли мой совет .. то в качестве расширения предыдущего предложения:

Что бы вставленный элемент можно было раскрасить указав:
1. Цвет фонта
2. Цвет фона
3. Стили фонта[/quote]
Согласен, а также свойство типа boolean, позволяющее разработчику делать выбор использовать раскраску или нет.
 
B

Barmutik

#7
Ну вообщем да ... но если ксть возможность то можно пойти шире и давать обработчик типа(не претендую на правильность):

Код:
procedure OnInsertedWordHighlight(Sender: TObject; var InsertedWord: string; var FontColor, BackgrounfColor: TColor;
var FontStyle: TFontStyles; var DrawDefault: Boolen)
Это позводит разработчкику гибко обрабатывать событие втсавки и раскраски слова...
 
Z

zubr

#8
Согласен, что лучше в обработчике, но наверно правильнее все же, что бы FontColor, BackgrounfColor, FontStyle устанавливались через свойства, так как их удобнее устанавливать в инспекторе объектов, используя редактор для типа TFont, а насчет DrawDefault можно будет модифицировать имеющийся в данной версии обработчик:
Код:
procedure OnSelectHelp(Sender:TObject; var HelpStr:string) - данная версия
procedure OnSelectHelp(Sender:TObject; var HelpStr:string; var DrawDefault: Booleаn) - новая версия
 
B

Barmutik

#9
Это да... но я имел ввиду предоставить максимальный механим для кастамизации отрисовки... что бы человек мог назначить перелпредлить цвета и стиль для каждого слова... и это вообщем не мешает ему в Инспекторе установить начальные цвета, которые можно и не изменять если не надо ...

За то если надо то всегда можно изменить в этом обработчике....
 
Z
#10
Ну, а что мешает разработчику в procedure OnSelectHelp менять Font, к примеру:
Код:
procedure TForm1.MemoEmergingHelp1SelectHelp(Sender: TObject; var HelpStr: String; var DrawDefault: Booleаn);
begin
If HelpStr='Строка1' then
MemoEmergingHelp1.FontEmergingHelp.Color:=clRed;
If HelpStr='Строка2' then
MemoEmergingHelp1.FontEmergingHelp.Color:=clBlue;
If HelpStr='Строка3' then
MemoEmergingHelp1.FontEmergingHelp.Color:=clYellow;
DrawDefault:=True;
end;
 
Статус
Закрыто для дальнейших ответов.