Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.054 c
15-1156226937
Некто
2006-08-22 10:08
2006.09.17
Воздушное охлаждение системного блока


9-1134788983
keht
2005-12-17 06:09
2006.09.17
Теория автомобиля...


11-1132642153
MTsv DN
2005-11-22 09:49
2006.09.17
Удержание кнопки мыши и кнопки...


15-1156191797
Piter
2006-08-22 00:23
2006.09.17
Методы работы антивирусных почтовых сканеров


2-1156446205
тыкв
2006-08-24 23:03
2006.09.17
and двух word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский