![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, не знаю как еще более точно назвать тему, но суть в том, что возникла необходимость довольно-таки координально изменить внешний вид и поведение компонента TEdit.
В процессе столкнулся с несколькими вещами, на которые самостоятельно найти ответа не могу. Прошу вашего совета! 1. Реально ли изменить вид курсора при наведении на определенную область TEdit? Есть у меня на краю контрола область, например, 20 на 20 пикселей, как заставить курсор стать дефолтным при наведении на указанную область? 2. Реально ли ограничить отображение текста, вводимого в edit на определенную длину. например, если длина контрола 120, то можно ли сделать так, чтобы прокрутка текста начиналась не после того, как текст займет все 120 точек окна, а после 100 точек? |
#2
|
||||
|
||||
![]() 1. Изменить вид курсора для TEdit несложно, там для этого есть свойство Cursor. Изменять вид курсора в зависимости от положения в самом TEdit уже сложнее, но тоже можно:
Код:
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if (X in [Edit1.ClientRect.Left..Edit1.ClientRect.Left+20]) and (Y in [Edit1.ClientRect.Top..Edit1.ClientRect.Top+20]) then Edit1.Cursor := crHandPoint else Edit1.Cursor := crDefault end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() За ограничение длины вводимого текста отвечает свойство MaxLength
|
#4
|
|||
|
|||
![]() или сделать borderstyle-none и расположить на image в котором нарисовать чо хочешь
|
#5
|
||||
|
||||
![]() Вообще делают несколько проще. К стандартному едиту еще прицепляют кнопку и уже работают с парой контролов
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() Спасибо за ответы!!
Страдалецъ, а что значит "прицепить к эдиту"? Создать компонент, на котором расположить эдит и кнопку? Pyro, в моем случае вариант составного компонента непригоден, за основу берется один компонент, в данном случае tedit, и переделывается |
#7
|
|||
|
|||
![]() Цитата:
|
#8
|
|||
|
|||
![]() t116, про MaxLength я знаю, но это не то. Длина текста у меня не ограничена, ограничена область отображения.
|
#9
|
|||
|
|||
![]() t116,
Код:
Положить кнопку и кодом привязать ее к Edit |
#10
|
|||
|
|||
![]() Цитата:
|
#11
|
|||
|
|||
![]() Цитата:
интересно, получится ли переопределив Createparams, сделать из singleline multiline? |
#12
|
||||
|
||||
![]() Не пойму почему нельзя сделать составной компонент? Комбобокс пример такого составного компонента. Вполне удобно. Вы что в итоге хотите получить-то? Картинку хотя-бы покажите, что должно получится.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#13
|
|||
|
|||
![]() я делаю поле для ввода чисел со встроенным UpDown.
поле для ввода чисел уже готово, сейчас прикручиваю туда кнопки. делать составной компонент нехорошо в плане производительности. перед тем как начать делать свои компоненты просматривали платные библиотеки, иногда доходило до абсурда - компонент медленно работал на i5. и вот даже в этом случае, пусть это маленький компонент, но если их на форме будет 50 штук, а такое вполне допустимо, то на старых компьютерах могут быть проблемы с работой. |
#14
|
|||
|
|||
![]() сейчас застопорился на том, как повоторить реализацию свойства WrapText у TMemo. Не пойму какой стиль окна за это отвечает, пробую ES_AUTOHSCROLL - не срабатывает =\
|
#15
|
||||
|
||||
![]() Цитата:
Пишу программы за еду. __________________ |