Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Предотвращение получения фокуса ввода с клавиатуры в компонент Me [D7, Win95/98, WinME, Win2k, WinXP]


SMT ©   (2004-09-07 17:51:00) 

Уважаемые мастера,

Как предотвратить получение фокуса ввода с клавиатуры компонентом Memo на форме, чтобы в нем не появлялся курсор после нажатия клавиш на клавиатуре в предыдущей форме?

Игорь Степанов


SMT   (2004-09-09 17:23:00) [1]

Уважаемые мастера,

Большое спасибо за советы. Я поэкспериментировал и обнаружил, что лучше всего использовать в методе OnShow формы строку SetWindowLong(Memo1.Handle, GWL_STYLE, GetWindowLong(Memo1.Handle, GWL_STYLE) OR WS_DISABLED), как предложил уважаемый КаПиБаРа.
Больше Memo1 не реагирует на нажатие клавиш на клавиатуре и никакого курсора в Memo1 не появляется, и текст никуда не сдвигается. При этом шрифт, стиль текста остаются без изменений.
Таким образом, этот вопрос закрыт.

Большое спасибо за советы.
С уважением, Игорь Степанов


КаПиБаРа   (2004-09-08 06:17:00) [2]

SMT   (07.09.04 17:51)

SetWindowLong(Memo1.Handle, GWL_STYLE, GetWindowLong(Memo1.Handle, GWL_STYLE) or WS_DISABLED);


========================================
Когда не достигают желаемого делают вид,
что желали достигнутого.
========================================


wl   (2004-09-07 22:49:00) [3]

ээээ, не понял сути вопроса, похоже надо чтобы он ВООБЩЕ туда не передавался - в таком случае либо использовать что-то не принимающее фокуса ввода - например TLabel, а если текст нужно скроллировать, тогда TWebBrowser, и тогда можно красиво оформить текст :))


wl   (2004-09-07 22:38:00) [4]

может на форме есть какая-нить кнопка, или что-то, принимающее фокус? тогда передать на нее фокус чем-нить вроде TheButton.SetFocus() или Form.ActiveControl := TheButton


SMT   (2004-09-07 21:24:00) [5]

Если утсановить Memo1.Enabled:=False, то текст, помещенный в Memo, становится блеклым, а задача состоит в том, чтобы текст был хорошо читаемым, так как он информирует пользователя о работе с программой, то есть дает инструкцию.

Что еще можно сделать?

С уважением,
Игорь Степанов


begin...end   (2004-09-07 18:47:00) [6]

Или - обрабатывать OnEnter ?


wicked   (2004-09-07 18:07:00) [7]

Memo1.Enabled := false;


Наверх

Титульная страница Поиск, карта сайта Написать письмо