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

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

Вопрос по TEdit


alexvan ©   (2006-08-08 16:25:00) 

Уважаемые мастера! Как в TEdit отследить Event когда при вводе текста содержимое выходит за границу видимости.


Ketmar   (2006-08-09 10:03:00) [1]

> [14] AntiUser ©   (09.08.06 02:39)

не совсем одна. просто TCanvas "легче" битмапа. а в принципе -- можно и TForm создавать, у неё тоже есть холст и свойство Font. %-)

а я вообще имел в виду вариант "чистого API". %-)


AntiUser   (2006-08-09 02:43:00) [2]

Чтобы сразу не запинали. =)
aCanvas.Free; просто забыл.


AntiUser   (2006-08-09 02:39:00) [3]

Имелось ввиду:

var
 BitMap: TBitMap;
 aTextLength: integer;
begin
 BitMap := TBitMap.Create;
 try
   BitMap.Canvas.Font.Assign(Edit1.Font);
   aTextLength := BitMap.Canvas.TextWidth(Edit1.Text)
 finally
   BitMap.Free;
 end;
end;

А Вами, как я понимаю, предлагался вариант:

var
 DC:HDC;
 aCanvas: TCanvas;
 aTextLength: integer;
begin
 DC := GetDC(Edit1.Handle);
 aCanvas := TCanvas.Create;
 try
   aCanvas.Handle := DC;
   aTextLength := aCanvas.TextWidth(Edit1.Text)
 finally
   ReleaseDC(0, DC);
 end;
end;


Помоему, одна фигня =)


Ketmar   (2006-08-09 02:04:00) [4]

> [12] AntiUser ©   (09.08.06 02:01)

э... кого связать? куда связать? не понял вопроса.


AntiUser   (2006-08-09 02:01:00) [5]

Ketmar ©   (09.08.06 01:48) [10]

А нельзя создать канвас связать фонт и проверить длину?


alexvan   (2006-08-09 01:53:00) [6]

Ну хоть на этом спасибо


Ketmar   (2006-08-09 01:48:00) [7]

> [9] alexvan ©   (09.08.06 01:33)

рыть в направлении GetDC().


alexvan   (2006-08-09 01:33:00) [8]

Дело не в свойствах класса а как это класс к TEdit привязать


alexvan   (2006-08-09 01:27:00) [9]

Благодарствуйте - эта клавиша у меня красным цветом намаркерена


Ketmar   (2006-08-09 01:24:00) [10]

> [6] alexvan ©   (09.08.06 01:12)

TCanvas, f1.


alexvan   (2006-08-09 01:12:00) [11]

А можно какой-нибудь пример на TextWidth для TEdit - никогда TCanvas не использовал


grisme   (2006-08-08 18:45:00) [12]

Ketmar ©   (08.08.06 18:38) [4]
воистину не ведал, потому что не юзал...:0) СпасиСа..;0)


Ketmar   (2006-08-08 18:38:00) [13]

> [3] grisme ©   (08.08.06 18:36)

а что, TextWidth() моль побила? %-)


grisme   (2006-08-08 18:36:00) [14]

Leonid Troyanovsky ©   (08.08.06 18:31) [2]
еще наверняка придется ставить моноширинный шрифт, иначе получится неточное определение,imho да и проще будет


Leonid Troyanovsky   (2006-08-08 18:31:00) [15]


> clickmaker ©   (08.08.06 16:36) [1]

> родителю Edit (Parent) должно придти WM_COMMAND с EN_HSCROLL


Ну, это когда карет пытается эмигрировать, IMHO.
А, вообще, сравнивать в OnChange длину введенного с width.

--
Regards, LVT.


clickmaker   (2006-08-08 16:36:00) [16]

родителю Edit (Parent) должно придти WM_COMMAND с EN_HSCROLL в старшем слове wParam.
VCLной обертки в виде OnXXX нету


Наверх

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