![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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 нету