Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Taршк Гость
|
Добавлено: Пт Фев 20 2004 18:45 Заголовок сообщения: Как в Edit ограничить число введенных символов? |
|
|
Есть элемент Edit, данные вводятся немоноширинным шрифтом и регистром. Как ограничить ввод данных по достижению конца строки? Размер эдита в пикселах есть.
LimitText(int), естесственно, не помогает. |
|
Вернуться к началу |
|
|
wildwind
Зарегистрирован: 03.02.2004 Сообщения: 268 Откуда: Москва
|
Добавлено: Пт Фев 20 2004 20:54 Заголовок сообщения: |
|
|
На чем пышешь, дарагой?! |
|
Вернуться к началу |
|
|
Taршк Гость
|
Добавлено: Сб Фев 21 2004 16:13 Заголовок сообщения: |
|
|
VC++, 7-й (.NET) |
|
Вернуться к началу |
|
|
Вася#1gsm
Зарегистрирован: 14.02.2004 Сообщения: 32
|
Добавлено: Сб Фев 21 2004 18:29 Заголовок сообщения: |
|
|
у любой canvas есть функция которая дает длину выводимого в нее текста в пикселах(надо тока задать шрифт как у едита)
на нажатие кидай текст на канву (скрытую от глаз )
затем узнаешь скока он весит в пикселах
и уж потом будешь давать запрет или добро на ввод символа...
(берешь и ограничиваешь)
если делаешь ручками......не забудь оставить возможность нажатия ДЕЛ и БЭКСПЭЙС |
|
Вернуться к началу |
|
|
Taршк Гость
|
Добавлено: Сб Фев 21 2004 19:14 Заголовок сообщения: |
|
|
Что за canvas? Привводе текста в эдит мне надо обрабатывать какое-либо сообщение или как? Поподробней можно? |
|
Вернуться к началу |
|
|
Taршк Гость
|
Добавлено: Вс Фев 22 2004 15:11 Заголовок сообщения: |
|
|
Так что, никто не сталкивался с такой проблемой??? |
|
Вернуться к началу |
|
|
Темчик Гость
|
Добавлено: Сб Мар 13 2004 12:30 Заголовок сообщения: |
|
|
У Edit есть свойство MaxLength, попробуй его... |
|
Вернуться к началу |
|
|
Вася#1gsm
Зарегистрирован: 14.02.2004 Сообщения: 32
|
Добавлено: Сб Мар 13 2004 18:28 Заголовок сообщения: |
|
|
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var wid:integer;
begin
wid:=Form1.Canvas.TextWidth(edit1.Text);
if wid > (edit1.Width-10) then key:=#$0;
end;
это на Делфи обработка keypress'а у edit'а
...только сюда надо добавить обработку нажатия backspace...
canvas:Tcanvas;
!!!! главное чтобы у canvas'а был тот же шрифт что и у edit'a |
|
Вернуться к началу |
|
|
|