Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > В каком состоянии RichEdit


Автор: CHERRY 17.4.2007, 12:58
В RichEdit поддерживается вставка и замена.
Но как узнать в каком состоянии он в данный момент.
Нужно знать заранее, что произойдет, когда начнем набирать текст:
будет текст вставляться или перезаписываться? 


Автор: greenpc 18.4.2007, 08:03
CHERRY, 
Код

result :=GetKeyState(VK_INSERT) and 1
1 - вставка
0 - замена

Автор: Yanis 18.4.2007, 11:37
Цитата(greenpc @  18.4.2007,  09:03 Найти цитируемый пост)
1 - вставка
0 - замена

Нет. Неправильно.

Автор: CHERRY 18.4.2007, 12:29
Вот так работает:
на KeyDown(...) 
 if (GetKeyState(VK_INSERT) and 1)=1 Then
      SB.panels[1].text := 'Замена' Else SB.panels[1].text := 'Вставка'

Спасибо!!!

Автор: greenpc 18.4.2007, 14:25
Yanis, 
почему ? и что неправильно ?

Автор: Yanis 18.4.2007, 18:15
Цитата(greenpc @  18.4.2007,  15:25 Найти цитируемый пост)
Yanis, 
почему ? и что неправильно ?

Потому что RichEdit не реагирует на кнопку Insert, если фокус в другом окне.
Поэтому твоё определение будет работать некорректно.
Если бы этот вариант был верный, то его предложили бы через 3-5 минут после того как ты создал тему smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)