![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Я хочу изменить способ отображения текста в TEdit, как?
Kolan © (2007-02-09 21:20:00)Здравствуйте,
Хочу написать наследникаTEditи изменть рисование текста. Какой метод пререкрыть?
Например уTStringGridестьDrawGridCell, а что уTEdit?
unknown (2007-02-09 22:16:00) [21]
> Kolan © (09.02.07 21:45) [7]
А почему бы не реализовать свой TSuperEdit? Как минимум, реализацию можно подсмотреть в jedi.
TUser (2007-02-09 21:46:00) [22]Edit1.Font.Color - глянь реализацию.
Kolan (2007-02-09 21:45:00) [23]Вот нашел:
procedure RJustifyEdit(var ThisEdit : TEdit);
var
Left, Width : Integer;
GString : String;
Rgn : TRect;
TheCanvas : TControlCanvas;
begin
TheCanvas := TControlCanvas.Create;
try
TheCanvas.Control := ThisEdit;
GString := ThisEdit.Text;
Rgn := ThisEdit.ClientRect;
TheCanvas.FillRect(Rgn);
Width := TheCanvas.TextWidth(GString);
Left := Rgn.Right Width 1;
TheCanvas.TextRect(Rgn, Left, 0, GString);
finally
TheCanvas.Free;
end ;
end;
Правильно? В сторону TControlCanvas копать, да?
Kolan (2007-02-09 21:41:00) [24]«[5] vasIZmax © (09.02.07 21:40)
имхо, а готовые подобные компоненты не вариант использовать?
))»
Не, не все сам :)
vasIZmax (2007-02-09 21:40:00) [25]имхо, а готовые подобные компоненты не вариант использовать?))
Kolan (2007-02-09 21:39:00) [26]Вот что я хочу:
Допустим при изменении(Change) проверять флаг и если влаг стоит, то вывести в Эдит надпись.
Но вывести не с помошью Text, а просто нарисовать на конве. Как сие сделать?
Kolan (2007-02-09 21:33:00) [27]«Edit его винда рисует.»
Как разобраться в том как именно происходит это рисование.
Kolan (2007-02-09 21:29:00) [28]«[1] TUser © (09.02.07 21:27)
Edit его винда рисует.»
Ладно. Можно ли как то ловить какое-то сообщение и изменять допустим цвет шрифта? Как?
TUser (2007-02-09 21:27:00) [29]Edit - его винда рисует.