Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Изменение цвета вводимого символа


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
nataliya
Гость







СообщениеПт, 01-Авг-2003 14:55    Заголовок сообщения: Изменение цвета вводимого символа
Цитата

Помогите пожалуйста!!!
Мне надо изменить цвет вводимого символа.
Подробнее:
Нажимаю клавишу "а" - она должна выводится не черным цветом как всегда, а пусть синим;
Нажимаю клавишу "и" - она должна выводится не черным цветом как всегда, а пусть красным;
И это все должно производится в открытом документе ворды.

Может хоть кто-то что-то знает?
В начало
Пол:Муж aka57
Я живу тут....


Возраст: 28
Знак зодиака: Стрелец
Зарегистрирован: 03.07.2003
Сообщения: 1287

СообщениеПт, 01-Авг-2003 20:11 
Цитата

идея такова: отлавливаем нажатие клавиши (либо изменение документа, но нажатие все таки лучше). проверяем код этой клавиши и если она такя-то, то меняем ее цвет на такой-то. это всего лишь идея, так как вордом давно не занимался. кстати, а почему ворд?
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж aka57
Я живу тут....


Возраст: 28
Знак зодиака: Стрелец
Зарегистрирован: 03.07.2003
Сообщения: 1287

СообщениеПт, 01-Авг-2003 20:18 
Цитата

вот делфийский код для компонента 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
Откуда: Киев
СообщениеЧт, 28-Авг-2003 22:05 
Цитата

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


Возраст: 37
Знак зодиака: Водолей
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
СообщениеПт, 29-Авг-2003 7:02 
Цитата

а разве автор сказал, что ему это нужно в ворде?
_________________
нельзя давать всем всего, ибо всех много, а всего мало
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеПт, 29-Авг-2003 14:17 
Цитата

Цитата:
а разве автор сказал, что ему это нужно в ворде?

Не сказал(а). Даже подразумевается что это должно быть Делфи, раз вопрос задаётся в этом форуме. Я понимаю вопрос следующим образом: запущен Ворд и запущена Делфийская программа. И эта программа должна что-то такое сделать, чтобы вводимые в Ворде буквы были разноцветные.

Так вот, по-моему это нужно делать в самом Ворде, на его макросах а не как-то извне. Всё равно цвет символов Ворда можно изменить только средствами Ворда, но не средсвами API. Я говорю про API, поскольку вопрос задан в этом разделе.

А вообще-то, лучше было бы для начала уточнить вопрос. Если он ещё актуален.
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПт, 29-Авг-2003 22:59 
Цитата

А у меня вообще устойчивое подозрение, что данная девушка проходит курс Microsoft Word, раздел VBA. Ну а форум Delphi, да еще WinAPI... вы же забываете, что такое женская логика.
Чтобы это реализовать средствами VBA (или с помощью Delphi средствами СОМ), нужно лезть смотреть в справку Word Visual Bacis Reference. Что есть облом в данный момент. Завтра, если не забуду...

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСб, 30-Авг-2003 19:51 
Цитата

Цитата:
Чтобы это реализовать средствами 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 решение.
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100