![]() |
|
#1
|
|||
|
|||
![]() Имеется несколько Edit. Как сделать чтобы те поля, в кот. находится курсор подсвечивались другим цветом, но при переходе с поля на поле предыдущее становилось стандартного цвета? Спасибо.
|
#2
|
||||
|
||||
![]() если я правильно тебя понял то так. Раскажу тока схематично.
Код:
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin твоя картинка типа подсветка := визибл; end; Последний раз редактировалось Sharky, 16.10.2008 в 22:34. |
#3
|
|||
|
|||
![]() Нет.
Надо типа procedure TForm1.Edit3Enter(Sender: TObject); begin with Sender as TEdit do Font.Color:=clRed; end; procedure TForm1.Edit3Exit(Sender: TObject); begin with Sender as TEdit do Font.Color:=clWindowText; end; только в данном случае цвет шрифта в полях ввода меняется на красный в Edit, в которых находится курсор, а нужно тоже самое только чтобы цвет шрифта к примеру был черный, а менялся цвет заливки активного (т.е. в кот. находится курсор) Edita. |
#4
|
|||
|
|||
![]() А Edit.Color := clчто-то-там не пробовал?
|
#5
|
|||
|
|||
![]() Пробовал, не работает. А если поставить к примеру Edit1.Color := clRed, тогда только поле Edit1 становиться красным, и то при переходе к полю Edit2 оно так красным и остается.
|
#6
|
||||
|
||||
![]() Если не ошибаюсь Edit1.Color := clRed работает только при стандартной теме оформления Windows, также как и Label1.Color := clRed и т. п.
|
#7
|
||||
|
||||
![]() Код:
procedure TForm1.Timer1Timer(Sender: TObject); var I:Integer; Temp: TComponent; begin for I:=0 to ComponentCount-1 do begin Temp := Components[i]; if (Temp is TEdit) then begin if (Temp as TEdit).Focused then (Temp as TEdit).Color := clRed else (Temp as TEdit).Color := clWindow; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Interval:=100; Application.ProcessMessages; end; |
#8
|
|||
|
|||
![]() Код:
procedure TForm1.Edit1Enter(Sender: TObject); begin TEdit(Sender).Color := clRed; end; procedure TForm1.Edit1Exit(Sender: TObject); begin TEdit(Sender).Color := clWindow; end; Не забывайте делать резервные копии |
#9
|
|||
|
|||
![]() То что и нужно было, спасибо.
|