Главная страница
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.094 c
3-1151673867
Juice
2006-06-30 17:24
2006.09.17
Ошибка: dbexpress error 0x0005 operation not supported


2-1156403821
moor38
2006-08-24 11:17
2006.09.17
Как зная координаты ячейки в StringGrid узнать цвет ячейки?


5-1139812620
parovoZZ
2006-02-13 09:37
2006.09.17
TTreeView: освобождение памяти


1-1154875143
ancot
2006-08-06 18:39
2006.09.17
Как правильно зарегистрировать наследника TFrame


3-1152509382
Delphi basic
2006-07-10 09:29
2006.09.17
Проблемы с FIBPlus