| Автор
| Сообщение |
|
|
|
Цитата |
|
Помогите пожалуйста!!!
Мне надо изменить цвет вводимого символа.
Подробнее:
Нажимаю клавишу "а" - она должна выводится не черным цветом как всегда, а пусть синим;
Нажимаю клавишу "и" - она должна выводится не черным цветом как всегда, а пусть красным;
И это все должно производится в открытом документе ворды.
Может хоть кто-то что-то знает? |
|
| В начало |
|
 |
|
|
 |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
| идея такова: отлавливаем нажатие клавиши (либо изменение документа, но нажатие все таки лучше). проверяем код этой клавиши и если она такя-то, то меняем ее цвет на такой-то. это всего лишь идея, так как вордом давно не занимался. кстати, а почему ворд? |
|
| В начало |
|
 |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
вот делфийский код для компонента RichEdit:
| Код: |
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'a' : RichEdit1.SelAttributes.Color := clRed;
'b' : RichEdit1.SelAttributes.Color := clBlue;
'c' : RichEdit1.SelAttributes.Color := clGreen;
else
RichEdit1.SelAttributes.Color := clBlack;
end;
end; |
|
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| Я думаю это нужно делать не API функциями а на VBA, в самом Word-е. Цветом Word-овского символа ведает Word, а не система. Правда не знаю, можно ли в Word-е поставить какой-то макрос на ввод символа. |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
а разве автор сказал, что ему это нужно в ворде? _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| Цитата: | | а разве автор сказал, что ему это нужно в ворде? |
Не сказал(а). Даже подразумевается что это должно быть Делфи, раз вопрос задаётся в этом форуме. Я понимаю вопрос следующим образом: запущен Ворд и запущена Делфийская программа. И эта программа должна что-то такое сделать, чтобы вводимые в Ворде буквы были разноцветные.
Так вот, по-моему это нужно делать в самом Ворде, на его макросах а не как-то извне. Всё равно цвет символов Ворда можно изменить только средствами Ворда, но не средсвами API. Я говорю про API, поскольку вопрос задан в этом разделе.
А вообще-то, лучше было бы для начала уточнить вопрос. Если он ещё актуален. |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
А у меня вообще устойчивое подозрение, что данная девушка проходит курс Microsoft Word, раздел VBA. Ну а форум Delphi, да еще WinAPI... вы же забываете, что такое женская логика.
Чтобы это реализовать средствами VBA (или с помощью Delphi средствами СОМ), нужно лезть смотреть в справку Word Visual Bacis Reference. Что есть облом в данный момент. Завтра, если не забуду... _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| Цитата: | | Чтобы это реализовать средствами VBA (или с помощью Delphi средствами СОМ), нужно лезть смотреть в справку Word Visual Bacis Reference. |
Ну, по поводу цвета - достаточно записать макрос:
Selection.TypeText Text:="1"
Selection.Font.Color = wdColorRed
Selection.TypeText Text:="2"
Selection.Font.Color = wdColorPink
Selection.TypeText Text:="3"
Здесь 2 и 3 будут показаны другим цветом. А вот куда это всё прилепить? Т.е. как перехватить ввод символов в Вордовском документе? Мне даже самому стало интересно. События типа OnKeyDown в VBA что-то не видно.
Наверно можно как-то, но жаль тратить время на поиски. Единственная идея - перехвадывать хуками, из Делфи нажатие клавиш в Ворде. Но это вроде довольно сложное решение, чтобы рекомендовать его девушке, изучающей Word. Хотя с другой стороны - как раз API решение. |
|
| В начало |
|
 |
|