Главная страница
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.062 c
15-1156138331
default
2006-08-21 09:32
2006.09.17
Задачка


2-1156769635
AlexanderMS
2006-08-28 16:53
2006.09.17
Добавить новую кнопку TToolButton к панели инструментов TToolBar.


2-1156785114
Crazy monkey
2006-08-28 21:11
2006.09.17
Перерисовка в ttreeview


1-1154958562
webpauk
2006-08-07 17:49
2006.09.17
Расположение кнопок в ToolBar


2-1156772003
zdm
2006-08-28 17:33
2006.09.17
ShowModal