Вобщем, ситуация такова: есть TEdit на форме, требуется прикинуться, что это вовсе не TEdit, а какой-нибудь TLabel нередактируемый. Разумеется, делается следующее:
TEdit.ReadOnly:=True;
TEdit.TabStop:=False;
Пишем такой TEdit.OnEnter, чтобы при попытке войти в этот эдит фокус скидывался на какой-нибудь другой контрол. Вобщем, делаем так, чтобы нельзя было фокус на данном эдите остановить.
Но тут есть одна проблема: при наведении мышки на такой эдит, мышиный курсор меняется, выдавая сущность контрола Как это убрать? Пробовал в TEdit.OmMouseMove написать TEdit.Сursor:=crDefault, не помогает... Отсюда вопрос №1: как предотвратить изменение мышиного курсора над TEdit?
Один способ предотвратить такое изменение я знаю, это выставить TEdit.Enabled:=False. Всё бы ничего, да в задисабленном состоянии TEdit упорно меняет цвет текста, в нём прописанного, что его тут же выдаёт. Отсюда вопрос №2: можно ли (и если да, то как?) изменить цвет текста в задисабленном TEdit?
[]
F>Но тут есть одна проблема: при наведении мышки на такой эдит, мышиный курсор меняется, выдавая сущность контрола Как это убрать? Пробовал в TEdit.OmMouseMove написать TEdit.Сursor:=crDefault, не помогает... Отсюда вопрос №1: как предотвратить изменение мышиного курсора над TEdit?
Здравствуйте, Flamer, Вы писали:
F>Здравствуйте, Firstborn, Вы писали:
F>[]
F>>Но тут есть одна проблема: при наведении мышки на такой эдит, мышиный курсор меняется, выдавая сущность контрола Как это убрать? Пробовал в TEdit.OmMouseMove написать TEdit.Сursor:=crDefault, не помогает... Отсюда вопрос №1: как предотвратить изменение мышиного курсора над TEdit?
F>Не пробовал TEdit.Cursor := crDefault?
Здравствуйте, Softwarer, Вы писали:
F>>Как это убрать? Пробовал в TEdit.OmMouseMove написать TEdit.Сursor:=crDefault, не помогает... S>Я думаю, если ты посмотришь отладчиком — обнаружишь, что он и так crDefault. Напиши что-нибудь типа := crArrow.
crArrow работает именно так, как мне надо! Спасибо!
Здравствуйте, Firstborn, Вы писали:
F>Вобщем, ситуация такова: есть TEdit на форме, требуется прикинуться, что это вовсе не TEdit, а какой-нибудь TLabel нередактируемый. Разумеется, делается следующее:
F>
F> TEdit.ReadOnly:=True; F> TEdit.TabStop:=False; F> Пишем такой TEdit.OnEnter, чтобы при попытке войти в этот эдит фокус скидывался на какой-нибудь другой контрол. Вобщем, делаем так, чтобы нельзя было фокус на данном эдите остановить. F>
F>Но тут есть одна проблема: при наведении мышки на такой эдит, мышиный курсор меняется, выдавая сущность контрола Как это убрать? Пробовал в TEdit.OmMouseMove написать TEdit.Сursor:=crDefault, не помогает... Отсюда вопрос №1: как предотвратить изменение мышиного курсора над TEdit?
F>Один способ предотвратить такое изменение я знаю, это выставить TEdit.Enabled:=False. Всё бы ничего, да в задисабленном состоянии TEdit упорно меняет цвет текста, в нём прописанного, что его тут же выдаёт. Отсюда вопрос №2: можно ли (и если да, то как?) изменить цвет текста в задисабленном TEdit?
F>Всем ответившим — зараннее спасибо большое!
Здравствуйте, Firstborn, Вы писали:
F>Вобщем, ситуация такова: есть TEdit на форме, требуется прикинуться, что это вовсе не TEdit, а какой-нибудь TLabel нередактируемый. Разумеется, делается следующее:
F>
F> TEdit.ReadOnly:=True; F> TEdit.TabStop:=False; F> Пишем такой TEdit.OnEnter, чтобы при попытке войти в этот эдит фокус скидывался на какой-нибудь другой контрол. Вобщем, делаем так, чтобы нельзя было фокус на данном эдите остановить. F>
а не проще так: