Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

Вопрос по TEdit   Найти похожие ветки 

 
alexvan ©   (2006-08-08 16:25) [0]

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


 
clickmaker ©   (2006-08-08 16:36) [1]

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


 
Leonid Troyanovsky ©   (2006-08-08 18:31) [2]


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

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


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

--
Regards, LVT.


 
grisme ©   (2006-08-08 18:36) [3]

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


 
Ketmar ©   (2006-08-08 18:38) [4]

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

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


 
grisme ©   (2006-08-08 18:45) [5]

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


 
alexvan ©   (2006-08-09 01:12) [6]

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


 
Ketmar ©   (2006-08-09 01:24) [7]

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

TCanvas, f1.


 
alexvan ©   (2006-08-09 01:27) [8]

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


 
alexvan ©   (2006-08-09 01:33) [9]

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


 
Ketmar ©   (2006-08-09 01:48) [10]

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

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


 
alexvan ©   (2006-08-09 01:53) [11]

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


 
AntiUser ©   (2006-08-09 02:01) [12]

Ketmar ©   (09.08.06 01:48) [10]

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


 
Ketmar ©   (2006-08-09 02:04) [13]

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

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


 
AntiUser ©   (2006-08-09 02:39) [14]

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

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;


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


 
AntiUser ©   (2006-08-09 02:43) [15]

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


 
Ketmar ©   (2006-08-09 10:03) [16]

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.071 c
15-1156709569
Дураг
2006-08-28 00:12
2006.09.17
Встретишь феминистку – убей ее или лекарство от феминизма.


2-1156598583
Wiedzmin
2006-08-26 17:23
2006.09.17
Суммирование данных.Ошибка в коде?


15-1156838901
memo
2006-08-29 12:08
2006.09.17
поле char c пробелами....


2-1156386753
OlegM
2006-08-24 06:32
2006.09.17
Как добавить свое меню в проводник


4-1147929968
vodvorezlaya
2006-05-18 09:26
2006.09.17
Помогите разобраться с COM портом